1 2009-09-08 Steve VanDeBogart <vandebo@chromium.org>
3 Reviewed by Eric Seidel.
5 Handle middle click in Chromium like QT
6 https://bugs.webkit.org/show_bug.cgi?id=28696
8 Tested by middle-click-onpaste.html.
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::):
24 2009-09-08 Kelly Norton <knorton@google.com>
26 Reviewed by Eric Seidel.
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
34 * WebCore.xcodeproj/project.pbxproj:
36 (WebCore::Document::recalcStyle):
38 (WebCore::Document::inspectorTimelineAgent):
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.
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):
109 (WebCore::FrameView::inspectorTimelineAgent):
111 (WebCore::Page::inspectorTimelineAgent):
114 2009-09-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
116 Reviewed by Simon Hausmann.
118 [Qt] Fix unused variable warnings
119 https://bugs.webkit.org/show_bug.cgi?id=29018
121 No functional change, no tests.
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):
130 2009-09-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
132 Reviewed by Ariya Hidayat.
134 [Qt] Use the declaration order in initializer lists
135 https://bugs.webkit.org/show_bug.cgi?id=29017
137 No functional change, no new tests.
139 * platform/graphics/qt/FontCacheQt.cpp:
140 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
141 * platform/network/qt/QNetworkReplyHandler.cpp:
142 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
144 2009-09-08 Kent Tamura <tkent@chromium.org>
146 Reviewed by Eric Seidel.
148 Implement ValidityState::typeMismatch() for <input type=number>.
149 https://bugs.webkit.org/show_bug.cgi?id=28934
151 Test: fast/forms/ValidityState-typeMismatch-number.html
153 * html/HTMLInputElement.cpp:
154 (WebCore::HTMLInputElement::formStringToDouble):
155 * html/HTMLInputElement.h:
156 * html/ValidityState.cpp:
157 (WebCore::ValidityState::typeMismatch):
158 * html/ValidityState.h:
160 2009-09-08 Andras Becsi <becsi.andras@stud.u-szeged.hu>
162 Reviewed by Gustavo Noronha.
164 [Gtk] Another attempt of a buildfix.
166 * GNUmakefile.am: Modified. Remove some extra IDL files added in r48153.
168 2009-09-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
170 Reviewed by Simon Hausmann.
172 [Qt] Make cursor set cleaner in QtWebKit Api: eliminate SetCursorEvent hack.
173 https://bugs.webkit.org/show_bug.cgi?id=28865
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.
181 Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> and
182 Antonio Gomes <antonio.gomes@openbossa.org> on 2009-09-07
184 * platform/qt/WidgetQt.cpp:
185 (WebCore::Widget::setCursor):
187 2009-09-08 Andras Becsi <becsi.andras@stud.u-szeged.hu>
189 Reviewed by Gustavo Noronha.
191 [Gtk] Buildfix for build error introduced in r48150.
193 * GNUmakefile.am: Modified. Added missing IDL files.
195 2009-09-08 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
197 Reviewed by Tor Arne Vestbø.
199 [Qt] Buildfix. Build error caused by r48150.
201 * WebCore.pro: missing IDL files added
203 2009-09-07 Chris Marrin <cmarrin@apple.com>
205 Reviewed by Oliver Hunt.
207 Update Canvas 3D implementation to match spec
208 https://bugs.webkit.org/show_bug.cgi?id=29010
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.
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):
459 2009-09-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
461 Reviewed by Timothy Hatcher.
463 Make m_windowVisible more consistent with the actual visibility of the inspector.
465 * inspector/InspectorController.cpp:
466 (WebCore::InspectorController::setWindowVisible):
468 2009-09-07 Adam Barth <abarth@webkit.org>
470 Unreviewed speculative build fix for Snow Leopard.
472 * platform/GeolocationService.cpp:
473 (WebCore::createGeolocationServiceNull):
475 2009-09-07 Steve Block <steveblock@google.com>
477 Reviewed by Adam Barth.
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
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.
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.
494 Test: fast/dom/Geolocation/error.html
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.
536 2009-09-07 Adam Barth <abarth@webkit.org>
538 Reviewed by Dimitri Glazkov.
540 https://bugs.webkit.org/show_bug.cgi?id=28985
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.
546 In the long term, we should think about a better algorithm for
547 computing the script context.
549 Fixes LayoutTests/http/tests/xmlhttprequest/detaching-frame-2.html
551 * bindings/v8/V8Proxy.cpp:
552 (WebCore::V8Proxy::retrieveFrame):
554 2009-09-07 Kevin Ollivier <kevino@theolliviers.com>
556 wx build fix for 2.8 compilation.
558 * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
559 (wxRenderer_DrawScrollbar):
561 2009-09-07 Drew Wilson <atwilson@google.com>
563 Unreviewed build fix.
565 Reverting r48121 to fix Windows build errors.
567 * DerivedSources.cpp:
569 * WebCore.xcodeproj/project.pbxproj:
570 * bindings/js/JSDOMWindowCustom.cpp:
571 * bindings/js/JSEventTarget.cpp:
573 (WebCore::toEventTarget):
574 * dom/EventTarget.cpp:
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.
609 2009-09-07 Drew Wilson <atwilson@google.com>
611 Unreviewed speculative build fix.
613 Reverted previous build fix as it didn't fix the problem.
615 * bindings/js/JSEventTarget.cpp:
616 (WebCore::toEventTarget):
618 2009-09-07 Laszlo Gombos <laszlo.1.gombos@nokia.com>
620 Unreviewed, build fix.
622 [Qt] Fix build after SHARED_WORKERS are enabled by default (r48131)
626 2009-09-07 Drew Wilson <atwilson@google.com>
628 Unreviewed build fix.
630 Temporarily removed depenency between JSEventTarget.cpp and WebSocket.h in an attempt to fix a windows build break.
632 * bindings/js/JSEventTarget.cpp:
633 (WebCore::toEventTarget):
635 2009-09-07 Drew Wilson <atwilson@google.com>
637 Reviewed by David Levin.
639 Enable SHARED_WORKERS by default.
640 https://bugs.webkit.org/show_bug.cgi?id=28959
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
664 * config.h: Removed some whitespace/touched the file to force a full rebuild on the build-bots.
665 * Configurations/FeatureDefines.xcconfig:
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.
677 2009-09-07 Xan Lopez <xlopez@igalia.com>
679 Unreviewed build fix.
681 Add new file to sources list.
685 2009-09-07 Kevin Ollivier <kevino@theolliviers.com>
687 wx build fixes for wx SVN trunk.
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):
697 2009-09-07 Chris Hills <chaz@chaz6.com>
699 Reviewed by Tor Arne Vestbø.
701 [Qt] Use direct includes for Phonon, not the pretty ones
703 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
705 2009-09-07 Fumitoshi Ukai <ukai@chromium.org>
707 Reviewed by Alexey Proskuryakov.
709 WebSocket API implementation.
710 https://bugs.webkit.org/show_bug.cgi?id=28038
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.
716 * DerivedSources.cpp:
718 * WebCore.xcodeproj/project.pbxproj:
719 * bindings/js/JSDOMWindowCustom.cpp:
720 (WebCore::JSDOMWindow::webSocket):
721 * bindings/js/JSEventTarget.cpp:
723 (WebCore::toEventTarget):
724 * dom/EventTarget.cpp:
725 (WebCore::EventTarget::toWebSocket):
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.
765 2009-09-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
767 Reviewed by Xan Lopez.
769 https://bugs.webkit.org/show_bug.cgi?id=26854
770 [GTK] Needs API to allow more control over outgoing requests
772 Add infrastructure required to provide the new
773 WebKitNetworkResponse object in our API.
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):
782 2009-09-07 Mads Ager <ager@chromium.org>
784 Reviewed by Adam Barth.
786 [V8] Cleanup document/frame null-checking in V8DOMWindowCustom.cpp
787 https://bugs.webkit.org/show_bug.cgi?id=29009
789 Be consistent in document and frame null checks.
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):
799 2009-09-07 Xan Lopez <xlopez@igalia.com>
801 Reviewed by Gustavo Noronha.
803 [Soup] Limit the number of connections
804 https://bugs.webkit.org/show_bug.cgi?id=18431
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.
810 * platform/network/soup/ResourceHandleSoup.cpp:
811 (WebCore::ensureSessionIsInitialized):
813 2009-09-07 Michael Nordman <michaeln@google.com>
815 Reviewed by Darin Fisher.
817 Various minor chromium appcache modifications.
818 https://bugs.webkit.org/show_bug.cgi?id=28960
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):
844 2009-09-07 Michael Nordman <michaeln@google.com>
846 Reviewed by Alexey Proskuryakov.
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.
854 Test: http/tests/appcache/disabled.html
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):
864 2009-09-06 Yael Aharon <yael.aharon@nokia.com>
866 Reviewed by Darin Adler.
868 hostname and host are mixed up when manipulating anchor elements.
869 https://bugs.webkit.org/show_bug.cgi?id=28954
871 handle the case of port 0.
873 * html/HTMLAnchorElement.cpp:
874 (WebCore::HTMLAnchorElement::host):
876 2009-09-06 Erik Arvidsson <arv@chromium.org>
878 Reviewed by Eric Seidel.
880 Make hidden elements not focusable.
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.
888 Make a elements without href work correctly as well.
890 https://bugs.webkit.org/show_bug.cgi?id=27099
892 Tests: fast/events/click-focus-anchor.html
893 fast/events/tab-focus-anchor.html
894 fast/events/tab-focus-hidden.html
897 (WebCore::Element::focus):
899 (WebCore::Node::supportsFocus):
900 (WebCore::Node::isFocusable):
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):
943 * wml/WMLFormControlElement.cpp:
944 (WebCore::WMLFormControlElement::supportsFocus):
945 (WebCore::WMLFormControlElement::isFocusable):
946 * wml/WMLFormControlElement.h:
948 2009-09-06 Joel Stanley <joel@jms.id.au>
950 Reviewed by Dimitri Glazkov.
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
959 * rendering/RenderThemeChromiumLinux.cpp:
960 (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
961 (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
962 (WebCore::RenderThemeChromiumLinux::caretBlinkIntervalInternal):
963 * rendering/RenderThemeChromiumLinux.h:
965 2009-09-06 Ada Chan <adachan@apple.com>
967 Remove an extra </File> in WebCore.vcproj.
969 * WebCore.vcproj/WebCore.vcproj:
971 2009-09-06 Timothy Hatcher <timothy@apple.com>
973 Adds a persistent setting for color format in the Web Inspector.
975 https://bugs.webkit.org/show_bug.cgi?id=28889
977 Reviewed by Dan Bernstein.
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.
995 2009-09-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
997 Reviewed by Eric Seidel.
999 [Qt] Remove Qt v4.6 check from the prefetchDNS implementation
1000 https://bugs.webkit.org/show_bug.cgi?id=28993
1002 * platform/network/qt/DnsPrefetchHelper.cpp:
1003 * platform/network/qt/DnsPrefetchHelper.h:
1005 2009-09-06 Cameron McCormack <cam@mcc.id.au>
1007 Reviewed by Eric Seidel.
1009 Drop <definition-src> support
1010 https://bugs.webkit.org/show_bug.cgi?id=28991
1012 http://dev.w3.org/SVG/profiles/1.1F2/publish/changes.html#FontsChapter
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.
1037 2009-09-05 Dimitri Glazkov <dglazkov@chromium.org>
1039 Unreviewed, build fix.
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.
1045 * rendering/RenderThemeChromiumLinux.cpp:
1046 * rendering/RenderThemeChromiumLinux.h:
1048 2009-09-05 Jian Li <jianli@chromium.org>
1050 Reviewed by NOBODY (Chromium reliability build break).
1052 Back up partial change in r48072 in order to fix chromium reliability build break.
1054 * bindings/v8/V8AbstractEventListener.cpp:
1055 (WebCore::V8AbstractEventListener::invokeEventHandler):
1057 2009-09-05 Nicolas Weber <thakis@chromium.org>
1059 Reviewed by Darin Fisher.
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
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().
1085 2009-09-05 Joel Stanley <joel@jms.id.au>
1087 Reviewed by David Levin.
1089 Expose functions to set the caret blink interval for Linux Chromium.
1090 https://bugs.webkit.org/show_bug.cgi?id=28931
1092 * rendering/RenderThemeChromiumLinux.cpp:
1093 (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
1094 (WebCore::RenderThemeChromiumLinux::caretBlinkInterval):
1095 * rendering/RenderThemeChromiumLinux.h:
1097 2009-09-04 Dmitry Titov <dimich@chromium.org>
1099 Reviewed by David Levin.
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
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).
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.
1124 2009-09-04 Anders Carlsson <andersca@apple.com>
1126 Reviewed by Adele Peterson.
1128 <rdar://problem/7201063>
1130 Detach any custom scrollbars before detaching the document.
1133 (WebCore::Frame::setView):
1135 2009-09-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1137 Unreviewed, build fix.
1139 Remove remaining references to UserStyleSheetLoader after r48075.
1142 * WebCore.xcodeproj/project.pbxproj:
1143 * page/qt/FrameQt.cpp:
1144 * page/wince/FrameWince.cpp:
1146 2009-09-04 Michelangelo De Simone <micdesim@gmail.com>
1148 Reviewed by David Levin.
1150 https://bugs.webkit.org/show_bug.cgi?id=28988
1151 Minor fix: "novalidate" attribute renamed in "noValidate", according to
1153 http://www.whatwg.org/specs/web-apps/current-work/#dom-fs-novalidate
1155 * html/HTMLFormElement.cpp:
1156 (WebCore::HTMLFormElement::noValidate):
1157 (WebCore::HTMLFormElement::setNoValidate):
1158 * html/HTMLFormElement.h:
1159 * html/HTMLFormElement.idl:
1161 2009-09-04 Dmitry Titov <dimich@chromium.org>
1163 Reviewed by David Levin.
1165 Remove unused line of code from WorkerContext
1166 https://bugs.webkit.org/show_bug.cgi?id=28990
1168 * workers/WorkerContext.cpp:
1169 (WebCore::WorkerContext::importScripts):
1171 2009-09-04 Darin Adler <darin@apple.com>
1173 Reviewed by Oliver Hunt.
1175 Fix assertion seen when running buildbot.
1177 * bindings/js/JSDOMBinding.h:
1178 (WebCore::DOMObjectWithGlobalPointer::createStructure): Create the structure without
1179 the HasDefaultMark bit since this has a custom mark function.
1181 2009-09-04 Dave Hyatt <hyatt@apple.com>
1183 Reviewed by Adam Roben.
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.
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.
1192 Tor Arne agreed it was ok to disable (he enabled it on the Qt side), and only Mac/Qt were using this
1196 * WebCore.xcodeproj/project.pbxproj:
1198 (WebCore::Document::userStyleSheet):
1200 * loader/FrameLoader.cpp:
1201 (WebCore::FrameLoader::begin):
1202 * loader/UserStyleSheetLoader.cpp: Removed.
1203 * loader/UserStyleSheetLoader.h: Removed.
1205 (WebCore::Frame::reapplyStyles):
1208 (WebCore::Page::userStyleSheetLocationChanged):
1209 (WebCore::Page::userStyleSheet):
1210 * page/mac/FrameMac.mm:
1211 * page/qt/FrameQt.cpp:
1213 2009-09-04 Mikhail Naganov <mnaganov@chromium.org>
1215 Reviewed by Timothy Hatcher.
1217 Add "sampling profiler" preference, simplify data display when it's set.
1219 https://bugs.webkit.org/show_bug.cgi?id=28969
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:
1228 2009-09-04 Jian Li <jianli@chromium.org>
1230 Reviewed by Adam Barth.
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
1235 Tested by worker-close.html.
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):
1256 2009-09-04 Dave Hyatt <hyatt@apple.com>
1258 Reviewed by Anders Carlsson.
1260 Remove unused m_sheet variable and setCSSStyleSheet methods.
1265 2009-09-04 Anders Carlsson <andersca@apple.com>
1267 Reviewed by David Hyatt and Adele Peterson.
1269 (Based on a patch from Adele).
1271 Fix <rdar://problem/7185875>.
1274 (WebCore::Frame::setView):
1275 Detach any custom scroll bars from the old view.
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.
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.
1286 2009-09-04 Dave Hyatt <hyatt@apple.com>
1288 Reviewed by Adam Roben.
1290 Make m_userStyleSheetLoader in Frame an OwnPtr.
1293 (WebCore::Frame::Frame):
1294 (WebCore::Frame::~Frame):
1296 * page/mac/FrameMac.mm:
1297 (WebCore::Frame::setUserStyleSheetLocation):
1298 (WebCore::Frame::setUserStyleSheet):
1300 2009-09-04 Timothy Hatcher <timothy@apple.com>
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.
1305 https://bugs.webkit.org/show_bug.cgi?id=28978
1307 Reviewed by Darin Adler.
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:
1325 2009-09-04 Mark Mentovai <mark@chromium.org>
1327 Reviewed by Dave Hyatt.
1329 https://bugs.webkit.org/show_bug.cgi?id=28614
1331 Account for scrollbar state changes that occur during layout.
1333 * platform/ScrollView.cpp:
1334 (WebCore::ScrollView::updateScrollbars):
1336 Perform a layout prior to checking whether the scrollbar modes are
1337 off, on, or automatic. The modes may change during layout.
1342 (WebCore::Frame::createView):
1343 * page/FrameView.cpp:
1344 (WebCore::FrameView::FrameView):
1345 (WebCore::FrameView::resetScrollbars):
1346 (WebCore::FrameView::layout):
1348 * platform/ScrollView.h:
1350 Eliminate duplicated (and incorrect) scrollbar mode tracking between
1351 FrameView and ScrollView.
1353 2009-09-04 Yael Aharon <yael.aharon@nokia.com>
1355 Reviewed by Darin Adler.
1357 hostname and host are mixed up when manipulating anchor elements.
1358 https://bugs.webkit.org/show_bug.cgi?id=28954
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.
1364 Test: fast/dom/Element/hostname-host.html
1366 * html/HTMLAnchorElement.cpp:
1367 (WebCore::HTMLAnchorElement::host):
1368 (WebCore::HTMLAnchorElement::hostname):
1369 * page/SecurityOrigin.cpp:
1370 (WebCore::SecurityOrigin::isDefaultPortForProtocol):
1371 * page/SecurityOrigin.h:
1373 2009-09-04 Anders Carlsson <andersca@apple.com>
1375 Reviewed by Darin Adler and Steve Falkenburg.
1377 Fix <rdar://problem/7192902>.
1379 Add the necessary plumbing for having QTMovieWin use WebCore timers.
1381 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1382 (WebCore::TaskTimer::initialize):
1383 Create the timer and call QTMovieWin::setTaskTimerFuncs.
1385 (WebCore::TaskTimer::setTaskTimerDelay):
1388 (WebCore::TaskTimer::stopTaskTimer):
1391 (WebCore::TaskTimer::fired):
1392 Call QTMovieWin::taskTimerFired().
1394 (WebCore::MediaPlayerPrivate::load):
1395 Initialize the Task timer.
1397 * platform/graphics/win/QTMovieWin.cpp:
1399 Call the global stopTaskTimer function and setTaskTimerDelay.
1401 (QTMovieWin::taskTimerFired):
1402 Make this a member function.
1404 (QTMovieWin::setTaskTimerFuncs):
1405 Set the global function pointers.
1407 (QTMovieWin::initializeQuickTime):
1409 No need to use the QT shared timer.
1410 * platform/graphics/win/QTMovieWin.h:
1412 2009-09-04 Tony Chang <tony@chromium.org>
1414 Reviewed by David Levin.
1416 Fix Chromium Win compile. Missing return statement in
1417 WebCore::RenderThemeChromiumSkia::paintSliderThumb.
1418 https://bugs.webkit.org/show_bug.cgi?id=28974
1420 No new tests, build fix.
1422 * rendering/RenderThemeChromiumSkia.cpp:
1423 (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
1425 2009-09-04 Dimitri Glazkov <dglazkov@chromium.org>
1427 Unreviewed, build fix.
1429 [Chromium] Rolling out http://trac.webkit.org/changeset/48035, because it broke
1431 https://bugs.webkit.org/show_bug.cgi?id=28696
1433 2009-09-04 Anders Carlsson <andersca@apple.com>
1437 * WebCore.vcproj/WebCore.vcproj:
1439 2009-09-03 Dave Hyatt <hyatt@apple.com>
1441 Reviewed by Adam Roben.
1443 https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
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
1449 Added userscripts/ directory for holding new tests (along with a simple test of script injection).
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):
1464 (WebCore::Frame::injectUserScripts):
1465 (WebCore::Frame::injectUserScriptsForWorld):
1467 * page/PageGroup.cpp:
1468 (WebCore::PageGroup::~PageGroup):
1469 (WebCore::PageGroup::addUserScript):
1470 (WebCore::PageGroup::removeUserContentForWorld):
1471 (WebCore::PageGroup::removeAllUserContent):
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.
1484 2009-09-04 Alexey Proskuryakov <ap@apple.com>
1486 Reviewed by Eric Seidel.
1488 https://bugs.webkit.org/show_bug.cgi?id=26402
1489 Crashes when using a detached DocumentType node
1491 Test: fast/dom/DOMImplementation/detached-doctype.html
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.
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
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).
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.
1511 2009-09-04 Xan Lopez <xlopez@igalia.com>
1513 Reviewed by Gustavo Noronha.
1515 [GTK] loadFinished never emitted
1516 https://bugs.webkit.org/show_bug.cgi?id=28935
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.
1524 * platform/network/soup/ResourceHandleSoup.cpp:
1525 (WebCore::startHttp):
1528 2009-09-04 Ben Murdoch <benm@google.com>
1530 Reviewed by Eric Seidel.
1532 [V8] DOM Storage bindings: Event Handler should create StorageEvents
1533 https://bugs.webkit.org/show_bug.cgi?id=28942
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
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.
1555 2009-09-03 Pavel Feldman <pfeldman@chromium.org>
1557 Reviewed by Timothy Hatcher.
1559 https://bugs.webkit.org/show_bug.cgi?id=28911
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:
1601 2009-09-04 Tony Chang <tony@chromium.org>
1603 Reviewed by Eric Seidel.
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
1609 Covered by existing tests (we're currently hitting an assert for them).
1611 * rendering/RenderThemeChromiumLinux.cpp:
1612 (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
1613 * rendering/RenderThemeChromiumLinux.h:
1614 * rendering/RenderThemeChromiumSkia.cpp:
1615 (WebCore::drawVertLine):
1616 (WebCore::drawHorizLine):
1618 (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
1619 (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
1620 * rendering/RenderThemeChromiumSkia.h:
1622 2009-09-04 Kent Tamura <tkent@chromium.org>
1624 Reviewed by Eric Seidel.
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
1630 Tests: fast/forms/ValidityState-patternMismatch-unsupported.html
1631 fast/forms/ValidityState-typeMismatch-color.html
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:
1657 2009-09-04 Mads Ager <ager@chromium.org>
1659 Reviewed by David Levin.
1661 [V8] Crash when updating document cache
1662 https://bugs.webkit.org/show_bug.cgi?id=28965
1664 Initialization of a V8 JavaScript context can fail. When that
1665 happens, do not attempt to update the document wrapper cache.
1667 This code path is exercised by http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html.
1669 * bindings/v8/V8Proxy.cpp:
1670 (WebCore::V8Proxy::updateDocument):
1672 2009-09-04 Yaar Schnitman <yaar@chromium.org>
1674 Reviewed by Eric Seidel.
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).
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).
1688 An existing layout test that accepted wrong order and skipped position test
1691 * css/CSSMutableStyleDeclaration.cpp:
1692 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
1694 2009-09-03 Kent Tamura <tkent@chromium.org>
1696 Reviewed by David Levin.
1698 Add support for HTMLTextAreaElement.textLength
1699 https://bugs.webkit.org/show_bug.cgi?id=28929
1701 Test: fast/forms/textarea-textlength.html
1703 * html/HTMLTextAreaElement.h:
1704 (WebCore::HTMLTextAreaElement::textLength):
1705 * html/HTMLTextAreaElement.idl:
1707 2009-09-03 Alexey Proskuryakov <ap@apple.com>
1709 Reviewed by Darin Adler.
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
1714 Test: fast/dom/DOMImplementation/createDocument-with-used-doctype.html
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.
1720 2009-09-03 Brady Eidson <beidson@apple.com>
1722 Reviewed by Sam Weinig.
1724 Page Cache should support pages with Frames.
1725 https://bugs.webkit.org/show_bug.cgi?id=13631
1727 Tests: fast/events/pageshow-pagehide-on-back-cached-with-frames.html
1728 fast/loader/frames-with-unload-handlers-in-page-cache.html
1730 * loader/FrameLoader.cpp:
1731 (WebCore::FrameLoader::canCachePageContainingThisFrame):
1732 (WebCore::FrameLoader::logCanCacheFrameDecision):
1734 2009-09-03 Steve VanDeBogart <vandebo@chromium.org>
1736 Reviewed by Eric Seidel.
1738 Handle middle click in Chromium like QT
1739 https://bugs.webkit.org/show_bug.cgi?id=28696
1741 Tested by middle-click-onpaste.html.
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::):
1757 2009-09-03 Brady Eidson <beidson@apple.com>
1759 Reviewed by Sam Weinig.
1761 More partial work towards "Page Cache should support pages with Frames"
1762 https://bugs.webkit.org/show_bug.cgi?id=13631
1764 Fix a bug where subframes weren't asked if they were cacheable.
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.
1769 * loader/FrameLoader.cpp:
1770 (WebCore::FrameLoader::canCachePageContainingThisFrame):
1772 2009-09-03 Adam Barth <abarth@webkit.org>
1774 Reviewed by eric@webkit.org.
1776 https://bugs.webkit.org/show_bug.cgi?id=24696
1778 Added mixed content methods to FrameLoaderClient.
1780 * loader/EmptyClients.h:
1781 (WebCore::EmptyFrameLoaderClient::didDisplayInsecureContent):
1782 (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
1783 * loader/FrameLoaderClient.h:
1785 2009-09-03 Kevin Watters <kevinwatters@gmail.com>
1787 Reviewed by Kevin Ollivier.
1790 https://bugs.webkit.org/show_bug.cgi?id=19041
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.
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):
1840 2009-09-03 Yael Aharon <yael.aharon@nokia.com>
1842 Reviewed by Simon Hausmann.
1844 [Qt] Page content is not displayed in case of HTTP status error
1845 https://bugs.webkit.org/show_bug.cgi?id=28949
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.
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:
1857 2009-09-03 Drew Wilson <atwilson@google.com>
1859 Reviewed by Dimitri Glazkov.
1861 Need to update v8 bindings to support passing multiple ports to postMessage()
1862 https://bugs.webkit.org/show_bug.cgi?id=28839
1864 Added support for passing MessagePortArray to v8 bindings.
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
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.
1897 2009-09-03 Drew Wilson <atwilson@google.com>
1899 Reviewed by Sam Weinig.
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
1904 Added new toJSSequence() API which validates that a JSValue meets the WebIDL criteria for a sequence.
1906 Tests: fast/events/message-port-multi.html
1907 fast/workers/worker-context-multi-port.html
1908 fast/workers/worker-multi-port.html
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).
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:
1960 * workers/Worker.idl:
1961 Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
1963 2009-09-03 Pavel Feldman <pfeldman@chromium.org>
1965 Reviewed by Timothy Hatcher.
1967 WebInspector: Do not query non-function call frames for function name.
1969 https://bugs.webkit.org/show_bug.cgi?id=28799
1971 * inspector/front-end/InjectedScript.js:
1972 (InjectedScript.CallFrameProxy):
1973 (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
1975 2009-09-03 Pavel Feldman <pfeldman@chromium.org>
1977 Reviewed by Timothy Hatcher.
1979 Crash after typing "clear" and pressing return in inspector console.
1981 https://bugs.webkit.org/show_bug.cgi?id=28684
1983 * inspector/front-end/InjectedScript.js:
1984 (InjectedScript._clearConsoleMessages):
1985 (InjectedScript._inspectObject):
1986 (InjectedScript._ensureCommandLineAPIInstalled):
1988 2009-09-03 Vitaly Repeshko <vitalyr@chromium.org>
1990 Reviewed by Adam Barth.
1992 [V8] Squeezed out some performance from string conversion.
1993 https://bugs.webkit.org/show_bug.cgi?id=28945
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
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.
2019 2009-09-03 Vitaly Repeshko <vitalyr@chromium.org>
2021 Reviewed by Adam Barth.
2023 [V8] Inlined common case of V8IsolatedWorld::getEntered to speed
2025 https://bugs.webkit.org/show_bug.cgi?id=28946
2027 * bindings/v8/V8IsolatedWorld.cpp:
2028 (WebCore::V8IsolatedWorld::getEnteredImpl):
2029 * bindings/v8/V8IsolatedWorld.h:
2030 (WebCore::V8IsolatedWorld::getEntered):
2032 2009-09-03 Kent Tamura <tkent@chromium.org>
2034 Reviewed by Eric Seidel.
2036 Fix a regression bug that maxLength doesn't work for IME input.
2037 https://bugs.webkit.org/show_bug.cgi?id=25253
2039 Tests: fast/forms/input-maxlength-ime-completed.html
2040 fast/forms/input-maxlength-ime-preedit.html
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):
2050 2009-09-03 Cameron McCormack <cam@mcc.id.au>
2052 Reviewed by Eric Seidel.
2054 Make SVGStyleElement title/media/type setters do something
2055 https://bugs.webkit.org/show_bug.cgi?id=28828
2057 Test: svg/dom/style-reflect.html
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.
2065 2009-09-03 Ben Murdoch <benm@google.com>
2067 https://bugs.webkit.org/show_bug.cgi?id=28872
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.
2071 Test: storage/statement-error-callback.html
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.
2076 2009-09-03 Maxime Simon <simon.maxime@gmail.com>
2078 Reviewed by Eric Seidel.
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
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):
2099 2009-09-02 Brady Eidson <beidson@apple.com>
2101 Reviewed by Darin Adler.
2103 More partial work towards "Page Cache should support pages with Frames"
2104 https://bugs.webkit.org/show_bug.cgi?id=13631
2106 No new tests. (No change in behavior, current tests pass).
2108 * loader/DocumentLoader.cpp:
2109 (WebCore::DocumentLoader::stopLoading): Adopt the new enum form for FrameLoader::stopLoading().
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:
2121 * loader/FrameLoaderTypes.h: Add an UnloadEventPolicy enum.
2123 2009-09-02 Brady Eidson <beidson@apple.com>
2125 Reviewed by Darin Adler.
2127 More partial work towards "Page Cache should support pages with Frames"
2128 https://bugs.webkit.org/show_bug.cgi?id=13631
2130 - More CachedFrame destruction work.
2131 - Including related Frame and FrameLoader changes and cleanup.
2133 No new tests. (No change in behavior, current tests pass).
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.
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
2150 (WebCore::FrameLoader::detachFromParent): Use the new detachViewsAndDocumentLoader() call
2151 (WebCore::FrameLoader::detachViewsAndDocumentLoader): Does lightweight cleanup of client (WebKit) objects.
2152 * loader/FrameLoader.h:
2155 (WebCore::Frame::detachFromPage): Simply clear the Page pointer without doing any other work.
2156 (WebCore::Frame::pageDestroyed): Use the new detachFromPage().
2159 2009-09-02 Jungshik Shin <jshin@chromium.org>
2161 Reviewed by Dimitri Glazkov
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.
2167 https://bugs.webkit.org/show_bug.cgi?id=28410
2169 No change in the test result.
2171 * platform/graphics/chromium/FontLinux.cpp:
2172 (WebCore::TextRunWalker::getNormalizedTextRun):
2174 2009-09-02 Dimitri Glazkov <dglazkov@chromium.org>
2176 Unreviewed, build fix.
2178 [Chromium] Correct a typo to fix bustage, caused by r47991.
2179 https://bugs.webkit.org/show_bug.cgi?id=27933
2181 * platform/graphics/skia/ImageBufferSkia.cpp: Changed "Unpremultipled" to "Unmultiplied".
2183 2009-09-02 Dimitri Glazkov <dglazkov@chromium.org>
2185 Unreviewed, build fix.
2187 [Chromium] Add a missing include to fix bustage, caused by r47991.
2188 https://bugs.webkit.org/show_bug.cgi?id=27933
2190 * platform/graphics/skia/ImageBufferSkia.cpp: Added SkColorPriv include.
2192 2009-09-02 Jian Li <jianli@chromium.org>
2194 Reviewed by Dimitri Glazkov.
2196 [Chromium] Implement file support for DragData.
2197 https://bugs.webkit.org/show_bug.cgi?id=28896
2199 * platform/chromium/DragDataChromium.cpp:
2200 (WebCore::DragData::containsURL):
2201 (WebCore::DragData::asURL):
2202 (WebCore::DragData::containsCompatibleContent):
2204 2009-09-02 Kevin Watters <kevinwatters@gmail.com>
2206 Reviewed by Kevin Ollivier.
2208 Protect libcurl shared data with Mutex objects via curl_set_share_opt.
2209 https://bugs.webkit.org/show_bug.cgi?id=28920
2211 * platform/network/curl/ResourceHandleManager.cpp:
2212 (WebCore::sharedResourceMutex):
2213 (WebCore::curl_lock_callback):
2214 (WebCore::curl_unlock_callback):
2215 (WebCore::ResourceHandleManager::ResourceHandleManager):
2217 2009-09-02 Evan Stade <estade@chromium.org>
2219 Reviewed by Eric Seidel.
2221 Expose functions to change the focus ring color for Linux Chromium
2223 https://bugs.webkit.org/show_bug.cgi?id=28887
2225 * rendering/RenderThemeChromiumLinux.cpp:
2226 (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
2227 (WebCore::RenderThemeChromiumLinux::setFocusRingColor):
2228 (WebCore::RenderThemeChromiumLinux::platformFocusRingColor):
2229 * rendering/RenderThemeChromiumLinux.h:
2231 2009-09-02 Dirk Schulze <krit@webkit.org>
2233 Reviewed by Eric Seidel.
2235 SVG Filter premultiplied color support for getImageDate/putImageData
2236 [https://bugs.webkit.org/show_bug.cgi?id=27933]
2238 Patch to get premultiplied color support for Skia on getImageDate/putImageData.
2240 * platform/graphics/skia/ImageBufferSkia.cpp:
2241 (WebCore::getImageData):
2242 (WebCore::putImageData):
2244 2009-09-02 Brady Eidson <beidson@apple.com>
2246 Forget to rename openInFrameloader() to open(), which was requested in Darin's review of my last patch.
2248 * history/CachedFrame.cpp:
2249 (WebCore::CachedFrameBase::restore):
2250 (WebCore::CachedFrame::open):
2251 * history/CachedFrame.h:
2252 * history/CachedPage.cpp:
2253 (WebCore::CachedPage::restore):
2255 2009-09-02 Brady Eidson <beidson@apple.com>
2257 Reviewed by Darin Adler.
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.
2264 No new tests. (No change in behavior)
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):
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):
2288 Make ::open(CachedFrame) public, and change it to ::open(CachedFrameBase):
2289 * loader/FrameLoader.cpp:
2290 (WebCore::FrameLoader::open):
2291 * loader/FrameLoader.h:
2293 2009-09-02 Ryosuke Niwa <rniwa@webkit.org>
2295 Reviewed by Eric Seidel.
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
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).
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.
2307 Test: editing/execCommand/break-out-of-empty-list-item.html
2309 * editing/CompositeEditCommand.cpp:
2310 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
2312 2009-09-02 Brady Eidson <beidson@apple.com>
2314 Reviewed by Sam Weinig.
2316 More partial work towards "Page Cache should support pages with Frames"
2317 https://bugs.webkit.org/show_bug.cgi?id=13631
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.
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.
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.
2335 No new tests. No change in behavior, and current tests continue to pass.
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):
2345 * loader/FrameLoader.cpp:
2346 (WebCore::FrameLoader::clear):
2347 (WebCore::FrameLoader::open):
2348 * loader/FrameLoader.h:
2350 2009-09-02 Brady Eidson <beidson@apple.com>
2352 No review, build fix.
2354 http://trac.webkit.org/changeset/47976 broke the build.
2355 Let's try compiling before we land things, shall we?
2357 * platform/graphics/SimpleFontData.cpp:
2358 (WebCore::SimpleFontData::SimpleFontData): Order the initialization list correctly.
2360 2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
2362 waf build fixes for Windows/MSVC.
2366 2009-09-02 Ben Murdoch <benm@google.com>
2368 Unreviewed build fix for Chromium.
2370 Missed #including V8Proxy.h in WebCore/bindings/v8/V8Binding.cpp.
2372 * bindings/v8/V8Binding.cpp: add V8Proxy.h as an include
2374 2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
2376 waf build fix, don't define symbols we now grab from other sources.
2378 * platform/wx/TemporaryLinkStubs.cpp:
2380 2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
2382 Build fixes for PluginViewNone.cpp and a wx build fix for PluginView.cpp.
2384 * plugins/PluginView.cpp:
2385 (WebCore::PluginView::stop):
2386 * plugins/PluginViewNone.cpp:
2387 (WebCore::PluginView::platformDestroy):
2389 2009-09-02 Charles Wei <charles.wei@torchmobile.com.cn>
2391 Reviewed by Eric Seidel.
2393 Fix the build failure of WebKit for Linux/Qt when WML is enabled
2395 No test cases needed since this just fixes the build problem.
2397 * wml/WMLElement.cpp:
2398 (WebCore::WMLElement::create):
2399 * wml/WMLTableElement.cpp:
2400 (WebCore::WMLTableElement::joinSuperflousColumns):
2401 (WebCore::WMLTableElement::padWithEmptyColumns):
2403 2009-09-02 Yong Li <yong.li@torchmobile.com>
2405 Reviewed by Adam Barth.
2407 WINCE PORT: use shared buffer for custom font data
2408 https://bugs.webkit.org/show_bug.cgi?id=27734
2410 Refactored by Joe Mason <joe.mason@torchmobile.com>
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:
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
2424 2009-09-02 Yong Li <yong.li@torchmobile.com>
2426 Reviewed by Adam Barth.
2428 WINCE PORT: font-related build fixes and minor bugfixes
2429 https://bugs.webkit.org/show_bug.cgi?id=27734
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
2438 2009-09-02 Jeremy Orlow <jorlow@chromium.org>
2440 Reviewed by Adam Barth.
2442 Another pass at releasing the storage mutex.
2443 https://bugs.webkit.org/show_bug.cgi?id=28904
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.
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).
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.
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
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:
2482 (WebCore::PageGroup::hasLocalStorage): Make hasLocalStorage public.
2484 2009-09-02 Yong Li <yong.li@torchmobile.com>
2486 Reviewed by Adam Barth.
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
2493 * platform/graphics/wince/ImageBufferData.h: Added.
2494 * platform/graphics/wince/ImageBufferWince.cpp: Added.
2496 2009-08-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2498 Reviewed by Eric Seidel.
2500 Join the various PluginView destructors into one shared implementation
2502 https://bugs.webkit.org/show_bug.cgi?id=27706
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.
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:
2515 2009-08-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2517 Reviewed by Eric Seidel.
2519 Share PluginView::init() between ports
2521 https://bugs.webkit.org/show_bug.cgi?id=27706
2523 The port-spesific bits are moved to platformStart(), which now returns
2524 a bool based on the success of the platformStart.
2526 m_hasPendingGeometryChange is now initialized in the initializer list
2527 instead of in PluginViewQt's init()
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.
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:
2542 2009-09-02 Ben Murdoch <benm@google.com>
2544 https://bugs.webkit.org/show_bug.cgi?id=28737
2546 Update JavaScript bindings in JSC and V8 for SQLTransaction to throw exceptions in the right places.
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.
2555 2009-09-01 Pavel Feldman <pfeldman@chromium.org>
2557 Reviewed by Timothy Hatcher.
2559 WebInspector: Migrate Databases tab to InjectedScript /
2560 serialized interaction.
2562 https://bugs.webkit.org/show_bug.cgi?id=28873
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):
2585 2009-09-02 Pavel Feldman <pfeldman@chromium.org>
2587 Not reviewed (trivial followup fix).
2589 Web Inspector: Trivial follow up fix to r47944.
2591 https://bugs.webkit.org/show_bug.cgi?id=28800
2593 * inspector/InspectorBackend.cpp:
2594 (WebCore::InspectorBackend::nodeForId):
2596 2009-09-01 Brian Weinstein <bweinstein@apple.com>
2598 Reviewed by John Sullivan.
2600 Fixed a bug in handling of isReadOnly, where textareas were casted to HTMLInputElements.
2602 * accessibility/AccessibilityRenderObject.cpp:
2603 (WebCore::AccessibilityRenderObject::isReadOnly):
2605 2009-09-01 Patrick Mueller <Patrick_Mueller@us.ibm.com>
2607 Reviewed by Timothy Hatcher.
2609 https://bugs.webkit.org/show_bug.cgi?id=28047
2610 add utility method to enable logging messages for inspector development
2612 manual test case added (see below)
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:
2620 * manual-tests/inspector/webinspector-log.html: Added.
2622 (WebCore::printMessageSourceAndLevelPrefix):
2626 2009-09-01 Alexey Proskuryakov <ap@apple.com>
2628 Reviewed by Darin Adler.
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
2634 <rdar://problem/5828506> Safari should not try auto-detecting if charset information exists
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.
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.
2643 Some pages that are fixed by this change:
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
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
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).
2658 Test: fast/encoding/japanese-encoding-mix.html
2660 * loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::decode): Only invoke auto-
2661 detection if there is no solid charset information yet.
2663 2009-09-01 Jian Li <jianli@chromium.org>
2665 Reviewed by Dimitri Glazkov.
2667 [V8] FileList cannot be accessed via index in Chromium.
2668 https://bugs.webkit.org/show_bug.cgi?id=28883
2670 Tested by clipboard-file-access.html.
2673 * bindings/v8/V8DOMWrapper.cpp:
2674 (WebCore::V8DOMWrapper::getTemplate):
2675 * bindings/v8/custom/V8CustomBinding.h:
2676 * bindings/v8/custom/V8FileListCustom.cpp: Added.
2678 2009-08-31 Jon Honeycutt <jhoneycutt@apple.com>
2680 Remove the workaround added in r47316.
2682 Reviewed by Sam Weinig.
2684 * accessibility/AXObjectCache.cpp:
2685 (WebCore::AXObjectCache::AXObjectCache):
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):
2693 * accessibility/chromium/AXObjectCacheChromium.cpp:
2694 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2696 * accessibility/gtk/AXObjectCacheAtk.cpp:
2697 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2699 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2701 Don't pass a null Document when constructing the AXObjectCache.
2703 * accessibility/mac/AXObjectCacheMac.mm:
2704 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2706 * accessibility/win/AXObjectCacheWin.cpp:
2707 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2708 Get the document from the RenderObject; m_document was removed.
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().
2717 2009-09-01 Yury Semikhatsky <yurys@chromium.org>
2719 Reviewed by Timothy Hatcher.
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
2726 https://bugs.webkit.org/show_bug.cgi?id=28800
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:
2744 2009-09-01 Brady Eidson <beidson@apple.com>
2746 Reviewed by Sam Weinig.
2748 Page Cache should support pages with frames
2749 https://bugs.webkit.org/show_bug.cgi?id=13631
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.
2758 No new tests. (No change in behavior, current layout tests pass)
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:
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:
2775 * history/PageCache.cpp:
2776 (WebCore::PageCache::releaseAutoreleasedPagesNow): destroy() CachedPages that are being pruned,
2777 instead of clearing them.
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.
2785 2009-09-01 Andrei Popescu <andreip@google.com>
2787 Reviewed by David Levin.
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
2794 https://bugs.webkit.org/show_bug.cgi?id=28776
2797 * bindings/v8/ScriptController.cpp:
2798 (WebCore::ScriptController::lowMemoryNotification):
2799 * bindings/v8/ScriptController.h:
2801 2009-09-01 Fumitoshi Ukai <ukai@chromium.org>
2803 Reviewed by Adam Barth.
2805 V8 Bindings for WebSocket API.
2806 https://bugs.webkit.org/show_bug.cgi?id=28844
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.
2821 2009-09-01 Peter Kasting <pkasting@google.com>
2823 Unreviewed (build fix).
2825 Missed a "." -> "->" conversion.
2827 * platform/graphics/qt/ImageDecoderQt.cpp:
2828 (WebCore::ImageDecoderQt::ReadContext::ReadContext):
2830 2009-09-01 Peter Kasting <pkasting@google.com>
2832 Unreviewed (build fix).
2834 Try to fix Qt build, take 2. The Qt code had what looks like a
2835 broken virtual function override.
2837 * platform/graphics/qt/ImageDecoderQt.cpp:
2838 (WebCore::ImageDecoderQt::ReadContext::ReadContext):
2839 (WebCore::ImageDecoderQt::setData):
2840 * platform/graphics/qt/ImageDecoderQt.h:
2842 2009-09-01 Adam Barth <abarth@webkit.org>
2844 Reviewed by Sam Weinig.
2846 Uninitialized variable in XSSAuditor
2847 https://bugs.webkit.org/show_bug.cgi?id=28874
2849 One ought to initialize variables before use even when it doesn't
2850 matter. No behavior change.
2852 * page/XSSAuditor.h:
2853 (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
2855 2009-09-01 Peter Kasting <pkasting@google.com>
2857 Unreviewed (build fix).
2859 Try to fix Qt build.
2861 * platform/graphics/ImageSource.cpp:
2863 2009-08-28 Peter Kasting <pkasting@google.com>
2865 Reviewed by Eric Seidel.
2867 https://bugs.webkit.org/show_bug.cgi?id=27965
2868 Eliminate most of ImageSourceQt.cpp in favor of ImageSource.cpp.
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):
2878 2009-09-01 Pavel Feldman <pfeldman@chromium.org>
2880 Reviewed by Timothy Hatcher.
2882 WebInspector: Make InjectedScript self-contained (move necessary
2883 methods from utilities.js into InjectedScript).
2885 https://bugs.webkit.org/show_bug.cgi?id=28871
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):
2895 (Object.hasProperties):
2897 (String.prototype.escapeCharacters):
2898 * inspector/front-end/utilities.js:
2900 2009-09-01 Pavel Feldman <pfeldman@chromium.org>
2902 Reviewed by Timothy Hatcher.
2904 WebInspector: console log message repeat count double.
2906 https://bugs.webkit.org/show_bug.cgi?id=28856
2908 * inspector/front-end/InjectedScript.js:
2909 (InjectedScript._evaluateOn):
2911 2009-09-01 Jan Michael Alonzo <jmalonzo@webkit.org>
2913 Reviewed by Mark Rowe.
2915 [Gtk] Fix DATALIST build
2916 https://bugs.webkit.org/show_bug.cgi?id=28826
2918 Add ENABLE_DATALIST to FEATURE_DEFINES.
2922 2009-09-01 Cameron McCormack <cam@mcc.id.au>
2924 Reviewed by Eric Seidel.
2926 SVGSVGElement suspend methods argument/return types incorrect
2927 https://bugs.webkit.org/show_bug.cgi?id=28860
2929 Also fix the style of the argument names.
2931 * svg/SVGSVGElement.cpp:
2932 (WebCore::SVGSVGElement::suspendRedraw):
2933 (WebCore::SVGSVGElement::unsuspendRedraw):
2934 * svg/SVGSVGElement.h:
2936 2009-09-01 Roland Steiner <rolandsteiner@google.com>
2938 Reviewed by Eric Seidel.
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)
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.
2949 TEST: existing svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html
2951 * platform/graphics/skia/GraphicsContextSkia.cpp: make isPathSkiaSafe accessible
2953 * platform/graphics/skia/PlatformContextSkia.cpp:
2954 (PlatformContextSkia::currentPathInLocalCoordinates): check Skia safety of path
2956 2009-09-01 Yusuke Sato <yusukes@chromium.org>
2958 Reviewed by Eric Seidel.
2960 [Chromium] Combining Diacritical Marks (U+0300..) are not handled correctly.
2961 https://bugs.webkit.org/show_bug.cgi?id=28742
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.
2967 * platform/graphics/chromium/FontLinux.cpp:
2968 (WebCore::TextRunWalker::getTextRun): Added.
2969 (WebCore::TextRunWalker::getNormalizedTextRun): Added.
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.
2974 2009-09-01 Vitaly Repeshko <vitalyr@chromium.org>
2976 Reviewed by Dimitri Glazkov.
2978 [V8] Inlined fast paths of V8DOMWrapper::convertNodeToV8Object and
2979 V8Proxy::createWrapperFromCache.
2980 https://bugs.webkit.org/show_bug.cgi?id=28848
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
2996 2009-09-01 Eric Seidel <eric@webkit.org>
2998 No review, windows build fix only. Clearly I should have read the patch closer. :(
3000 Allow excluding certain plugins from loading
3001 https://bugs.webkit.org/show_bug.cgi?id=28677
3003 * plugins/PluginDatabase.cpp:
3004 (WebCore::PluginDatabase::refresh):
3006 2009-09-01 Alexander Pavlov <apavlov@chromium.org>
3008 Reviewed by Timothy Hatcher.
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
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):
3043 2009-09-01 Marius Renn <damarvy@gmail.com>
3045 Reviewed by Eric Seidel.
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).
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):
3061 2009-08-31 Brady Eidson <beidson@apple.com>
3063 Rubberstamped by Sam Weinig
3065 * WebCore.base.exp: Removed an unneeded symbol export.
3067 2009-08-31 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
3069 Reviewed by Alexey Proskuryakov.
3071 https://bugs.webkit.org/show_bug.cgi?id=28466
3072 When downloading a file, two GET requests are sent to the HTTP server
3074 Can't think of a way to test this.
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
3081 2009-08-31 Brian Weinstein <bweinstein@apple.com>
3083 Reviewed by Darin Adler.
3085 Text Fields and Text Areas are reported as read-only by inspect32.exe.
3086 https://bugs.webkit.org/show_bug.cgi?id=28854
3088 Added another case in AcccessibiltyRenderObject::isReadOnly to test if text fields
3089 and texts areas are read-only.
3091 * accessibility/AccessibilityRenderObject.cpp:
3092 (WebCore::AccessibilityRenderObject::isReadOnly):
3093 (WebCore::AccessibilityRenderObject::canSetValueAttribute):
3095 2009-08-31 Drew Wilson <atwilson@google.com>
3097 Reviewed by Alexey Proskuryakov.
3099 fast/workers/worker-lifecycle.html crashes intermittently on snowleopard
3100 https://bugs.webkit.org/show_bug.cgi?id=28795
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.
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.
3134 2009-08-31 Ojan Vafai <ojan@chromium.org>
3136 Not reviewed (build fix)
3138 Build fix for Chromium to match r49707.
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):
3148 2009-08-31 Alexey Proskuryakov <ap@webkit.org>
3150 Reviewed by Darin Adler.
3152 https://bugs.webkit.org/show_bug.cgi?id=28858
3153 Element.baseURI parses xml:base attribute incorrectly
3155 Test: fast/dom/base-attribute-parsing.xhtml
3157 * dom/Element.cpp: (WebCore::Element::baseURI): Avoid assertion failure (no change in
3160 2009-08-31 Dimitri Glazkov <dglazkov@chromium.org>
3162 Reverting http://trac.webkit.org/changeset/47904, because it caused
3163 layout test failure.
3165 Test: fast/dom/Window/new-window-opener.html
3167 2009-08-31 Alexey Proskuryakov <ap@webkit.org>
3169 Reviewed by Darin Adler.
3171 https://bugs.webkit.org/show_bug.cgi?id=28852
3172 Rename KURL single argument constructor to avoid confusion
3174 * platform/KURL.h: The constructor that used to be single argument should now be invoked
3175 as KURL(ParsedURLString, myString).
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):
3195 (WebCore::Document::initSecurityContext):
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):
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.
3278 2009-08-31 Beth Dakin <bdakin@apple.com>
3280 Reviewed by Darin Adler.
3282 Fix for https://bugs.webkit.org/show_bug.cgi?id=28635 [CSS3
3283 Backgrounds and Borders] Add support for 2-keyword values for
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.)
3294 Here we can't access the implicit flag, so for backwards-
3295 compatibility's sake, we always return one value when that makes
3297 * css/CSSComputedStyleDeclaration.cpp:
3298 (WebCore::fillRepeatToCSSValue):
3299 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3301 Here we check for the implicit flag and return one value when it is
3303 * css/CSSMutableStyleDeclaration.cpp:
3304 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
3305 (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
3306 (WebCore::CSSMutableStyleDeclaration::cssText):
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):
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):
3323 Add CSSPropertyBackgroundRepeatX and CSSPropertyBackgroundRepeatY
3324 * css/CSSPropertyLonghand.cpp:
3325 (WebCore::initShorthandMap):
3327 Add background-repeat-x and -y.
3328 * css/CSSPropertyNames.in:
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:
3337 There is no more RepeatXFill. Instead, look for
3338 fillLayer->repeatX() == RepeatFill
3339 * rendering/RenderBoxModelObject.cpp:
3340 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
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):
3361 Again, break backgroundRepeat into backgroundRepeatX and
3363 * rendering/style/RenderStyle.h:
3364 (WebCore::InheritedFlags::backgroundRepeatX):
3365 (WebCore::InheritedFlags::backgroundRepeatY):
3366 (WebCore::InheritedFlags::maskRepeatX):
3367 (WebCore::InheritedFlags::maskRepeatY):
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:
3375 2009-08-31 Simon Fraser <simon.fraser@apple.com>
3377 Reviewed by Dan Bernstein.
3379 Compositing layer size needs to take into account software reflections on children.
3380 https://bugs.webkit.org/show_bug.cgi?id=28837
3382 When computing the bounds of a composited layer, take software-rendered
3383 reflections into account.
3385 Test: compositing/reflections/reflection-in-composited.html
3387 * rendering/RenderLayerCompositor.cpp:
3388 (WebCore::RenderLayerCompositor::calculateCompositedBounds):
3390 2009-08-31 Mark Mentovai <mark@chromium.org>
3392 Reviewed by Dave Hyatt.
3394 https://bugs.webkit.org/show_bug.cgi?id=28614
3396 Perform a layout prior to checking whether the scrollbar modes are
3397 off, on, or automatic. The modes may change during layout.
3399 * platform/ScrollView.cpp:
3400 (WebCore::ScrollView::updateScrollbars):
3402 2009-08-31 Patrick Mueller <Patrick_Mueller@us.ibm.com>
3404 Reviewed by Timothy Hatcher.
3406 Inspector Request Headers Should Show Data Sent With Request
3407 https://bugs.webkit.org/show_bug.cgi?id=22920
3409 Manual test added - see below.
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.
3435 2009-08-31 Pavel Feldman <pfeldman@chromium.org>
3437 Reviewed by Timothy Hatcher.
3439 WebInspector: pass call frames into the frontend as a part of
3442 https://bugs.webkit.org/show_bug.cgi?id=28847
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):
3454 2009-08-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
3456 Reviewed by Ariya Hidayat.
3458 [Qt] Un-blacklist Silverlight on Mac
3460 Does not seem to crash anymore, probably due to how we now handle
3461 drawing and event model handshake better.
3463 * plugins/mac/PluginPackageMac.cpp:
3464 (WebCore::PluginPackage::isPluginBlacklisted):
3466 2009-08-31 Cameron McCormack <cam@mcc.id.au>
3468 Reviewed by Eric Seidel.
3470 https://bugs.webkit.org/show_bug.cgi?id=28827
3471 SVGSVGElement.unsuspendRedraw() shouldn't throw
3473 * svg/SVGSVGElement.cpp:
3474 (WebCore::SVGSVGElement::unsuspendRedraw):
3475 * svg/SVGSVGElement.h:
3476 * svg/SVGSVGElement.idl:
3478 2009-08-31 Kent Tamura <tkent@chromium.org>
3480 Reviewed by Eric Seidel.
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
3488 * html/HTMLInputElement.cpp:
3489 (WebCore::HTMLInputElement::list):
3490 (WebCore::HTMLInputElement::dataList):
3491 (WebCore::HTMLInputElement::selectedOption):
3492 * html/HTMLInputElement.h:
3493 * html/HTMLInputElement.idl:
3495 2009-08-31 Kwang Yul Seo <skyul@company100.net>
3497 Reviewed by Eric Seidel.
3499 Remove ASSERT(frame) in ResourceHandle::start (ResourceHandleCurl.cpp)
3500 https://bugs.webkit.org/show_bug.cgi?id=28802
3502 Remove ASSERT because the frame could be null if the
3503 ResourceHandle is not associated with any frame, e.g. if we are
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.
3508 * platform/network/curl/ResourceHandleCurl.cpp:
3509 (WebCore::ResourceHandle::start):
3511 2009-08-31 Maxime Simon <simon.maxime@gmail.com>
3513 Reviewed by Eric Seidel.
3515 Build fix for platforms which don't enable DOM_STORAGE.
3516 https://bugs.webkit.org/show_bug.cgi?id=28834
3518 * bindings/js/ScriptController.cpp:
3519 (WebCore::ScriptController::evaluate):
3520 * bindings/v8/ScriptController.cpp:
3521 (WebCore::ScriptController::evaluate):
3523 2009-08-29 Adele Peterson <adele@apple.com>
3525 Reviewed by Dan Bernstein.
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
3530 Test: accessibility/aria-activedescendant-crash.html
3532 * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::activeDescendant): Nil check.
3534 2009-08-28 Jan Michael Alonzo <jmalonzo@webkit.org>
3536 Reviewed by Oliver Hunt.
3538 Gtk Build broken for OSX Quartz
3539 https://bugs.webkit.org/show_bug.cgi?id=28727
3541 Check for XP_UNIX instead of GTK or X11 to ease building of the Gtk
3542 port in Mac and Unix/Linux.
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):
3553 2009-08-28 Simon Fraser <simon.fraser@apple.com>
3555 Reviewed by Dan Bernstein.
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
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.
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.
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.
3571 Tests: compositing/geometry/abs-position-inside-opacity.html
3572 fast/reflections/abs-position-in-reflection.html
3574 * rendering/RenderLayer.cpp:
3575 (WebCore::isPositionedContainer):
3576 (WebCore::RenderLayer::enclosingPositionedAncestor):
3577 (WebCore::RenderLayer::enclosingTransformedAncestor):
3578 (WebCore::RenderLayer::convertToLayerCoords):
3580 2009-08-28 Simon Fraser <simon.fraser@apple.com>
3582 Reviewed by Mark Rowe
3584 Wrap WebkitCSSTransformValues in the correct class of DOM wrapper.
3585 https://bugs.webkit.org/show_bug.cgi?id=27727
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.
3591 * bindings/objc/DOMCSS.mm:
3594 2009-08-28 Peter Kasting <pkasting@google.com>
3596 Reviewed by Jan Michael Alonzo.
3598 https://bugs.webkit.org/show_bug.cgi?id=28308
3599 Fix some warnings introduced by r47381.
3601 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3602 (WebCore::convertCMYKToRGBA):
3603 (WebCore::convertRGBToRGBA):
3605 2009-08-28 Ada Chan <adachan@apple.com>
3607 Reviewed by Adam Roben.
3609 https://bugs.webkit.org/show_bug.cgi?id=21442
3610 Make sure filesystemPathFromUrlOrTitle() returns a string with length
3613 * platform/win/ClipboardWin.cpp:
3614 (WebCore::filesystemPathFromUrlOrTitle):
3616 2009-08-28 Dumitru Daniliuc <dumi@chromium.org>
3618 Reviewed by Dimitri Glazkov.
3620 Adding Chromium's VFS for Linux and Mac.
3622 https://bugs.webkit.org/show_bug.cgi?id=28750
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:
3634 2009-08-28 Vitaly Repeshko <vitalyr@chromium.org>
3636 Reviewed by Dimitri Glazkov.
3638 [V8] Made bindings use Node::setOnEvent functions for Node descendants
3639 instead of Node::setAttributeEventListener.
3641 Node::setAttributeEventListener is an internal function and
3642 doesn't do the forwarding to DOM window that is required for some
3644 https://bugs.webkit.org/show_bug.cgi?id=28709
3646 Tests added in http://trac.webkit.org/changeset/47326 now pass with V8.
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
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.
3666 2009-08-28 Ben Murdoch <benm@google.com>
3668 https://bugs.webkit.org/show_bug.cgi?id=28803
3670 Implements V8CustomVoidCallback reporting any exceptions that were thrown from the callback function.
3672 * bindings/v8/custom/V8CustomVoidCallback.cpp:
3673 (WebCore::invokeCallback): Checks if the callback raised an exception and reports it to WebCore if so.
3675 2009-08-28 Peter Kasting <pkasting@google.com>
3677 Not reviewed (build fix).
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).
3684 2009-08-28 Peter Kasting <pkasting@google.com>
3686 Reviewed by Eric Seidel.
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
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:
3703 2009-08-28 Peter Kasting <pkasting@google.com>
3705 Reviewed by Eric Seidel.
3707 https://bugs.webkit.org/show_bug.cgi?id=28785
3708 Combine duplicated code from ImageDecoder*.cpp into the main
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:
3727 2009-08-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
3729 Reviewed by Holger Freyther.
3731 https://bugs.webkit.org/show_bug.cgi?id=25889
3732 [GTK] scrollbar policy for main frame is not implementable
3734 Override setScrollbarModes to correctly forward scrollbar modes
3735 policy changes to client code, via a new platform-specific method,
3736 scrollbarsPolicyDidChange.
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):
3746 2009-08-28 Cédric Luthi <cedric.luthi@gmail.com>
3748 Reviewed by Tor Arne Vestbø
3750 [Qt/Mac] Un-blacklist the QuickTime plugin
3752 https://bugs.webkit.org/show_bug.cgi?id=28768
3754 Now that the drawing model is properly negotiated, there is no need the
3755 blacklist the QuickTime plugin anymore.
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.
3761 * plugins/PluginView.cpp:
3762 * plugins/mac/PluginPackageMac.cpp:
3764 2009-08-28 Yury Semikhatsky <yurys@chromium.org>
3766 Reviewed by Timothy Hatcher.
3768 Set DOM agent document to 0 in InspectorController::close to
3769 make DOM agent remove DOM listeners from the inspected document.
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.
3775 https://bugs.webkit.org/show_bug.cgi?id=28800
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:
3797 2009-08-28 Mikhail Naganov <mnaganov@chromium.org>
3799 Reviewed by Timothy Hatcher.
3801 Remove dependency of SummaryBar on WebInspector.resourceCategories.
3803 https://bugs.webkit.org/show_bug.cgi?id=28801
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):
3812 2009-08-28 Pavel Feldman <pfeldman@chromium.org>
3814 Not reviewed (patching in l18n change that was missing due to
3815 the git binary diff format).
3817 https://bugs.webkit.org/show_bug.cgi?id=28429
3819 * English.lproj/localizedStrings.js:
3821 2009-08-28 Adam Barth <abarth@webkit.org>
3823 Reviewed by Eric Seidel.
3825 Make XSSAuditor go fast
3826 https://bugs.webkit.org/show_bug.cgi?id=28667
3828 Make the XSSAuditor go faster by implementing two optimizations:
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.
3833 2) We memoize canonicalizing the page's URL because it's silly to
3834 canonicalize repeated for each inline event listener.
3836 These optimizations have a measurable affect on the intl1 page cycler.
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:
3852 2009-08-27 Dimitri Glazkov <dglazkov@chromium.org>
3854 Unreviewed, build fix.
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.
3859 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3860 (WebCore::CALLBACK_FUNC_DECL): Removed assertion.
3862 2009-08-27 Jeremy Orlow <jorlow@chromium.org>
3864 Not reviewed. Build fix for http://trac.webkit.org/changeset/47840
3866 Peter's change forgot one m_decoder->
3868 * platform/graphics/ImageSource.cpp:
3869 (WebCore::ImageSource::frameSizeAtIndex):
3871 2009-08-27 Dimitri Glazkov <dglazkov@chromium.org>
3873 Unreviewed, build fix.
3875 [V8] Add NULL-check, since the context ain't changeable no more, and
3876 thus getContext could return 0.
3878 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3879 (WebCore::CALLBACK_FUNC_DECL): Added NULL-check.
3881 2009-08-27 Noel Gordon <noel.gordon@gmail.com>
3883 Reviewed by Eric Seidel.
3885 dataTransfer.types() should include type "Files" when files are present in the clipboard.
3886 https://bugs.webkit.org/show_bug.cgi?id=28780
3888 Add dataTransfer type "Files" to the chromium port. Add eseidel's
3889 patch for same for the mac port.
3891 * platform/chromium/ClipboardChromium.cpp:
3893 2009-08-27 Chris Marrin <cmarrin@apple.com>
3895 Reviewed by Simon Fraser.
3897 Removed GL_ from all constants, and gl prefix from all calls
3898 https://bugs.webkit.org/show_bug.cgi?id=28773
3900 This was done for the external API in CanvasRenderingContext3D and
3901 the internal API in GraphicsContext3D.
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:
3910 2009-08-27 Jan Michael Alonzo <jmalonzo@webkit.org>
3912 Qt and Gtk build fixes. Not reviewed.
3914 Add CanvasRenderingContext3D.idl to the build scripts.
3919 2009-08-27 Jeremy Orlow <jorlow@chromium.org>
3921 Reviewed by Darin Fisher.
3923 Release the storage mutex whenever leaving JavaScript execution.
3924 https://bugs.webkit.org/show_bug.cgi?id=28789
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.
3931 * bindings/js/ScriptController.cpp:
3932 (WebCore::ScriptController::evaluate):
3933 * bindings/v8/ScriptController.cpp:
3934 (WebCore::ScriptController::evaluate):
3936 2009-08-27 Alexey Proskuryakov <ap@apple.com>
3938 Reviewed by Oliver Hunt.
3940 https://bugs.webkit.org/show_bug.cgi?id=28753
3941 <rdar://problem/7173448> Excessive number of threads (and a crash)
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
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).
3950 Coalescing reduces the number of requests dramatically, as prefetchDNS is called for each
3951 link, and these tend to have identical host name.
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):
3963 2009-08-27 Chris Marrin <cmarrin@apple.com>
3965 Reviewed by Simon Fraser.
3967 Final patch for Canvas 3D support
3968 https://bugs.webkit.org/show_bug.cgi?id=28018
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.
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
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
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.
3995 Test: fast/canvas/change-context.html
3997 * WebCore.xcodeproj/project.pbxproj:
3998 * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
3999 (WebCore::JSCanvasRenderingContext3D::glDrawElements):
4000 * bindings/js/JSCanvasRenderingContextCustom.cpp:
4003 (WebCore::Element::recalcStyle):
4005 (WebCore::Node::setNeedsStyleRecalc):
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):
4098 2009-08-27 Peter Kasting <pkasting@google.com>
4100 Reviewed by Eric Seidel.
4102 https://bugs.webkit.org/show_bug.cgi?id=28751
4103 Clean up ImageDecoder*.cpp a bit.
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.
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.
4124 2009-08-27 Peter Kasting <pkasting@google.com>
4126 Reviewed by Eric Seidel.
4128 https://bugs.webkit.org/show_bug.cgi?id=28751
4129 Clean up ImageSource.* in preparation for more fixes on bug 27965.
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.
4139 2009-08-27 Peter Kasting <pkasting@google.com>
4141 Reviewed by Eric Seidel.
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
4152 * WebCore.vcproj/WebCore.vcproj:
4153 * WebCoreSources.bkl:
4154 * platform/image-decoders/ImageDecoder.cpp:
4156 * platform/image-decoders/ImageDecoder.h:
4157 (WebCore::RGBA32Buffer::getAddr):
4159 2009-08-27 Antti Koivisto <antti@apple.com>
4161 Reviewed by Dave Kilzer.
4163 https://bugs.webkit.org/show_bug.cgi?id=28784
4165 Add an exported method to flush pending repaints.
4168 * page/FrameView.cpp:
4169 (WebCore::FrameView::layoutIfNeededRecursive):
4170 (WebCore::FrameView::flushDeferredRepaints):
4173 2009-08-27 Noel Gordon <noel.gordon@gmail.com>
4175 Reviewed by Eric Seidel.
4177 [V8] Expose files from the pasteboard in drop events.
4178 https://bugs.webkit.org/show_bug.cgi?id=28782
4180 Update chromium port to expose dataTransfer.files() as per
4181 HTML5 drag drop (Aug 2009 edition).
4183 * platform/chromium/ClipboardChromium.cpp:
4185 2009-08-27 Yury Semikhatsky <yurys@chromium.org>
4187 Reviewed by Dmitry Glazkov.
4189 ScriptState now keeps explicit Handle of devtools front-end
4190 utility context instead of trying to retrieve it from inspected
4193 https://bugs.webkit.org/show_bug.cgi?id=28772
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: