07080607673b0174ebfba64ec89906661997f7c5
[WebKit-https.git] / WebCore / ChangeLog
1 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
2
3         No review.
4
5         Stylistic fix: indent the member var initialisation.
6
7         * platform/graphics/mac/GraphicsLayerCA.mm:
8         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
9
10 2009-11-24  Gavin Barraclough  <barraclough@apple.com>
11
12         Reviewed by Geoff Garen.
13
14         Bug 31848 - Remove uses of mainThreadCurrentWorld, and of currentWorld using a globalData.
15
16         These methods get the world from the global data rather than from an execstate.
17         If the current world is always read from an exec state then it can be read
18         from the global object, and world entry can become automagical, rather than
19         being explicitly set by an EnterDOMWrapperWorld.
20
21         * bindings/js/JSCSSRuleCustom.cpp:
22         (WebCore::toJS):
23         * bindings/js/JSCSSValueCustom.cpp:
24         (WebCore::toJS):
25         * bindings/js/JSDOMBinding.cpp:
26         (WebCore::currentWorld):
27         (WebCore::DOMObjectWrapperMapFor):
28         (WebCore::hasCachedDOMObjectWrapper):
29         (WebCore::getCachedDOMObjectWrapper):
30         (WebCore::cacheDOMObjectWrapper):
31         (WebCore::hasCachedDOMNodeWrapper):
32         (WebCore::getCachedDOMNodeWrapper):
33         (WebCore::cacheDOMNodeWrapper):
34         * bindings/js/JSDOMBinding.h:
35         (WebCore::createDOMObjectWrapper):
36         (WebCore::getDOMObjectWrapper):
37         (WebCore::createDOMNodeWrapper):
38         (WebCore::getDOMNodeWrapper):
39         * bindings/js/JSDOMWindowCustom.cpp:
40         (WebCore::JSDOMWindow::history):
41         (WebCore::JSDOMWindow::location):
42         * bindings/js/JSDocumentCustom.cpp:
43         (WebCore::JSDocument::location):
44         (WebCore::toJS):
45         * bindings/js/JSElementCustom.cpp:
46         (WebCore::toJSNewlyCreated):
47         * bindings/js/JSEventCustom.cpp:
48         (WebCore::toJS):
49         * bindings/js/JSHTMLCollectionCustom.cpp:
50         (WebCore::toJS):
51         * bindings/js/JSImageDataCustom.cpp:
52         (WebCore::toJS):
53         * bindings/js/JSNodeCustom.cpp:
54         (WebCore::JSNode::markChildren):
55         (WebCore::createWrapper):
56         (WebCore::toJS):
57         * bindings/js/JSSVGPathSegCustom.cpp:
58         (WebCore::toJS):
59         * bindings/js/JSStyleSheetCustom.cpp:
60         (WebCore::toJS):
61         * xml/XMLHttpRequest.cpp:
62         (WebCore::XMLHttpRequest::dropProtection):
63
64 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
65
66         Windows build fix.
67
68         * platform/network/cf/SocketStreamHandleCFNet.cpp: Also, don't include the wrong one!
69
70 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
71
72         Windows build fix.
73
74         * platform/network/cf/SocketStreamHandleCFNet.cpp: Include the proper WKSI header.
75
76 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
77
78         Reviewed by Oliver Hunt.
79
80         SVGUseElement::toClipPath can crash
81         <rdar://problem/7385270>
82
83         Null-test m_shadowTreeRootElement again, because the call to buildPendingResource() may not
84         actually initialize it.
85
86         * svg/SVGUseElement.cpp:
87         (WebCore::SVGUseElement::toClipPath):
88
89 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
90
91         Windows build fix.
92
93         * page/win/FrameCGWin.cpp:
94         (WebCore::imageFromRect):
95         (WebCore::imageFromSelection):
96
97 2009-11-24  Eric Carlson  <eric.carlson@apple.com>
98
99         Not reviewed. Revert r51351 until a new WebKitSupportLibrary is available.
100
101         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
102         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
103         * platform/graphics/win/QTMovieWin.cpp:
104         * platform/graphics/win/QTMovieWin.h:
105         * rendering/RenderMediaControls.cpp:
106         * rendering/RenderThemeWin.cpp:
107         * rendering/RenderThemeWin.h:
108
109 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
110
111         Reviewed by Brady Eidson.
112
113         https://bugs.webkit.org/show_bug.cgi?id=31844
114         SocketStreamHandleCFNet should support CONNECT proxy credentials
115
116         * WebCore.vcproj/WebCore.vcproj:
117         * WebCore.xcodeproj/project.pbxproj:
118         * platform/network/CredentialStorage.h:
119         * platform/network/mac/CredentialStorageMac.mm: Added.
120         (WebCore::CredentialStorage::getFromPersistentStorage):
121         * platform/network/cf/CredentialStorageCFNet.cpp: Added.
122         (WebCore::CredentialStorage::getFromPersistentStorage):
123         Add support for fetching credentials from persistent storage (CFNet version is currently
124         a stub).
125
126         * bindings/js/JSWebSocketCustom.cpp: Removed an unneeded include.
127
128         * platform/network/cf/SocketStreamHandle.h:
129         * platform/network/cf/SocketStreamHandleCFNet.cpp:
130         (WebCore::SocketStreamHandle::SocketStreamHandle):
131         (WebCore::SocketStreamHandle::createStreams):
132         (WebCore::getStoredCONNECTProxyCredentials):
133         (WebCore::authenticationSchemeFromAuthenticationMethod):
134         (WebCore::SocketStreamHandle::addCONNECTCredentials):
135         (WebCore::SocketStreamHandle::readStreamCallback):
136         Check if connection attempt was resulted in 407, and try stored credentials if it did.
137
138         * platform/mac/WebCoreSystemInterface.h:
139         * platform/mac/WebCoreSystemInterface.mm:
140         * WebCore.base.exp:
141         Updated WKSI.
142
143 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
144
145         Reviewed by Dan Bernstein.
146
147         Find highlight is drawn incorrectly on pages with compositing layers
148         <rdar://problem/7413925>
149         
150         Part 2: Add a new bit to the PaintBehavior flags, PaintBehaviorFlattenCompositingLayers,
151         and pass that down when painting into an image.
152         
153         When set, it forces painting of compositing layers to go down a software paint path
154         when all layers are painted, irrespective of compositing status, and where
155         3d transforms are flattened to 2d. When doing this, we also need to use temporary
156         clip rects for layers which are normally composited.
157         
158         * page/FrameView.h:
159         (WebCore::FrameView::paintBehavior):
160         * page/mac/FrameMac.mm:
161         (WebCore::Frame::imageFromRect):
162         * rendering/RenderLayer.cpp:
163         (WebCore::RenderLayer::renderableTransform):
164         (WebCore::expandClipRectForDescendantsAndReflection):
165         (WebCore::transparencyClipBox):
166         (WebCore::RenderLayer::beginTransparencyLayers):
167         (WebCore::RenderLayer::paintLayer):
168         * rendering/RenderLayer.h:
169         (WebCore::RenderLayer::paintsWithTransparency):
170         (WebCore::RenderLayer::paintsWithTransform):
171         * rendering/RenderLayerCompositor.cpp:
172         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
173         * rendering/RenderObject.h:
174
175 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
176
177         Reviewed by Dan Bernstein.
178
179         Find highlight is drawn incorrectly on pages with compositing layers
180         <rdar://problem/7413925>
181         
182         Part 1: Rename PaintRestriction to PaintBehavior, and make it a bitmask, in
183         preparation for adding a new flag related to painting into an image.
184         
185         PaintBehaviorSelectionOnly and PaintBehaviorForceBlackText are now separate flags.
186
187         * page/FrameView.cpp:
188         (WebCore::FrameView::reset):
189         (WebCore::FrameView::paintContents):
190         (WebCore::FrameView::setPaintBehavior):
191         * page/FrameView.h:
192         * page/mac/FrameMac.mm:
193         (WebCore::Frame::selectionImage):
194         * rendering/RenderLayer.cpp:
195         (WebCore::RenderLayer::paint):
196         (WebCore::RenderLayer::paintLayer):
197         * rendering/RenderLayer.h:
198         * rendering/RenderLayerBacking.cpp:
199         (WebCore::RenderLayerBacking::paintIntoLayer):
200         (WebCore::RenderLayerBacking::paintContents):
201         * rendering/RenderLayerBacking.h:
202         * rendering/RenderObject.h:
203         * rendering/RenderReplica.cpp:
204         (WebCore::RenderReplica::paint):
205
206 2009-11-24  Eric Carlson  <eric.carlson@apple.com>
207
208         Reviewed by Simon Fraser.
209
210         <rdar://problem/7409331> Windows: Support closed caption in <video> element
211
212         Enable closed captions in QuickTime/Windows media engine.
213
214         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
215         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
216         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
217         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
218         * platform/graphics/win/QTMovieWin.cpp:
219         (QTMovieWin::hasClosedCaptions):
220         (QTMovieWin::setClosedCaptionsVisible):
221         * platform/graphics/win/QTMovieWin.h:
222         * rendering/RenderMediaControls.cpp:
223         (WebCore::RenderMediaControls::paintMediaControlsPart):
224         * rendering/RenderThemeWin.cpp:
225         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
226         * rendering/RenderThemeWin.h:
227
228 2009-11-24  Darin Fisher  <darin@chromium.org>
229
230         Reviewed by Adam Barth.
231
232         [Chromium] Renderer hang when using www.expedia.com
233         https://bugs.webkit.org/show_bug.cgi?id=31822
234
235         Test: http/tests/cache/subresource-failover-to-network.html
236
237         * loader/FrameLoader.cpp:
238         (WebCore::FrameLoader::loadResourceSynchronously): Use the originalRequest
239         when inheriting cache policy.  This matches SubresourceLoader::create.
240
241 2009-11-23  Kenneth Russell  <kbr@google.com>
242
243         Reviewed by Oliver Hunt.
244
245         Change get... calls to latest spec
246         https://bugs.webkit.org/show_bug.cgi?id=30091
247
248         Removed old versions of get calls on WebGLRenderingContext and
249         added new ones per spec returning "any". New code simplifies
250         GraphicsContext3D and fixes previously unimplemented routines.
251         Added custom JS and V8 bindings. Added exhaustive test case
252         exercising all new code paths. Updated preexisting test cases for
253         new APIs. Fixed preexisting bugs in WebKit's and Chrome's WebGL
254         implementations.
255
256         Ran WebGL layout tests in WebKit (clean) and Chrome (couple of
257         preexisting known failures) and manual WebGL tests in both
258         browsers.
259
260         Test: fast/canvas/webgl/gl-object-get-calls.html
261
262         * WebCore.gypi:
263         * WebCore.xcodeproj/project.pbxproj:
264         * bindings/js/JSWebGLRenderingContextCustom.cpp:
265         (WebCore::toJS):
266         (WebCore::):
267         (WebCore::getObjectParameter):
268         (WebCore::getProgramParameterHelper):
269         (WebCore::JSWebGLRenderingContext::getBufferParameter):
270         (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
271         (WebCore::JSWebGLRenderingContext::getParameter):
272         (WebCore::JSWebGLRenderingContext::getProgramParameter):
273         (WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
274         (WebCore::JSWebGLRenderingContext::getShaderParameter):
275         (WebCore::JSWebGLRenderingContext::getTexParameter):
276         (WebCore::JSWebGLRenderingContext::getUniform):
277         (WebCore::JSWebGLRenderingContext::getVertexAttrib):
278         * bindings/v8/custom/V8CustomBinding.h:
279         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
280         (WebCore::toV8):
281         (WebCore::):
282         (WebCore::getObjectParameter):
283         (WebCore::getProgramParameter):
284         (WebCore::CALLBACK_FUNC_DECL):
285         * html/canvas/CanvasObject.cpp:
286         (WebCore::CanvasObject::CanvasObject):
287         (WebCore::CanvasObject::setObject):
288         (WebCore::CanvasObject::deleteObject):
289         * html/canvas/CanvasObject.h:
290         * html/canvas/WebGLBuffer.cpp:
291         (WebCore::WebGLBuffer::create):
292         (WebCore::WebGLBuffer::WebGLBuffer):
293         * html/canvas/WebGLBuffer.h:
294         * html/canvas/WebGLGetInfo.cpp: Added.
295         (WebCore::WebGLGetInfo::WebGLGetInfo):
296         (WebCore::WebGLGetInfo::~WebGLGetInfo):
297         (WebCore::WebGLGetInfo::getType):
298         (WebCore::WebGLGetInfo::getBool):
299         (WebCore::WebGLGetInfo::getFloat):
300         (WebCore::WebGLGetInfo::getLong):
301         (WebCore::WebGLGetInfo::getString):
302         (WebCore::WebGLGetInfo::getUnsignedLong):
303         (WebCore::WebGLGetInfo::getWebGLBuffer):
304         (WebCore::WebGLGetInfo::getWebGLFloatArray):
305         (WebCore::WebGLGetInfo::getWebGLFramebuffer):
306         (WebCore::WebGLGetInfo::getWebGLIntArray):
307         (WebCore::WebGLGetInfo::getWebGLProgram):
308         (WebCore::WebGLGetInfo::getWebGLRenderbuffer):
309         (WebCore::WebGLGetInfo::getWebGLTexture):
310         (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray):
311         * html/canvas/WebGLGetInfo.h: Added.
312         (WebCore::WebGLGetInfo::):
313         * html/canvas/WebGLRenderbuffer.cpp:
314         (WebCore::WebGLRenderbuffer::create):
315         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
316         * html/canvas/WebGLRenderbuffer.h:
317         * html/canvas/WebGLRenderingContext.cpp:
318         (WebCore::WebGLStateRestorer::WebGLStateRestorer):
319         (WebCore::WebGLStateRestorer::~WebGLStateRestorer):
320         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
321         (WebCore::WebGLRenderingContext::activeTexture):
322         (WebCore::WebGLRenderingContext::bindBuffer):
323         (WebCore::WebGLRenderingContext::bindFramebuffer):
324         (WebCore::WebGLRenderingContext::bindRenderbuffer):
325         (WebCore::WebGLRenderingContext::bindTexture):
326         (WebCore::WebGLRenderingContext::getBufferParameter):
327         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
328         (WebCore::WebGLRenderingContext::getParameter):
329         (WebCore::WebGLRenderingContext::getProgramParameter):
330         (WebCore::WebGLRenderingContext::getProgramInfoLog):
331         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
332         (WebCore::WebGLRenderingContext::getShaderParameter):
333         (WebCore::WebGLRenderingContext::getShaderInfoLog):
334         (WebCore::WebGLRenderingContext::getShaderSource):
335         (WebCore::WebGLRenderingContext::getString):
336         (WebCore::WebGLRenderingContext::getTexParameter):
337         (WebCore::WebGLRenderingContext::getUniform):
338         (WebCore::WebGLRenderingContext::getVertexAttrib):
339         (WebCore::WebGLRenderingContext::useProgram):
340         (WebCore::WebGLRenderingContext::getBooleanParameter):
341         (WebCore::WebGLRenderingContext::getFloatParameter):
342         (WebCore::WebGLRenderingContext::getIntParameter):
343         (WebCore::WebGLRenderingContext::getLongParameter):
344         (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
345         (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
346         (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
347         (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter):
348         * html/canvas/WebGLRenderingContext.h:
349         * html/canvas/WebGLRenderingContext.idl:
350         * html/canvas/WebGLTexture.cpp:
351         (WebCore::WebGLTexture::create):
352         (WebCore::WebGLTexture::WebGLTexture):
353         * html/canvas/WebGLTexture.h:
354         * manual-tests/webgl/resources/utils3d.js:
355         (initWebGL):
356         (loadShader):
357         (Framerate.prototype.snapshot):
358         * platform/graphics/GraphicsContext3D.h:
359         * platform/graphics/mac/GraphicsContext3DMac.cpp:
360         (WebCore::GraphicsContext3D::bindRenderbuffer):
361         (WebCore::GraphicsContext3D::getBooleanv):
362         (WebCore::GraphicsContext3D::getBufferParameteriv):
363         (WebCore::GraphicsContext3D::getFloatv):
364         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
365         (WebCore::GraphicsContext3D::getIntegerv):
366         (WebCore::GraphicsContext3D::getProgramiv):
367         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
368         (WebCore::GraphicsContext3D::getShaderiv):
369         (WebCore::GraphicsContext3D::getTexParameterfv):
370         (WebCore::GraphicsContext3D::getTexParameteriv):
371         (WebCore::GraphicsContext3D::getUniformfv):
372         (WebCore::GraphicsContext3D::getUniformiv):
373         (WebCore::GraphicsContext3D::getVertexAttribfv):
374         (WebCore::GraphicsContext3D::getVertexAttribiv):
375
376 2009-11-24  Steve Falkenburg  <sfalken@apple.com>
377
378         Windows build fix.
379
380         * WebCore.vcproj/QTMovieWin.vcproj: Add additional search path for QuickTime SDK.
381
382 2009-11-24  Philippe Normand  <pnormand@igalia.com>
383
384         Reviewed by Gustavo Noronha Silva.
385
386         [Gtk] GStreamer-CRITICAL's (and other warnings) on <video>
387         https://bugs.webkit.org/show_bug.cgi?id=26354
388
389         Implemented MediaPlayerPrivate::isAvailable by checking the
390         presence of the playbin2 GStreamer element.
391
392         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
393         (WebCore::MediaPlayerPrivate::isAvailable):
394         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
395
396 2009-11-24  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
397
398         Reviewed by Xan Lopez.
399
400         https://bugs.webkit.org/show_bug.cgi?id=25415
401         [GTK][ATK] Please implement support for get_text_at_offset
402
403         When building up the pango layout from text boxes, only append a
404         newline char after verifying there are no more boxes on this line.
405
406         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
407         (getPangoLayoutForAtk):
408
409 2009-11-24  Joseph Pecoraro  <joepeck@webkit.org>
410
411         Reviewed by Pavel Feldman.
412
413         Web Inspector: Keyboard Shortcut to Clear Console Messages
414         https://bugs.webkit.org/show_bug.cgi?id=31780
415
416         All Platforms:  Ctrl+L  = Clear Console Messages
417         Mac Only:       Cmd+K   = Clear Console Messages
418
419         * inspector/front-end/ConsoleView.js:
420         (WebInspector.ConsoleView): create shortcuts
421         (WebInspector.ConsoleView.prototype._promptKeyDown): handle shortcuts
422         * inspector/front-end/KeyboardShortcut.js:
423         (WebInspector.KeyboardShortcut.makeKey): convenience conversion of "a-z" character to keyCode
424         * inspector/front-end/ScriptsPanel.js:
425         (WebInspector.ScriptsPanel): style fixes for keyboard shortcuts
426
427 2009-11-24  Pavel Feldman  <pfeldman@chromium.org>
428
429         Not reviewed: touch inspector controller in order to
430         kick win bot inspector deploy. rs=aroben.
431
432         * inspector/InspectorController.cpp:
433
434 2009-11-23  Pavel Feldman  <pfeldman@chromium.org>
435
436         Reviewed by Timothy Hatcher.
437
438         Web Inspector: Implement expandable compartments on timeline panel.
439
440         https://bugs.webkit.org/show_bug.cgi?id=31796
441
442         * inspector/front-end/TimelineOverviewPane.js:
443         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
444         * inspector/front-end/TimelinePanel.js:
445         (WebInspector.TimelinePanel):
446         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
447         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
448         (WebInspector.TimelinePanel.prototype._formatRecord):
449         (WebInspector.TimelinePanel.prototype._refreshRecords):
450         (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
451         (WebInspector.TimelineRecordListRow):
452         (WebInspector.TimelineRecordListRow.prototype.update):
453         (WebInspector.TimelineRecordListRow.prototype.dispose):
454         (WebInspector.TimelineRecordGraphRow):
455         (WebInspector.TimelineRecordGraphRow.prototype.update):
456         (WebInspector.TimelineRecordGraphRow.prototype._onClick):
457         (WebInspector.TimelineRecordGraphRow.prototype.dispose):
458         * inspector/front-end/inspector.css:
459
460 2009-11-24  Mark Rowe  <mrowe@apple.com>
461
462         Fix production builds where the source tree may be read-only.
463
464         * WebCore.xcodeproj/project.pbxproj:
465
466 2009-11-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
467
468         Reviewed by Kenneth Rohde Christiansen.
469
470         Include "config.h" to meet Coding Style Guidelines
471         https://bugs.webkit.org/show_bug.cgi?id=31792
472
473         No new tests as there is no new functionality.
474
475         * platform/graphics/win/IntPointWin.cpp:
476         * platform/graphics/win/IntRectWin.cpp:
477         * platform/graphics/win/IntSizeWin.cpp:
478         * platform/network/chromium/ResourceRequest.cpp:
479         * platform/win/PlatformMouseEventWin.cpp:
480
481 2009-11-23  Jian Li  <jianli@chromium.org>
482
483         Reviewed by NOBODY (Chromium build fix).
484
485         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
486         (WebCore::CALLBACK_FUNC_DECL):
487         * platform/graphics/GraphicsContext3D.h:
488
489 2009-11-23  Aaron Golden  <agolden@apple.com>
490
491         Reviewed by Alexey Proskuryakov.
492
493         Prevent ResourceHandleMac's version of ResourceHandle::receivedCredential from stripping
494         identity and certificate information from a WebCore::Credential when receivedCredential
495         needs to modify the credential's persistence.
496
497         Adding a new constructor Credential(const Credential& original, CredentialPersistence)
498         that copies every field from original except for persistence.
499
500         * platform/network/Credential.cpp:
501         (WebCore::Credential::Credential):
502         * platform/network/Credential.h:
503         * platform/network/mac/ResourceHandleMac.mm:
504         (WebCore::ResourceHandle::receivedCredential):
505
506 2009-11-23  Gavin Barraclough  <barraclough@apple.com>
507
508         Reviewed by Geoff Garen.
509
510         Part 2/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after interesting script runs in isolated world
511
512         Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API,
513         and for this to automagically cause execution to take place in the world associated with the
514         global object associated with the ExecState (JSContextRef) passed.  However this is not how
515         things work - the world must be explicitly set within WebCore.
516
517         Making this work just for API calls to evaluate & call will be a far from perfect solution,
518         since direct (non-API) use of JSC still relies on WebCore setting the current world correctly.
519         A better solution would be to make this all work automagically all throughout WebCore, but this
520         will require more refactoring.
521
522         Add references from the JSDOMWindowShell and the JSDOMGlobalObject to the world that owns them,
523         so that we can get to the world from the lexical global object of an ExecState.  In the long-term
524         we should switch over to using this approach for all cases we want to get a world from an exec state.
525
526         * bindings/js/JSDOMBinding.cpp:
527         (WebCore::WebCoreJSClientData::beginningExecution):
528         (WebCore::WebCoreJSClientData::completedExecution):
529         * bindings/js/JSDOMBinding.h:
530         * bindings/js/JSDOMGlobalObject.h:
531         (WebCore::JSDOMGlobalObject::world):
532         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
533         * bindings/js/JSDOMWindowBase.cpp:
534         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
535         * bindings/js/JSDOMWindowBase.h:
536         * bindings/js/JSDOMWindowShell.cpp:
537         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
538         * bindings/js/JSDOMWindowShell.h:
539         (WebCore::JSDOMWindowShell::world):
540         * bindings/js/JSWorkerContextBase.cpp:
541         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
542         * bindings/js/ScriptController.cpp:
543         (WebCore::ScriptController::initScript):
544
545 2009-11-23  Chris Marrin  <cmarrin@apple.com>
546
547         Reviewed by Oliver Hunt.
548
549         Add range checks to rendering calls in WebGL
550         https://bugs.webkit.org/show_bug.cgi?id=31239
551
552         I am now tracking the size of the data in each CanvasBuffer object
553         and keeping track of the buffer size of each active vertex attrib.
554         In drawArrays and drawElements I make sure no attempt is made to
555         access elements outside the valid buffer ranges. The test at:
556
557             http://cs.helsinki.fi/u/ilmarihe/c3d/functions/drawArraysOutOfBounds.html
558
559         no longer crashes.
560
561         I also added all the WebGL enumerations to GraphicsContext3D to use them in the validation checks
562
563         Tests: fast/canvas/webgl/drawArraysOutOfBounds.html
564                fast/canvas/webgl/drawElementssOutOfBounds.html
565
566         * bindings/js/JSWebGLArrayCustom.cpp:
567         (WebCore::toJS):
568         * bindings/js/JSWebGLRenderingContextCustom.cpp:
569         (WebCore::JSWebGLRenderingContext::bufferData):
570         (WebCore::JSWebGLRenderingContext::bufferSubData):
571         (WebCore::JSWebGLRenderingContext::texSubImage2D):
572         * html/canvas/WebGLArrayBuffer.cpp:
573         (WebCore::WebGLArrayBuffer::create):
574         (WebCore::WebGLArrayBuffer::data):
575         * html/canvas/WebGLArrayBuffer.h:
576         * html/canvas/WebGLBuffer.cpp:
577         (WebCore::WebGLBuffer::WebGLBuffer):
578         (WebCore::WebGLBuffer::associateBufferData):
579         (WebCore::WebGLBuffer::associateBufferSubData):
580         (WebCore::WebGLBuffer::byteLength):
581         * html/canvas/WebGLBuffer.h:
582         (WebCore::WebGLBuffer::elementArrayBuffer):
583         * html/canvas/WebGLRenderingContext.cpp:
584         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
585         (WebCore::WebGLRenderingContext::sizeInBytes):
586         (WebCore::WebGLRenderingContext::bindBuffer):
587         (WebCore::WebGLRenderingContext::bufferData):
588         (WebCore::WebGLRenderingContext::bufferSubData):
589         (WebCore::WebGLRenderingContext::createShader):
590         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
591         (WebCore::WebGLRenderingContext::validateIndexArray):
592         (WebCore::WebGLRenderingContext::validateRenderingState):
593         (WebCore::WebGLRenderingContext::drawArrays):
594         (WebCore::WebGLRenderingContext::drawElements):
595         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
596         (WebCore::WebGLRenderingContext::isFramebuffer):
597         (WebCore::WebGLRenderingContext::isProgram):
598         (WebCore::WebGLRenderingContext::isRenderbuffer):
599         (WebCore::WebGLRenderingContext::isShader):
600         (WebCore::WebGLRenderingContext::isTexture):
601         (WebCore::WebGLRenderingContext::useProgram):
602         (WebCore::WebGLRenderingContext::validateProgram):
603         (WebCore::WebGLRenderingContext::vertexAttribPointer):
604         (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
605         * html/canvas/WebGLRenderingContext.h:
606         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
607         * html/canvas/WebGLRenderingContext.idl:
608         * html/canvas/WebGLShader.cpp:
609         (WebCore::WebGLShader::create):
610         (WebCore::WebGLShader::WebGLShader):
611         * html/canvas/WebGLShader.h:
612         * platform/graphics/GraphicsContext3D.h:
613         (WebCore::GraphicsContext3D::):
614         * platform/graphics/mac/GraphicsContext3DMac.cpp:
615         (WebCore::GraphicsContext3D::createShader):
616
617 2009-11-23  Erik Arvidsson  <arv@chromium.org>
618
619         Reviewed by Eric Seidel.
620
621         JSC bindings for HasIndexGetter generates incorrect code (affects
622         MediaList and CSSStyleDeclaration).
623         This cleans up the edge cases for indexing out of range for style and
624         computed style objects to return an empty string according to the spec.
625         MediaList now returns null when indexed out of range.
626         https://bugs.webkit.org/show_bug.cgi?id=31683
627
628         Tests: fast/dom/CSSStyleDeclaration/css-computed-style-item.html
629                fast/dom/CSSStyleDeclaration/css-style-item.html
630                fast/dom/StyleSheet/css-medialist-item.html
631
632         * bindings/scripts/CodeGeneratorJS.pm: If IndexGetterReturnsString then
633                 we do not check the length before calling the item function.
634         * css/CSSComputedStyleDeclaration.cpp:
635         (WebCore::CSSComputedStyleDeclaration::item):
636         * css/CSSMutableStyleDeclaration.cpp:
637         (WebCore::CSSMutableStyleDeclaration::item):
638         * css/CSSStyleDeclaration.idl:
639
640 2009-11-23  Simon Fraser  <simon.fraser@apple.com>
641
642         Reviewed by Dan Bernstein.
643
644         DocumentMarkers need to be educated about transforms
645         https://bugs.webkit.org/show_bug.cgi?id=31751
646         
647         Find highlight is incorrect with transforms
648         <rdar://problem/6358394>
649
650         Allow callers to specify that Frame::selectionTextRects() takes transforms into account
651         when computing the set of rects that encompass a selection. For transformed elemenets, the
652         selection rect will be the bounding box of the selected content.
653         
654         Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.
655         
656         Test: editing/selection/transformed-selection-rects.html
657         
658         * WebCore.base.exp:
659         Frame::selectionTextRects() has a new parameter.
660         
661         * dom/Document.cpp:
662         (WebCore::Document::setRenderedRectForMarker):
663         * dom/Document.h:
664         Pass the marker as a const reference.
665         
666         * dom/Range.h:
667         * dom/Range.cpp:
668         (WebCore::Range::textQuads):
669         Add a new method, textQuads(), which returns a list of quads, respecting transforms.
670         
671         * page/Frame.h:
672         * page/Frame.cpp:
673         (WebCore::Frame::selectionTextRects):
674         Add a new parameter, respectTransforms, and when that is RespectTransforms, use the quad
675         method to get quads for ranges, and then take their bounding boxes.
676
677         * rendering/InlineTextBox.h:
678         * rendering/InlineTextBox.cpp:
679         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
680         (WebCore::InlineTextBox::paintTextMatchMarker):
681         (WebCore::InlineTextBox::computeRectForReplacementMarker):
682         (WebCore::InlineTextBox::paintDocumentMarkers):
683         (WebCore::InlineTextBox::textPos):
684         (WebCore::InlineTextBox::offsetForPosition):
685         
686         Pass DocumentMarkers as a const references.
687         Convert the argument to setRenderedRectForMarker() into absolute coordinates.
688         
689         * rendering/RenderView.cpp:
690         (WebCore::RenderView::selectionBounds):
691
692 2009-11-23  Dirk Schulze  <krit@webkit.org>
693
694         Reviewed by Oliver Hunt.
695
696         [Cairo] support blurred test-shadow
697         [https://bugs.webkit.org/show_bug.cgi?id=31797]
698
699         Support for blurred text-shadows on Cairo. This patch
700         reuses the code of blurred box-shadows, introduced in
701         bug 26102. For a full textshadow support, a filters enabled
702         build is needed.
703
704         * platform/graphics/cairo/FontCairo.cpp:
705         (WebCore::Font::drawGlyphs):
706
707 2009-11-23  Jens Alfke  <snej@chromium.org>
708
709         Reviewed by Geoffrey Garen.
710
711         Change incorrect calls to the constructor "EventNames()" to the correct accessor
712         "eventNames()". This saves ~100 AtomicString lookups each time.
713         https://bugs.webkit.org/show_bug.cgi?id=31811
714
715         * dom/EventNames.h:  Make constructor private to prevent this from happening again.
716         * history/CachedFrame.cpp:
717         (WebCore::CachedFrameBase::restore):  EventNames() --> eventNames()
718         * html/HTMLFormControlElement.cpp:
719         (WebCore::HTMLFormControlElement::checkValidity):  EventNames() --> eventNames()
720         * loader/FrameLoader.cpp:
721         (WebCore::FrameLoader::stopLoading):  EventNames() --> eventNames()
722         (WebCore::FrameLoader::pageHidden):  EventNames() --> eventNames()
723         * page/DOMWindow.cpp:
724         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):  EventNames() --> eventNames()
725
726 2009-11-23  Adam Langley  <agl@google.com>
727
728         Reviewed by Dmitry Titov.
729
730         Chromium Linux: Limit the stroke width and mitre limit.
731
732         Limit the stroke width and mitre limit that we'll pass into Skia to
733         avoid overflowing Skia's uint16_t glyph widths.
734
735         http://code.google.com/p/chromium/issues/detail?id=28250
736         https://bugs.webkit.org/show_bug.cgi?id=31747
737
738         * platform/graphics/skia/PlatformContextSkia.cpp:
739         (scalarBound):
740         (PlatformContextSkia::setupPaintForStroking):
741
742 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
743
744         Reviewed by Oliver Hunt.
745
746         https://bugs.webkit.org/show_bug.cgi?id=31812
747         WebSocket code uses RefPtr::get() where it shouldn't
748
749         No change in funcitonality, just coding style correction.
750
751         * websockets/WebSocket.cpp:
752         (WebCore::WebSocket::~WebSocket):
753         * websockets/WebSocketChannel.cpp:
754         (WebCore::WebSocketChannel::connect):
755         (WebCore::WebSocketChannel::send):
756         (WebCore::WebSocketChannel::bufferedAmount):
757         (WebCore::WebSocketChannel::close):
758         (WebCore::WebSocketChannel::disconnect):
759         (WebCore::WebSocketChannel::didOpen):
760         (WebCore::WebSocketChannel::didClose):
761         (WebCore::WebSocketChannel::didReceiveData):
762         (WebCore::WebSocketChannel::didFail):
763
764 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
765
766         Build fix.
767
768         * platform/network/cf/SocketStreamHandleCFNet.cpp:
769         (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): pacExecutionCallbackMainThread
770         is static, so it can't use member variables directly.
771
772 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
773
774         Reviewed by Brady Eidson.
775
776         https://bugs.webkit.org/show_bug.cgi?id=31748
777         Make WebSocketHandleCFNet respect proxy auto-configuration files via CFProxySupport
778
779         * platform/network/cf/SocketStreamHandle.h: Removed names from some void* arguments, since
780         they didn't carry useful information.
781
782         * platform/network/cf/SocketStreamHandleCFNet.cpp:
783         (WebCore::SocketStreamHandle::SocketStreamHandle): When we need an http-style URL, we actually
784         always need https.
785         (WebCore::SocketStreamHandle::scheduleStreams): Factored out from constructor, since streams
786         only get scheduled after PAC is fetched and executed asynchronously.
787         (WebCore::SocketStreamHandle::copyPACExecutionDescription): Return a description for event
788         source.
789         (WebCore::MainThreadPACCallbackInfo::MainThreadPACCallbackInfo): Forward callback to main thread.
790         (WebCore::SocketStreamHandle::pacExecutionCallback): Ditto.
791         (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): Ditto. To avoid code duplication,
792         we make the call even on Mac.
793         (WebCore::SocketStreamHandle::executePACFileURL): Make an async call to CFNetworkExecuteProxyAutoConfigurationURL.
794         (WebCore::SocketStreamHandle::removePACRunLoopSource): Once PAC execution is done or aborted,
795         we need to get rid of the event source.
796         (WebCore::SocketStreamHandle::chooseProxy): Use stored m_httpsURL.get.
797         (WebCore::SocketStreamHandle::chooseProxyFromArray): Factored out from chooseProxy - the
798         array may come directly from system configuration, or from PAC.
799         (WebCore::SocketStreamHandle::chooseProxy): Tiger version of this function is now completely
800         separate.
801         (WebCore::SocketStreamHandle::~SocketStreamHandle): Run loop source should be destroyed
802         before we get to the destructor.
803         (WebCore::SocketStreamHandle::platformClose): Destroy the run loop source, if PAC execution
804         is still in progress.
805
806 2009-11-23  Oliver Hunt  <oliver@apple.com>
807
808         Reviewed by Geoff Garen.
809
810         Don't leak the CGImage we create when drawing a sub image.
811
812         * platform/graphics/cg/ImageCG.cpp:
813         (WebCore::BitmapImage::draw):
814
815 2009-11-23  Adam Barth  <abarth@webkit.org>
816
817         Reviewed by Dimitri Glazkov.
818
819         [V8] Don't crash when OOM in creating isolated world
820         https://bugs.webkit.org/show_bug.cgi?id=31805
821
822         We need to add some more null checks to avoid crashing.  No new tests
823         because we don't have a good way to test out-of-memory bugs.
824
825         * bindings/v8/V8Proxy.cpp:
826         (WebCore::V8Proxy::evaluateInIsolatedWorld):
827         (WebCore::V8Proxy::evaluateInNewContext):
828         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
829         * bindings/v8/V8Proxy.h:
830
831 2009-11-23  Dirk Schulze  <krit@webkit.org>
832
833         Reviewed by Nikolas Zimmermann.
834
835         This is the implementation of the filterRes attribute. It
836         helps the SVG developer to set the quality of a filter by
837         giving the width or height of filter.
838         This patch also sets the filter resolution to lower values
839         if a intermediate ImageBuffer size is bigger than the given
840         maximal size.
841         The maximal size is set to 5000x5000 by default. This is a
842         subjectiv decission. Everthing greater than this values gets
843         sensible slower. Values of 10000x10000 crashed on WebKitGtk.
844         For mobil devices a maximum size of 100x100 or 200x200 seems
845         to be reasonable.
846         The important fact on filter resolution is, that the output
847         size is still the size given by the <filter> element.
848
849         Tests: svg/filters/big-sized-filter-2.svg
850                svg/filters/big-sized-filter.svg
851                svg/filters/filterRes.svg
852
853         * platform/graphics/FloatRect.cpp:
854         (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
855         * platform/graphics/FloatRect.h:
856         (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
857         * platform/graphics/cairo/GraphicsContextCairo.cpp:
858         (WebCore::GraphicsContext::createPlatformShadow): Use scaledSubRegion for
859         calculation.
860         * platform/graphics/filters/FEBlend.cpp:
861         (WebCore::FEBlend::apply): Use scaledSubRegion for effect intern calculations.
862         * platform/graphics/filters/FEColorMatrix.cpp:
863         (WebCore::FEColorMatrix::apply): Use scaledSubRegion for effect intern calculations.
864         * platform/graphics/filters/FEComponentTransfer.cpp:
865         (WebCore::FEComponentTransfer::apply): Use scaledSubRegion for effect intern
866         calculations.
867         * platform/graphics/filters/FEComposite.cpp:
868         (WebCore::FEComposite::apply): Use scaledSubRegion for effect intern calculations.
869         * platform/graphics/filters/FEGaussianBlur.cpp:
870         (WebCore::FEGaussianBlur::apply): Use scaledSubRegion for effect intern calculations.
871         * platform/graphics/filters/Filter.h: Add the abbility to change the quality
872         of a filter output.
873         (WebCore::Filter::filterResolution):
874         (WebCore::Filter::setFilterResolution):
875         (WebCore::Filter::calculateEffectSubRegion): Calculates the correct subRegion
876         as well as the scaledSubRegion. It also searches for the biggest effect size.
877         We have to change the filter resolution, if one intermediate ImageBuffer size
878         doesn't fit in the maximal image size.
879         * platform/graphics/filters/FilterEffect.cpp:
880         (WebCore::FilterEffect::calculateDrawingIntRect): Use scaledSubRegion to get
881         the right part of a previous effect result.
882         (WebCore::FilterEffect::calculateDrawingRect): Use scaledSubRegion to get
883         the right part of a previous effect result.
884         (WebCore::FilterEffect::getEffectContext): Use scaledSubRegion to create
885         a new intermediate ImageBuffer for the result of the current effect.
886         * platform/graphics/filters/FilterEffect.h:
887         (WebCore::FilterEffect::scaledSubRegion): The scaled subRegion of a the
888         filter effect.
889         (WebCore::FilterEffect::setScaledSubRegion):
890         (WebCore::FilterEffect::effectBoundaries): The original values of the
891         EffectElement for a second subRegion calculation.
892         (WebCore::FilterEffect::setEffectBoundaries):
893         * platform/graphics/filters/ImageBufferFilter.cpp:
894         (WebCore::ImageBufferFilter::ImageBufferFilter): Set the scale factor to one.
895         * platform/graphics/filters/ImageBufferFilter.h:
896         (WebCore::ImageBufferFilter::maxImageSize):
897         (WebCore::ImageBufferFilter::calculateEffectSubRegion):
898         * platform/graphics/filters/SourceAlpha.cpp:
899         (WebCore::SourceAlpha::calculateEffectRect): Use scaledSubRegion for effect
900         intern calculations.
901         * platform/graphics/filters/SourceGraphic.cpp:
902         (WebCore::SourceGraphic::calculateEffectRect): Use scaledSubRegion for effect
903         intern calculations.
904         * svg/SVGFilterElement.cpp:
905         (WebCore::SVGFilterElement::parseMappedAttribute): Parse filterRes attribute.
906         (WebCore::SVGFilterElement::buildFilter): Give SVGResourceFilter the current
907         filterResolution.
908         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
909         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): Save
910         values to effectBoundaries of the filter effect
911         * svg/graphics/SVGResourceFilter.cpp:
912         (WebCore::SVGResourceFilter::SVGResourceFilter):
913         (WebCore::shouldProcessFilter): Return signal if a neccessary value is zero.
914         (WebCore::SVGResourceFilter::fitsInMaximumImageSize): Checks if the given size
915         fits into the maximal image size, modifys scale factors if not and return a
916         bool: fits.
917         (WebCore::SVGResourceFilter::prepareFilter): Scale the SourceImage to
918         filterResolution (given by FilterElement or calculated on to big image sizes).
919         Set the scale level to SVGFilter.
920         (WebCore::SVGResourceFilter::applyFilter): Don't apply filters if shouldProcessFilter
921         is wrong.
922         * svg/graphics/SVGResourceFilter.h:
923         (WebCore::SVGResourceFilter::setFilterResolution): FilterResolution of FilterElement.
924         (WebCore::SVGResourceFilter::setHasFilterResolution): Does FilterElement provides
925         a FilterResolution?
926         (WebCore::SVGResourceFilter::scaleX): Current scale factor for horizontal.
927         (WebCore::SVGResourceFilter::scaleY): Current scale factor for vertical.
928         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
929         (WebCore::FEDisplacementMap::apply): Use scaledSubRegion for effect intern calculations.
930         Kernel values are scaled to current filter resolution too.
931         * svg/graphics/filters/SVGFEFlood.cpp:
932         (WebCore::FEFlood::apply): Use scaledSubRegion for effect intern calculations.
933         * svg/graphics/filters/SVGFEMerge.cpp:
934         (WebCore::FEMerge::apply): Use scaledSubRegion for effect intern calculations.
935         Kernel values are scaled to current filter resolution too.
936         * svg/graphics/filters/SVGFEMorphology.cpp:
937         (WebCore::FEMorphology::apply): Use scaledSubRegion for effect intern calculations.
938         Kernel values are scaled to current filter resolution too.
939         * svg/graphics/filters/SVGFEOffset.cpp:
940         (WebCore::FEOffset::apply): Use scaledSubRegion for effect intern calculations.
941         * svg/graphics/filters/SVGFETile.cpp:
942         (WebCore::FETile::apply): Use scaledSubRegion for effect intern calculations.
943         * svg/graphics/filters/SVGFilter.cpp:
944         (WebCore::SVGFilter::calculateEffectSubRegion): Calculate subRegion for LayoutTests,
945         scaledSubRegion according to the current filterResolution and get the maximal image size.
946         * svg/graphics/filters/SVGFilter.h:
947         (WebCore::SVGFilter::effectBoundingBoxMode): Original values of the FilterElement. 
948         (WebCore::SVGFilter::filterRegion): Use virtual for clarification.
949         (WebCore::SVGFilter::sourceImageRect): Use virtual for clarification.
950         (WebCore::SVGFilter::maxImageSize): Get the maximal image size.
951
952 2009-11-23  Simon Hausmann  <simon.hausmann@nokia.com>
953
954         Reviewed by Kenneth Rohde Christiansen.
955
956         [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
957         the wrapped object died before the gc removed the instance.
958
959         https://bugs.webkit.org/show_bug.cgi?id=31681
960
961         Before using a cached instance, verify that its wrapped QObject is
962         still alive.
963
964         * bridge/qt/qt_instance.cpp:
965         (JSC::Bindings::QtInstance::getQtInstance):
966         * bridge/qt/qt_instance.h:
967         (JSC::Bindings::QtInstance::hashKey):
968
969 2009-11-22  Chris Fleizach  <cfleizach@apple.com>
970
971         Reviewed by Oliver Hunt.
972
973         ARIA: support aria-flowto
974         https://bugs.webkit.org/show_bug.cgi?id=31762
975
976         Test: platform/mac/accessibility/aria-flowto.html
977
978         * accessibility/AccessibilityObject.h:
979         (WebCore::AccessibilityObject::ariaOwnsElements):
980         (WebCore::AccessibilityObject::supportsARIAFlowTo):
981         (WebCore::AccessibilityObject::ariaFlowToElements):
982         * accessibility/AccessibilityRenderObject.cpp:
983         (WebCore::AccessibilityRenderObject::linkedUIElements):
984         (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
985         (WebCore::AccessibilityRenderObject::ariaFlowToElements):
986         * accessibility/AccessibilityRenderObject.h:
987         * html/HTMLAttributeNames.in:
988
989 2009-11-22  Nikolas Zimmermann  <nzimmermann@rim.com>
990
991         Not reviewed. Build fix for WML enabled builds.
992         Adopt WebCore API changes.
993
994         * wml/WMLAElement.cpp:
995         (WebCore::WMLAElement::defaultEventHandler):
996         * wml/WMLInputElement.cpp:
997         (WebCore::WMLInputElement::defaultEventHandler):
998
999 2009-11-22  Pavel Feldman  <pfeldman@chromium.org>
1000
1001         Reviewed by Timothy Hatcher.
1002
1003         Web Inspector: Introduce sidebar background on timeline panel in order
1004         to prevent it from flickering on scroll.
1005
1006         https://bugs.webkit.org/show_bug.cgi?id=31789
1007
1008         * inspector/front-end/TimelinePanel.js:
1009         (WebInspector.TimelinePanel):
1010         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
1011         (WebInspector.TimelinePanel.prototype._onScroll):
1012         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
1013         * inspector/front-end/inspector.css:
1014
1015 2009-11-22  Pavel Feldman  <pfeldman@chromium.org>
1016
1017         Reviewed by Timothy Hatcher.
1018
1019         Web Inspector: Reimplement TimelinePanel to make it fast:
1020         - Extract grid and overview into separate files
1021         - Make timeline create only divs for visible rows
1022
1023         https://bugs.webkit.org/show_bug.cgi?id=31784
1024
1025         * WebCore.gypi:
1026         * WebCore.vcproj/WebCore.vcproj:
1027         * inspector/front-end/AbstractTimelinePanel.js:
1028         (WebInspector.AbstractTimelinePanel.prototype.createInterface):
1029         (WebInspector.AbstractTimelinePanel.prototype.refresh):
1030         (WebInspector.AbstractTimelinePanel.prototype.set calculator):
1031         * inspector/front-end/TimelineGrid.js: Added.
1032         (WebInspector.TimelineGrid):
1033         (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
1034         (WebInspector.TimelineGrid.prototype.updateDividers):
1035         (WebInspector.TimelineGrid.prototype.addEventDivider):
1036         (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
1037         * inspector/front-end/TimelineOverviewPane.js: Added.
1038         (WebInspector.TimelineOverviewPane):
1039         (WebInspector.TimelineOverviewPane.prototype._onCheckboxClicked):
1040         (WebInspector.TimelineOverviewPane.prototype.update):
1041         (WebInspector.TimelineOverviewPane.prototype.setSidebarWidth):
1042         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
1043         (WebInspector.TimelineOverviewPane.prototype.reset):
1044         (WebInspector.TimelineOverviewPane.prototype._resizeWindow):
1045         (WebInspector.TimelineOverviewPane.prototype._windowResizeDragging):
1046         (WebInspector.TimelineOverviewPane.prototype._dragWindow):
1047         (WebInspector.TimelineOverviewPane.prototype._windowDragging):
1048         (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
1049         (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
1050         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
1051         (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
1052         (WebInspector.TimelineOverviewCalculator):
1053         (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
1054         (WebInspector.TimelineOverviewCalculator.prototype.reset):
1055         (WebInspector.TimelineOverviewCalculator.prototype.updateBoundaries):
1056         (WebInspector.TimelineOverviewCalculator.prototype.get boundarySpan):
1057         (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
1058         (WebInspector.TimelineCategoryTreeElement):
1059         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
1060         (WebInspector.TimelineCategoryGraph):
1061         (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
1062         (WebInspector.TimelineCategoryGraph.prototype.addChunk):
1063         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
1064         (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
1065         * inspector/front-end/TimelinePanel.js:
1066         (WebInspector.TimelinePanel):
1067         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
1068         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
1069         (WebInspector.TimelinePanel.prototype._formatRecord):
1070         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
1071         (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
1072         (WebInspector.TimelinePanel.prototype.resize):
1073         (WebInspector.TimelinePanel.prototype.reset):
1074         (WebInspector.TimelinePanel.prototype.show):
1075         (WebInspector.TimelinePanel.prototype._onScroll):
1076         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
1077         (WebInspector.TimelinePanel.prototype._refresh):
1078         (WebInspector.TimelinePanel.prototype._refreshRecords):
1079         (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
1080         (WebInspector.TimelineCategory):
1081         (WebInspector.TimelineCalculator):
1082         (WebInspector.TimelineCalculator.prototype.get boundarySpan):
1083         (WebInspector.TimelineRecordListRow):
1084         (WebInspector.TimelineRecordListRow.prototype.update):
1085         (WebInspector.TimelineRecordGraphRow):
1086         (WebInspector.TimelineRecordGraphRow.prototype.update):
1087         * inspector/front-end/WebKit.qrc:
1088         * inspector/front-end/inspector.css:
1089         * inspector/front-end/inspector.html:
1090
1091 2009-11-22  Chris Evans  <cevans@chromium.org>
1092
1093         Reviewed by Adam Barth.
1094
1095         Disable access to file:/// directory listings
1096         https://bugs.webkit.org/show_bug.cgi?id=31329
1097
1098         Deny access to directory listings. This needs doing in WebKit for
1099         WebKit clients that do permit top-level navigation to file:///dir.
1100         This matches Firefox, plus the existing Safari implementation (which
1101         does not support any directory access at all). It will fix the
1102         LayoutTest named below for Chromium.
1103
1104         Test: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html
1105
1106         * page/SecurityOrigin.cpp: Deny access to directory listings.
1107         (WebCore::SecurityOrigin::SecurityOrigin):
1108         (WebCore::SecurityOrigin::canRequest):
1109
1110 2009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
1111
1112         Reviewed by Timothy Hatcher.
1113
1114         Web Inspector: Support Ctrl+P and Ctrl+N, Readline keyboard shortcuts in the Console
1115         https://bugs.webkit.org/show_bug.cgi?id=31400
1116
1117         Handle the following when on a Mac:
1118
1119           Ctrl+P = Previous (like Up arrow)
1120           Ctrl+N = Next (like Down arrow)
1121
1122         No longer rerun autocompletion when just pushing a modifier key
1123         like Control, Alt, Shift, or Meta.
1124
1125         Improved arrow key behavior with Multiline code in the Console, with the following behavior:
1126
1127           Up   = Previous Command if on First Line (caret moves to the end of the first line)
1128                  otherwise default caret movement in text.
1129           Down = Next Command if on Last Line (caret naturally moves to the end)
1130                  otherwise default caret movement in text.
1131
1132         * inspector/front-end/TextPrompt.js:
1133         (WebInspector.TextPrompt.prototype.handleKeyEvent): handle new keyboard shortcuts
1134         (WebInspector.TextPrompt.prototype.isCaretOnFirstLine): check if the caret is on the top line
1135         (WebInspector.TextPrompt.prototype.isCaretOnLastLine): check if the caret is on the bottom line
1136         (WebInspector.TextPrompt.prototype._upKeyPressed):
1137         (WebInspector.TextPrompt.prototype._downKeyPressed):
1138         (WebInspector.TextPrompt.prototype._moveBackInHistory):
1139         (WebInspector.TextPrompt.prototype._moveForwardInHistory):
1140
1141 2009-11-21  Jessie Berlin  <jberlin@webkit.org>
1142
1143         Reviewed by Timothy Hatcher.
1144
1145         Adds a tooltip containing the full url of the resource to each element
1146         in the Resources panel so that it is possible to quickly see the query
1147         parameters.
1148         https://bugs.webkit.org/show_bug.cgi?id=19103
1149
1150         * inspector/front-end/ResourcesPanel.js:
1151         (WebInspector.ResourceSidebarTreeElement.prototype.refresh):
1152         Set the tooltip to be the resource's url.
1153
1154 2009-11-21  Simon Fraser  <simon.fraser@apple.com>
1155
1156         Reviewed by Dan Bernstein.
1157
1158         CSSKeyframesRule::findRule() and deleteRule() should accept 'from' and 'to' as well as percentages
1159         https://bugs.webkit.org/show_bug.cgi?id=31588
1160         
1161         In WebKitCSSKeyframesRule::findRuleIndex(), map 'from' to 0% an 'to' to 100%
1162         so that findRule() and deleteRule() work with these keywords.
1163
1164         * css/WebKitCSSKeyframesRule.cpp:
1165         (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
1166
1167 2009-11-21  Daniel Bates  <dbates@webkit.org>
1168
1169         Reviewed by Eric Seidel.
1170
1171         https://bugs.webkit.org/show_bug.cgi?id=31647
1172
1173         Changed KeyboardEvent::m_keyEvent from a raw pointer to an OwnPtr.
1174
1175         No functionality was changed. So, no new tests.
1176
1177         * dom/KeyboardEvent.cpp:
1178         (WebCore::KeyboardEvent::~KeyboardEvent):
1179         * dom/KeyboardEvent.h: Changed m_keyEvent to OwnPtr.
1180         (WebCore::KeyboardEvent::keyEvent):
1181
1182 2009-11-20  Chris Fleizach  <cfleizach@apple.com>
1183
1184         Reviewed by Beth Dakin.
1185
1186         WAI-ARIA: add support for aria-owns
1187         https://bugs.webkit.org/show_bug.cgi?id=31702
1188
1189         Re-organized how accessibilityAttributeNames are returned so 
1190         that it's possible for an element to add an attribute based on 
1191         a dynamic value. In this case, we only want to add AXOwn if the 
1192         element actually supports aria-owns.
1193   
1194         Test: platform/mac/accessibility/aria-owns.html
1195
1196         * accessibility/AccessibilityObject.h:
1197         (WebCore::AccessibilityObject::supportsARIAOwns):
1198         (WebCore::AccessibilityObject::ariaOwnsElements):
1199         * accessibility/AccessibilityRenderObject.cpp:
1200         (WebCore::AccessibilityRenderObject::ariaOwnsElements):
1201         (WebCore::AccessibilityRenderObject::supportsARIAOwns):
1202         * accessibility/AccessibilityRenderObject.h:
1203         * accessibility/mac/AccessibilityObjectWrapper.mm:
1204         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1205         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1206         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1207         * html/HTMLAttributeNames.in:
1208
1209 2009-11-20  Eric Carlson  <eric.carlson@apple.com>
1210
1211         Reviewed by Simon Fraser.
1212
1213         <rdar://problem/7414396> Leopard & Tiger: Support closed caption in <video> element
1214
1215         * css/mediaControls.css:
1216             Define closed caption toggle button.
1217
1218         * rendering/RenderMedia.cpp:
1219         (WebCore::RenderMedia::updateControls):
1220             Create closed caption toggle button in display order.
1221
1222         * rendering/RenderThemeMac.mm:
1223         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
1224             Don't require MediaControllerThemeQuickTime theme for captions toggle button.
1225             No need to check if the movie has video, a closed captions track is a video
1226             track.
1227
1228 2009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
1229
1230         Reviewed by Timothy Hatcher.
1231
1232         Web Inspector: Running code in the Console that ends with a
1233         single line comment no longer produces a parse error.
1234
1235         * inspector/front-end/InjectedScript.js:
1236         (InjectedScript._evaluateOn):
1237
1238 2009-11-20  Chris Fleizach  <cfleizach@apple.com>
1239
1240         Reviewed by Beth Dakin.
1241
1242         WAI-ARIA: add support for 'math' role
1243         https://bugs.webkit.org/show_bug.cgi?id=31706
1244
1245         * accessibility/AccessibilityObject.cpp:
1246         * accessibility/AccessibilityObject.h:
1247         * accessibility/mac/AccessibilityObjectWrapper.mm:
1248
1249 2009-11-20  Yael Aharon  <yael.aharon@nokia.com>
1250
1251         Reviewed by Kenneth Rohde Christiansen.
1252
1253         NPN_ReloadPlugins does not reload the page even if reloadPages is true.
1254         https://bugs.webkit.org/show_bug.cgi?id=30460
1255
1256         Replace call to PluginDatabase::installedPlugins()->refresh() with Page::refreshPlugins().
1257         It already refreshes plugins and reloads pages when necessary.
1258
1259         Tests: plugins/reloadplugins-and-pages.html
1260                plugins/reloadplugins-no-pages.html
1261
1262         * plugins/PluginInfoStore.cpp:
1263         (WebCore::refreshPlugins):
1264
1265 2009-11-20  Oliver Hunt  <oliver@apple.com>
1266
1267         Reviewed by Dave Hyatt.
1268
1269         <rdar://7409188> WebKit needs to be able to serialize and deserialize objects.
1270
1271         Expose WebCore object serialization to WebKit.
1272
1273         * WebCore.base.exp:
1274         * bindings/js/SerializedScriptValue.cpp:
1275         (WebCore::SerializedScriptValue::~SerializedScriptValue):
1276         (WebCore::SerializedScriptValue::create):
1277         (WebCore::SerializedScriptValue::deserialize):
1278         * bindings/js/SerializedScriptValue.h:
1279
1280 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
1281
1282         Reviewed by Tim Hatcher.
1283
1284         Fixes <http://webkit.org/b/31741>.
1285         Web Inspector: User Entered Data on the console should show up no matter what filters.
1286         
1287         Always show .console-user-command-result, no matter what the filter say
1288         we should do with the other classes.
1289
1290         * inspector/front-end/inspector.css:
1291
1292 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
1293
1294         Reviewed by Tim Hatcher.
1295
1296         Fixes <http://webkit.org/b/31700>.
1297         Web Inspector: isMac should be in one central location + Cached.
1298         
1299         We should cache the value of isMac, and make the indexOf call in one
1300         single location, because we are calling it from multiple places, and saving
1301         the result can save us time, and make the call sites simpler.
1302
1303         * inspector/front-end/AbstractTimelinePanel.js:
1304         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
1305         * inspector/front-end/ConsoleView.js:
1306         (WebInspector.ConsoleView.prototype._updateFilter):
1307         * inspector/front-end/ElementsPanel.js:
1308         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
1309         * inspector/front-end/ScriptsPanel.js:
1310         (WebInspector.ScriptsPanel):
1311         * inspector/front-end/SourceFrame.js:
1312         (WebInspector.SourceFrame.prototype._loaded):
1313         * inspector/front-end/inspector.js:
1314         (WebInspector.documentKeyDown):
1315         (WebInspector.isMac):
1316
1317 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
1318
1319         Removed .DS_Store accidentally added in last (r51245).
1320
1321 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
1322
1323         Reviewed by Timothy Hatcher.
1324
1325         Web Inspector: Add Console Only Layout Mode
1326         https://bugs.webkit.org/show_bug.cgi?id=30282
1327
1328         Adds a Console Panel, which allows for a Full size Console. This
1329         extends the Drawer to the size of a Panel. This also fixes previous
1330         resize issues with the Drawer.
1331
1332         * inspector/front-end/ConsolePanel.js: added.
1333         (WebInspector.ConsolePanel):
1334         (WebInspector.ConsolePanel.prototype.toolbarItemClass.get toolbarItemLabel):
1335         (WebInspector.ConsolePanel.prototype.show):
1336         (WebInspector.ConsolePanel.prototype.hide):
1337         * inspector/front-end/Drawer.js:
1338         (WebInspector.Drawer):
1339         (WebInspector.Drawer.prototype.set visibleView):
1340         (WebInspector.Drawer.prototype.get savedHeight): access the saved height of the variable console.
1341         (WebInspector.Drawer.prototype.show.animationFinished):
1342         (WebInspector.Drawer.prototype.show):
1343         (WebInspector.Drawer.prototype.hide.animationFinished):
1344         (WebInspector.Drawer.prototype.hide):
1345         (WebInspector.Drawer.prototype.resize): resize appropriately if full/non-full
1346         (WebInspector.Drawer.prototype.enterPanelMode):
1347         (WebInspector.Drawer.prototype.exitPanelMode):
1348         (WebInspector.Drawer.prototype.immediatelyExitPanelMode):
1349         (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
1350         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
1351         (WebInspector.Drawer.prototype._animateDrawerHeight):
1352         (WebInspector.Drawer.prototype._animationDuration):
1353         (WebInspector.Drawer.prototype._startStatusBarDragging):
1354         (WebInspector.Drawer.prototype._statusBarDragging):
1355         (WebInspector.Drawer.prototype._endStatusBarDragging):
1356
1357         Miscellaneous changes and cleanup.
1358
1359         * English.lproj/localizedStrings.js: "Console" toolbar title.
1360         * inspector/front-end/ConsoleView.js: removed unnecessary element reordering  
1361         * inspector/front-end/Images/consoleIcon.png: added.
1362         * inspector/front-end/inspector.css: added icon.
1363         * inspector/front-end/inspector.html:
1364         * inspector/front-end/inspector.js:
1365         (WebInspector._createPanels): create console panel
1366         (WebInspector.windowResize): resize drawer if necessary
1367         (WebInspector.documentKeyDown): esc should not toggle the console when in panel mode
1368         (WebInspector.animateStyle): start animation interval, returns the interval key
1369         (WebInspector.toggleAttach): resize drawer if necessary
1370         (WebInspector.showConsolePanel): restore the panel when the inspector restarts
1371         (WebInspector.showProfileForURL): style fix
1372
1373         Restore the panel when the inspector restarts.
1374
1375         * inspector/InspectorController.cpp:
1376         (WebCore::InspectorController::setWindowVisible):
1377         (WebCore::InspectorController::specialPanelForJSName):
1378         * inspector/InspectorFrontend.cpp:
1379         (WebCore::InspectorFrontend::showPanel):
1380
1381         Build files.
1382
1383         * WebCore.gypi:
1384         * WebCore.vcproj/WebCore.vcproj:
1385         * inspector/front-end/WebKit.qrc:
1386
1387 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
1388
1389         Reviewed by Tim Hatcher.
1390
1391         Fixes <http://webkit.org/b/31699>.
1392         Web Inspector: Should Cache Values of InspectorController.platform() and port().
1393
1394         Refactor the Inspector to cache the value of InspectorController.platform
1395         and InspectorController.port, because those need to call into C++, they are
1396         being called more and more as we add platform specific keyboard shortcuts, and
1397         they shouldn't change in the lifecycle of the Web Inspector.
1398
1399         * inspector/front-end/AbstractTimelinePanel.js:
1400         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
1401         * inspector/front-end/ConsoleView.js:
1402         (WebInspector.ConsoleView.prototype._updateFilter):
1403         * inspector/front-end/ElementsPanel.js:
1404         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
1405         * inspector/front-end/ScriptsPanel.js:
1406         (WebInspector.ScriptsPanel):
1407         * inspector/front-end/SourceFrame.js:
1408         (WebInspector.SourceFrame.prototype._loaded):
1409         * inspector/front-end/inspector.js:
1410         (WebInspector.get platform):
1411         (WebInspector.get port):
1412         (WebInspector.loaded):
1413         (WebInspector.documentKeyDown):
1414         (WebInspector.toolbarDragStart):
1415
1416 2009-11-20  Dirk Schulze  <krit@webkit.org>
1417
1418         Unreviewed build fix for filters enabled builds.
1419
1420         * platform/graphics/filters/FEColorMatrix.cpp:
1421         (WebCore::FEColorMatrix::apply):
1422         * platform/graphics/filters/FEComposite.cpp:
1423         (WebCore::FEComposite::apply):
1424         * platform/graphics/filters/SourceGraphic.cpp:
1425         (WebCore::SourceGraphic::apply):
1426         * svg/graphics/SVGResourceFilter.cpp:
1427         (WebCore::SVGResourceFilter::applyFilter):
1428         * svg/graphics/filters/SVGFEMerge.cpp:
1429         (WebCore::FEMerge::apply):
1430         * svg/graphics/filters/SVGFEOffset.cpp:
1431         (WebCore::FEOffset::apply):
1432         * svg/graphics/filters/SVGFETile.cpp:
1433         (WebCore::FETile::apply):
1434
1435 2009-11-20  Eric Carlson  <eric.carlson@apple.com>
1436
1437         Reviewed by Simon Fraser.
1438
1439         <rdar://problem/7389945> QTKit based media engine should not claim to support 
1440         fullscreen on Leopard
1441
1442         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1443         (WebCore::MediaPlayerPrivate::supportsFullscreen):
1444             Only return true on SnowLeopard for now.
1445
1446         * rendering/RenderThemeMac.mm:
1447         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
1448             No need to special case MediaFullscreenButtonPart as the default implementation 
1449             asks the media engine if it supports fullscreen.
1450
1451 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
1452
1453         Reviewed by Simon Hausmann.
1454
1455         Patch by Yongjun Zhang <yongjun.zhang@nokia.com> and
1456                  Girish Ramakrishnan <girish@forwardbias.in>
1457         
1458         [Qt] Implement support for rendering plugins on Qt/Mac when a page is used
1459         without a QWebView or when inside QGraphicsWebView.
1460         
1461         Currently, the code provides the cgcontext of the PlatformPluginWidget to
1462         the plugin. This approach does not work when we are printing, or using
1463         QWebFrame::render() to render to a QImage/QPixmap since the plugin ends
1464         up drawing on the QWebView (i.e platformPluginWidget's cgcontext) instead
1465         of the QPaintDevice's context.
1466         
1467         To solve all cases and keep the code simple, we render the plugin to an
1468         offscreen pixmap in all cases. This way, the plugin always renders to the
1469         CGContext of the pixmap and we then use QPainter to blit the pixmap into
1470         the QPaintDevice. We also create a fake window and set it's WindowRef in
1471         NPWindow. Only with this WindowRef does Flash paint correctly to the QPixmap.
1472         
1473         Now, that's the theory. In practice, ATM, mouse events do not work when using
1474         the fake window. So, setPlatformPluginWidget() is still called when using QWebView
1475         so that there are no regressions after this patch. Once we get mouse events
1476         working, setPlatformPluginWidget will be removed.
1477         
1478         https://bugs.webkit.org/show_bug.cgi?id=31183
1479
1480         * plugins/PluginView.cpp:
1481         (WebCore::PluginView::PluginView):
1482         * plugins/PluginView.h:
1483         * plugins/mac/PluginViewMac.cpp:
1484         (WebCore::PluginView::platformStart):
1485         (WebCore::PluginView::platformDestroy):
1486         (WebCore::PluginView::setNPWindowIfNeeded):
1487         (WebCore::PluginView::updatePluginWidget):
1488         (WebCore::PluginView::paint):
1489         (WebCore::PluginView::invalidateRect):
1490
1491 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
1492
1493         Reviewed by Timothy Hatcher.
1494
1495         Web Inspector: Resync Resources Backend and Frontend
1496         https://bugs.webkit.org/show_bug.cgi?id=31705
1497
1498         * inspector/front-end/Resource.js: resync enum values with backend
1499         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): return false if all else fails, not true in all cases
1500
1501 2009-11-19  Steve Block  <steveblock@google.com>
1502
1503         Reviewed by Darin Fisher.
1504
1505         Android port lacks configuration in Platform.h and config.h.
1506         https://bugs.webkit.org/show_bug.cgi?id=31671
1507
1508         Build change only. No new tests possible.
1509
1510         * config.h: Modified. Added Android-specific configuration.
1511
1512 2009-11-20  Roland Steiner  <rolandsteiner@chromium.org>
1513
1514         Reviewed by Darin Adler.
1515
1516         Change default stylesheet to reset text indentation for ruby elements by default.
1517         (https://bugs.webkit.org/show_bug.cgi?id=31247)
1518
1519         Test: fast/ruby/ruby-text-indent.html
1520
1521         * css/html.css: reset text-indent on <ruby> and <rt> elements
1522
1523 2009-11-19  Brian Weinstein  <bweinstein@apple.com>
1524
1525         Reviewed by Darin Adler.
1526
1527         Fixes <http://webkit.org/b/22754>.
1528         Web Inspector: Keyboard shortcut for Element finder.
1529
1530         Use Command + Shift + C as a shortcut for Node Search, to 
1531         match the Firebug shortcut to do the same thing.
1532
1533         * inspector/front-end/ElementsPanel.js:
1534         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
1535
1536 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
1537
1538         Reviewed by Darin Adler.
1539
1540         https://bugs.webkit.org/show_bug.cgi?id=31690
1541         Make SocketStreamHandleCFNet work on Windows
1542
1543         * WebCore.vcproj/WebCore.vcproj: Added LoaderRunLoopCF.
1544
1545         * platform/network/ResourceHandle.h: Removed loaderRunLoop().
1546
1547         * platform/network/cf/LoaderRunLoopCF.cpp: Added.
1548         (WebCore::emptyPerform):
1549         (WebCore::runLoaderThread):
1550         (WebCore::loaderRunLoop):
1551         * platform/network/cf/LoaderRunLoopCF.h: Added.
1552         Moved the run loop that we use for CFNetwork from ResourceHandle to its own file, because
1553         it's needed for more than just resource loading.
1554
1555         * platform/network/cf/ResourceHandleCFNet.cpp: Use loaderRunLoop() from its new location.
1556
1557         * platform/network/cf/DNSCFNet.cpp: (WebCore::DNSResolveQueue::resolve): Ditto.
1558
1559         * platform/network/cf/SocketStreamHandle.h: Added static callbacks for forwarding events to
1560         main thread.
1561         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1562         (WebCore::SocketStreamHandle::SocketStreamHandle): Use loaderRunLoop() on Windows instead of
1563         inoperable main run loop.
1564
1565         (WebCore::MainThreadEventCallbackInfo::MainThreadEventCallbackInfo): 
1566         (WebCore::SocketStreamHandle::readStreamCallback):
1567         (WebCore::SocketStreamHandle::writeStreamCallback):
1568         (WebCore::SocketStreamHandle::readStreamCallbackMainThread):
1569         (WebCore::SocketStreamHandle::writeStreamCallbackMainThread):
1570         Forward stream events to main thread on Windows.
1571
1572 2009-11-19  Avi Drissman  <avi@chromium.org>
1573
1574         Reviewed by Darin Adler.
1575
1576         Quick style fix.
1577         https://bugs.webkit.org/show_bug.cgi?id=27777
1578
1579         * platform/graphics/cg/PDFDocumentImage.cpp:
1580
1581 2009-11-19  Beth Dakin  <bdakin@apple.com>
1582
1583        Build fix. No review needed.
1584
1585         * platform/chromium/ScrollbarThemeChromium.cpp:
1586         (WebCore::ScrollbarThemeChromium::paintTickmarks):
1587         * rendering/RenderMediaControlsChromium.cpp:
1588         (WebCore::paintMediaButton):
1589
1590 2009-11-19  Beth Dakin  <bdakin@apple.com>
1591       
1592        Build fix. No review needed.
1593
1594         * rendering/RenderThemeChromiumSkia.cpp:
1595         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
1596         (WebCore::RenderThemeChromiumSkia::paintRadio):
1597         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
1598         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
1599         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
1600
1601 2009-11-19  Beth Dakin  <bdakin@apple.com>
1602
1603        Build fix. No review needed.
1604
1605         * platform/graphics/qt/StillImageQt.cpp:
1606         (WebCore::StillImage::draw):
1607         * platform/graphics/qt/StillImageQt.h:
1608
1609 2009-11-19  Beth Dakin  <bdakin@apple.com>
1610
1611        Build fix. No review needed.
1612
1613         * rendering/RenderThemeWin.cpp:
1614         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
1615         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
1616         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
1617
1618 2009-11-19  Beth Dakin  <bdakin@apple.com>
1619
1620        Build fix. No review needed.
1621
1622         * plugins/PluginView.cpp:
1623         (WebCore::PluginView::paintMissingPluginIcon):
1624
1625 2009-11-19  Beth Dakin  <bdakin@apple.com>
1626
1627         Build fix. No review needed.
1628
1629         * platform/graphics/win/ImageCGWin.cpp:
1630         (WebCore::BitmapImage::getHBITMAPOfSize):
1631         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1632
1633 2009-11-19  Beth Dakin  <bdakin@apple.com>
1634
1635         Reviewed by Darin Adler.
1636
1637         Fix for https://bugs.webkit.org/show_bug.cgi?id=31321 Make -webkit-
1638         color-correction work with untagged images
1639
1640         Image's draw(), drawPattern(), and fillWithSolidColor() functions 
1641         now take a ColorSpace. A bunch of classes inherit from Image, so 
1642         draw() and drawPattern() functions there must also take a 
1643         ColorSpace.
1644         * platform/graphics/Image.cpp:
1645         (WebCore::Image::fillWithSolidColor):
1646         (WebCore::Image::drawTiled):
1647         * platform/graphics/Image.h:
1648         * platform/graphics/BitmapImage.h:
1649         * platform/graphics/GeneratedImage.cpp:
1650         (WebCore::GeneratedImage::draw):
1651         (WebCore::GeneratedImage::drawPattern):
1652         * platform/graphics/GeneratedImage.h:
1653         * platform/graphics/cg/PDFDocumentImage.cpp:
1654         (WebCore::PDFDocumentImage::draw):
1655         * platform/graphics/cg/PDFDocumentImage.h:
1656         * svg/graphics/SVGImage.cpp:
1657         (WebCore::SVGImage::draw):
1658         * svg/graphics/SVGImage.h:
1659
1660         All of the drawImage() functions and drawTiled() functions of 
1661         GraphicsContext now take a ColorSpace.
1662         * platform/graphics/GraphicsContext.cpp:
1663         (WebCore::GraphicsContext::drawImage):
1664         (WebCore::GraphicsContext::drawTiledImage):
1665         * platform/graphics/GraphicsContext.h:
1666
1667         This is where the actual work is done.
1668         * platform/graphics/cg/ImageCG.cpp:
1669         (WebCore::imageWithColorSpace): New static function that returns a 
1670         copy of the given image in the given ColorSpace *IF* we should use 
1671         the given ColorSpace. We will ignore the color space if the image 
1672         is tagged and return 0. 
1673         (WebCore::BitmapImage::draw): Now takes a ColorSpace and uses it to 
1674         call imageWithColorSpace(). 
1675         (WebCore::Image::drawPattern): Same.
1676
1677         Attempt to keep all ports building. 
1678         * platform/graphics/cairo/ImageCairo.cpp:
1679         (WebCore::BitmapImage::draw):
1680         (WebCore::Image::drawPattern):
1681         * platform/graphics/haiku/ImageHaiku.cpp:
1682         (WebCore::BitmapImage::draw):
1683         (WebCore::Image::drawPattern):
1684         * platform/graphics/qt/ImageQt.cpp:
1685         (WebCore::Image::drawPattern):
1686         (WebCore::BitmapImage::draw):
1687         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
1688         * platform/graphics/skia/ImageSkia.cpp:
1689         (WebCore::Image::drawPattern):
1690         (WebCore::BitmapImage::draw):
1691         (WebCore::BitmapImageSingleFrameSkia::draw):
1692         * platform/graphics/wx/ImageWx.cpp:
1693         (WebCore::BitmapImage::draw):
1694         (WebCore::BitmapImage::drawPattern):
1695
1696         Callers of GraphicsContext's drawImage() and drawTiled() functions 
1697         now need to send a ColorSpace.
1698         * html/HTMLCanvasElement.cpp:
1699         (WebCore::HTMLCanvasElement::paint):
1700         * html/canvas/CanvasRenderingContext2D.cpp:
1701         (WebCore::CanvasRenderingContext2D::drawImage):
1702         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1703         * platform/ScrollView.cpp:
1704         (WebCore::ScrollView::wheelEvent):
1705         * platform/graphics/filters/FEColorMatrix.cpp:
1706         (WebCore::FEColorMatrix::apply):
1707         * platform/graphics/filters/FEComposite.cpp:
1708         (WebCore::FEComposite::apply):
1709         * platform/graphics/filters/SourceGraphic.cpp:
1710         (WebCore::SourceGraphic::apply):
1711         * platform/mac/ScrollbarThemeMac.mm:
1712         (WebCore::ScrollbarThemeMac::paint):
1713         * rendering/RenderBoxModelObject.cpp:
1714         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1715         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1716         * rendering/RenderImage.cpp:
1717         (WebCore::RenderImage::paintReplaced):
1718         * rendering/RenderLayer.cpp:
1719         (WebCore::RenderLayer::paintResizer):
1720         * rendering/RenderListMarker.cpp:
1721         (WebCore::RenderListMarker::paint):
1722         * rendering/RenderSVGImage.cpp:
1723         (WebCore::RenderSVGImage::paint):
1724         * rendering/RenderWidget.cpp:
1725         (WebCore::RenderWidget::paint):
1726         * svg/graphics/SVGPaintServerPattern.cpp:
1727         (WebCore::SVGPaintServerPattern::setup):
1728         * svg/graphics/SVGResourceFilter.cpp:
1729         (WebCore::SVGResourceFilter::applyFilter):
1730         * svg/graphics/filters/SVGFEMerge.cpp:
1731         (WebCore::FEMerge::apply):
1732         * svg/graphics/filters/SVGFEOffset.cpp:
1733         (WebCore::FEOffset::apply):
1734         * svg/graphics/filters/SVGFETile.cpp:
1735         (WebCore::FETile::apply):
1736
1737 2009-11-19  Avi Drissman  <avi@chromium.org>
1738
1739         Reviewed by Darin Adler.
1740
1741         Properly create a CGImageRef on non-PLATFORM(MAC).
1742         https://bugs.webkit.org/show_bug.cgi?id=27777
1743
1744         * platform/graphics/cg/ImageSourceCG.cpp:
1745         (WebCore::sharedBufferGetBytesAtPosition):
1746         (WebCore::sharedBufferRelease):
1747         (WebCore::ImageSource::setData):
1748         * platform/graphics/cg/ImageSourceCG.h:
1749         * platform/graphics/cg/PDFDocumentImage.cpp:
1750         (WebCore::PDFDocumentImage::dataChanged):
1751
1752 2009-11-19  Oliver Hunt  <oliver@apple.com>
1753
1754         Reviewed by Dave Hyatt.
1755
1756         -webkit-user-drag: element Drag images include overflow decorations from incorrect nodes
1757         https://bugs.webkit.org/show_bug.cgi?id=31656
1758
1759         Make sure we're a child of the painting root before drawing overflow features.
1760
1761         * manual-tests/user-drag-with-decorations.html: Added.
1762         * rendering/RenderBlock.cpp:
1763         (WebCore::RenderBlock::paint):
1764
1765 2009-11-19  Dmitry Titov  <dimich@chromium.org>
1766
1767         Not reviewed, attempt to fix Chromium build.
1768
1769         * rendering/RenderMediaControlsChromium.cpp:
1770         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Add new enum values for Show/HideClosedCaptionButton to make it compile.
1771
1772 2009-11-19  Rahul Kuchhal  <kuchhal@chromium.org>
1773
1774         Reviewed by Darin Adler.
1775
1776         Do not assert when a high number is used for roman numerals in lists.
1777         https://bugs.webkit.org/show_bug.cgi?id=31652
1778
1779         Test: fast/lists/ol-start-roman.html
1780
1781         * rendering/RenderListMarker.cpp:
1782         (WebCore::toRoman): Increase the char array size.
1783
1784 2009-11-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1785
1786         Rubber-stamped by Oliver Hunt.
1787
1788         Add translatable strings to cover validationMessage, after
1789         r51172. Already covered by existing test.
1790
1791         * platform/gtk/LocalizedStringsGtk.cpp:
1792         (WebCore::validationMessageValueMissingText):
1793         (WebCore::validationMessageTypeMismatchText):
1794         (WebCore::validationMessagePatternMismatchText):
1795         (WebCore::validationMessageTooLongText):
1796         (WebCore::validationMessageRangeUnderflowText):
1797         (WebCore::validationMessageRangeOverflowText):
1798         (WebCore::validationMessageStepMismatchText):
1799
1800 2009-11-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1801
1802         Reviewed by Darin Adler.
1803
1804         Remove HAVE(FLOAT_H) guard
1805         https://bugs.webkit.org/show_bug.cgi?id=31661
1806
1807         WebCore has a dependency on float.h, there is
1808         no need to guard float.h.
1809
1810         No new tests as there is no functional change.
1811
1812         * html/HTMLInputElement.cpp: Remove include directive
1813         for float.h as it is included in MathExtras.h already.
1814
1815 2009-11-19  Simon Fraser  <simon.fraser@apple.com>
1816
1817         Reviewed by Pavel Feldman.
1818
1819         Instrumentation should account for painting in compositing layers
1820         https://bugs.webkit.org/show_bug.cgi?id=31674
1821
1822         Add calls to InspectorTimelineAgent for painting into compositing layers,
1823         which is not accounted for in FrameView::paintContents().
1824
1825         * rendering/RenderLayerBacking.cpp:
1826         (WebCore::RenderLayerBacking::paintIntoLayer):
1827         Avoid fetching the FrameView multiple times.
1828         
1829         (WebCore::inspectorTimelineAgent):
1830         (WebCore::RenderLayerBacking::paintContents):
1831
1832 2009-11-19  Eric Carlson  <eric.carlson@apple.com>
1833
1834         Reviewed by Dan Bernstein.
1835
1836         <rdar://problem/7035231>
1837         Support closed caption in <video> element
1838
1839         Test: media/media-captions.html
1840
1841         * WebCore.base.exp:
1842         * accessibility/AccessibilityMediaControls.cpp:
1843         (WebCore::AccessibilityMediaControl::controlTypeName):
1844             Define ShowClosedCaptionsButton and HideClosedCaptionsButton.
1845
1846         * css/CSSPrimitiveValueMappings.h:
1847         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1848             Add MediaToggleClosedCaptionsButtonPart.
1849
1850         * css/CSSSelector.cpp:
1851         (WebCore::CSSSelector::extractPseudoType):
1852             Define and match mediaControlsToggleClosedCaptionsButton.
1853
1854         * css/CSSSelector.h:
1855         (WebCore::CSSSelector::):
1856         * css/CSSStyleSelector.cpp:
1857         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1858             Define and match PseudoMediaControlsToggleClosedCaptions.
1859
1860         * css/CSSValueKeywords.in:
1861             Define and use media-toggle-closed-captions-button.
1862
1863         * css/mediaControls.css:
1864         * css/mediaControlsQuickTime.css:
1865             Add webkit-media-controls-toggle-closed-captions-button.
1866
1867         * html/HTMLMediaElement.cpp:
1868         (WebCore::HTMLMediaElement::HTMLMediaElement): 
1869             Initialize m_closedCaptionsVisible.
1870         (WebCore::HTMLMediaElement::loadInternal): 
1871             Set m_closedCaptionsVisible to false.
1872         (WebCore::HTMLMediaElement::hasClosedCaptions): 
1873         (WebCore::HTMLMediaElement::closedCaptionsVisible): 
1874         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): 
1875             New, captions internal methods.
1876         (WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible): 
1877         (WebCore::HTMLMediaElement::webkitClosedCaptionsVisible): 
1878         (WebCore::HTMLMediaElement::webkitHasClosedCaptions): 
1879             New, captions DOM API.
1880
1881         * html/HTMLMediaElement.h:
1882         * html/HTMLMediaElement.idl:
1883             Declare methods needed for captions API.
1884
1885         * platform/ThemeTypes.h:
1886             Add MediaToggleClosedCaptionsButtonPart.
1887
1888         * platform/android/LocalizedStringsAndroid.cpp:
1889         (WebCore::localizedMediaControlElementString):
1890         (WebCore::localizedMediaControlElementHelpText):
1891         (WebCore::localizedMediaTimeDescription):
1892             Add empty implmentations.
1893
1894         * platform/graphics/MediaPlayer.cpp:
1895         (WebCore::NullMediaPlayerPrivate::hasClosedCaptions):
1896         (WebCore::NullMediaPlayerPrivate::setClosedCaptionsVisible):
1897             New, empty implementations of media engine closed caption functions.
1898         (WebCore::MediaPlayer::hasClosedCaptions):
1899         (WebCore::MediaPlayer::setClosedCaptionsVisible):
1900             New, call media engine closed caption functions.
1901
1902         * platform/graphics/MediaPlayer.h:
1903         * platform/graphics/MediaPlayerPrivate.h:
1904         (WebCore::MediaPlayerPrivateInterface::hasClosedCaptions):
1905         (WebCore::MediaPlayerPrivateInterface::setClosedCaptionsVisible):
1906             Declare new media engine methods.
1907
1908         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1909         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1910         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
1911         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
1912             New, QTKit implementation of closed caption methods.
1913
1914         * platform/gtk/LocalizedStringsGtk.cpp:
1915         (WebCore::localizedMediaControlElementString):
1916         (WebCore::localizedMediaControlElementHelpText):
1917             Add help text for ShowClosedCaptionsButton and HideClosedCaptionsButton.
1918
1919         * platform/mac/WebCoreSystemInterface.h:
1920         * platform/mac/WebCoreSystemInterface.mm:
1921             Declare and initialize wkQTMovieHasClosedCaptions and wkQTMovieSetShowClosedCaptions.
1922
1923         * rendering/MediaControlElements.cpp:
1924         (WebCore::MediaControlInputElement::MediaControlInputElement):
1925             Deal with MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
1926         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
1927         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
1928         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
1929             New, implement the closed caption toggle button,
1930
1931         * rendering/MediaControlElements.h:
1932             Define MediaShowClosedCaptionsButton and MediaHideClosedCaptionsButton,
1933             declare MediaControlToggleClosedCaptionsButtonElement.
1934
1935         * rendering/RenderMedia.cpp:
1936         (WebCore::RenderMedia::styleDidChange):
1937         (WebCore::RenderMedia::createToggleClosedCaptionsButton):
1938         (WebCore::RenderMedia::createStatusDisplay):
1939         (WebCore::RenderMedia::updateControls):
1940         (WebCore::RenderMedia::forwardEvent):
1941         * rendering/RenderMedia.h:
1942             Deal with m_toggleClosedCaptionsButton.
1943
1944         * rendering/RenderTheme.cpp:
1945         (WebCore::RenderTheme::paint):
1946             Deal with MediaToggleClosedCaptionsButtonPart.
1947
1948         * rendering/RenderTheme.h:
1949         * rendering/RenderThemeMac.h:
1950             Declare paintMediaToggleClosedCaptionsButton.
1951
1952         * rendering/RenderThemeMac.mm:
1953         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
1954             New.
1955         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
1956             Don't render captions toggle button unless we are using the new theme, the
1957             movie has captions, and the movie is in a <video> element since we currently
1958             rely on QTKit to render the captions.
1959
1960         * rendering/style/RenderStyleConstants.h:
1961             Define MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
1962
1963 2009-11-19  Kevin Ollivier  <kevino@theolliviers.com>
1964
1965         wx build fix. Add missing header.
1966
1967         * platform/wx/LocalizedStringsWx.cpp:
1968
1969 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
1970
1971         Reviewed by Darin Adler.
1972
1973         https://bugs.webkit.org/show_bug.cgi?id=31634
1974         Ignore realm for proxy protection spaces
1975
1976         Only affects WebSocket proxy authentication, cannot be tested in DRT.
1977
1978         * platform/network/ProtectionSpace.cpp:
1979         (WebCore::operator==):
1980         * platform/network/ProtectionSpaceHash.h:
1981         (WebCore::ProtectionSpaceHash::hash):
1982
1983 2009-11-19  Olivier Goffart  <ogoffart@trolltech.com>
1984
1985         Reviewed by Simon Hausmann.
1986
1987         [Qt] Normalize signal and slot signatures.
1988
1989         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1990         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1991
1992 2009-11-19  Alexander Pavlov  <apavlov@chromium.org>
1993
1994         Reviewed by Pavel Feldman.
1995
1996         Store cookie domains in the WebInspector object
1997
1998         The cookie domains have been moved from StoragePanel into WebInspector.
1999         Also, the document URLs are now passed inside the WebInspector.addResource()
2000         payload rather than pushed directly from InspectorController.
2001         https://bugs.webkit.org/show_bug.cgi?id=31627
2002
2003         * inspector/InspectorController.cpp:
2004         (WebCore::InspectorController::populateScriptObjects):
2005         (WebCore::InspectorController::didFinishLoading):
2006         * inspector/InspectorFrontend.cpp:
2007         * inspector/InspectorFrontend.h:
2008         * inspector/InspectorResource.cpp:
2009         (WebCore::InspectorResource::createScriptObject):
2010         (WebCore::InspectorResource::updateScriptObject):
2011         * inspector/front-end/StoragePanel.js:
2012         (WebInspector.StoragePanel.prototype.reset):
2013         (WebInspector.StoragePanel.prototype.addCookieDomain):
2014         * inspector/front-end/inspector.js:
2015         (WebInspector.addResource):
2016         (WebInspector.addCookieDomain):
2017         (WebInspector.reset):
2018
2019 2009-11-19  Zoltan Horvath  <zoltan@webkit.org>
2020
2021         Reviewed by Darin Adler.
2022
2023         Allow custom memory allocation control for the other part of platform directory in WebCore
2024         https://bugs.webkit.org/show_bug.cgi?id=31585
2025
2026         Inherits the following classes from FastAllocBase because these are
2027         instantiated by 'new':
2028
2029         class RegularExpression    - instantiated at: WebCore/page/Frame.cpp:415
2030         class TransformationMatrix - instantiated at: WebCore/rendering/TransformState.cpp:62
2031         class Path                 - instantiated at: WebCore/html/HTMLAreaElement.cpp:73
2032         class FontPlatformData     - instantiated at: WebCore/platform/graphics/qt/FontCacheQt.cpp:188
2033
2034         Inherits the following classes from Noncopyable because these are
2035         instantiated by 'new' and no need to be copyable:
2036
2037         class Cursors                         - instantiated at: WebCore/platform/qt/CursorQt.cpp:146
2038         class NetworkStateNotifier            - instantiated at: WebCore/platform/network/NetworkStateNotifier.cpp:37
2039         struct CrossThreadResourceRequestData - instantiated at: WebCore/platform/network/ResourceRequestBase.cpp:71
2040
2041         class ImageDecoder - its child class is instantiated at: WebCore/platform/graphics/qt/ImageDecoderQt.cpp:46
2042         class MediaPlayerPrivateInterface - its child class is instantiated at: WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:119
2043
2044         * platform/graphics/MediaPlayerPrivate.h:
2045         * platform/graphics/Path.h:
2046         * platform/graphics/qt/FontPlatformData.h:
2047         * platform/graphics/transforms/TransformationMatrix.h:
2048         * platform/image-decoders/ImageDecoder.h:
2049         * platform/network/NetworkStateNotifier.h:
2050         * platform/network/ResourceRequestBase.h:
2051         * platform/qt/CursorQt.cpp:
2052         * platform/text/RegularExpression.h:
2053
2054 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2055
2056         Unreviewed.
2057
2058         [Qt] Build fix for QtWebKit after r51172.
2059
2060         * platform/qt/Localizations.cpp:
2061         (WebCore::validationMessageValueMissingText):
2062         (WebCore::validationMessageTypeMismatchText):
2063         (WebCore::validationMessagePatternMismatchText):
2064         (WebCore::validationMessageTooLongText):
2065         (WebCore::validationMessageRangeUnderflowText):
2066         (WebCore::validationMessageRangeOverflowText):
2067         (WebCore::validationMessageStepMismatchText):
2068
2069 2009-11-18  Dan Bernstein  <mitz@apple.com>
2070
2071         Reviewed by Simon Fraser.
2072
2073         Fixed <rdar://problem/7398987> Assertion failure in
2074         RenderLayer::updateClipRects when a plug-in’s enclosing layer is
2075         enclosed by a transformed layer
2076
2077         Tests: fast/layers/clip-rects-transformed-2.html
2078                fast/layers/clip-rects-transformed.html
2079
2080         * rendering/RenderLayer.cpp:
2081         (WebCore::RenderLayer::clippingRoot): Added. Finds the nearest ancestor
2082         that is either transformed or composited. During painting and hit
2083         testing, when a transformed or composited layer is hit, it becomes the
2084         new root layer, which ultimately gets passed to calculateRects().
2085         (WebCore::RenderLayer::childrenClipRect): Pass the clipping root as the
2086         root layer to calculateRects(), and return the bounding box of the
2087         transformed rectangle.
2088         (WebCore::RenderLayer::selfClipRect): Ditto.
2089         * rendering/RenderLayer.h:
2090
2091 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2092
2093         Reviewed by Kenneth Rohde Christiansen.
2094
2095         [Qt] Remove support for Qt v4.3 or older versions
2096         https://bugs.webkit.org/show_bug.cgi?id=29469
2097
2098         No new tests as there is no change if compiled with 
2099         Qt v4.4 or later version.
2100
2101         * WebCore.pro:
2102         * dom/XMLTokenizerQt.cpp:
2103         (WebCore::EntityResolver::resolveUndeclaredEntity):
2104         (WebCore::XMLTokenizer::XMLTokenizer):
2105         (WebCore::XMLTokenizer::~XMLTokenizer):
2106         (WebCore::XMLTokenizer::doWrite):
2107         (WebCore::XMLTokenizer::startDocument):
2108         (WebCore::XMLTokenizer::parseDtd):
2109         * platform/graphics/qt/FontQt.cpp:
2110         * platform/graphics/qt/FontQt43.cpp: Removed.
2111         * platform/graphics/qt/ImageQt.cpp:
2112         * platform/network/ResourceHandleInternal.h:
2113         * platform/network/qt/QNetworkReplyHandler.cpp:
2114         * platform/network/qt/QNetworkReplyHandler.h:
2115         * platform/network/qt/ResourceHandleQt.cpp:
2116         (WebCore::ResourceHandle::start):
2117         (WebCore::ResourceHandle::cancel):
2118         (WebCore::ResourceHandle::loadResourceSynchronously):
2119         (WebCore::ResourceHandle::setDefersLoading):
2120         * platform/network/qt/ResourceRequest.h:
2121         * platform/network/qt/ResourceRequestQt.cpp:
2122         * platform/qt/ClipboardQt.cpp:
2123         (WebCore::ClipboardQt::clearData):
2124         * platform/qt/CookieJarQt.cpp:
2125         (WebCore::cookieJar):
2126         (WebCore::setCookies):
2127         (WebCore::cookies):
2128         (WebCore::cookiesEnabled):
2129         * platform/qt/PlatformKeyboardEventQt.cpp:
2130         (WebCore::keyIdentifierForQtKeyCode):
2131         (WebCore::windowsKeyCodeForKeyEvent):
2132         * platform/text/qt/TextBoundaries.cpp:
2133         * platform/text/qt/TextBreakIteratorQt.cpp:
2134         * plugins/qt/PluginDataQt.cpp:
2135         (WebCore::PluginData::initPlugins):
2136
2137 2009-11-18  Michelangelo De Simone  <micdesim@gmail.com>
2138
2139         Reviewed by Darin Adler.
2140
2141         Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
2142         Support for validationMessage attribute, as per HTML5 specs.
2143
2144         Test: fast/forms/validationMessage.html
2145
2146         * html/HTMLButtonElement.idl: validationMessage attribute
2147         * html/HTMLFieldSetElement.idl: validationMessage attribute
2148         * html/HTMLFormControlElement.cpp:
2149         * html/HTMLFormControlElement.h:
2150         * html/HTMLInputElement.idl: validationMessage attribute
2151         * html/HTMLSelectElement.idl: validationMessage attribute
2152         * html/HTMLTextAreaElement.idl: validationMessage attribute
2153         * html/ValidityState.cpp: new method to retrieve pertinent localized text
2154         * html/ValidityState.h:
2155         * page/mac/WebCoreViewFactory.h:
2156         * platform/LocalizedStrings.h:
2157         * platform/android/LocalizedStringsAndroid.cpp:
2158         * platform/gtk/LocalizedStringsGtk.cpp:
2159         * platform/haiku/LocalizedStringsHaiku.cpp:
2160         * platform/mac/LocalizedStringsMac.mm:
2161         * platform/wx/LocalizedStringsWx.cpp:
2162
2163 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2164
2165         Unreviewed.
2166
2167         Fix a typo. Remove the trailing semicolon
2168         from an include directive after r51137.
2169
2170         No new tests as there is no functional change.
2171
2172         * platform/qt/QWebPageClient.h:
2173
2174 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2175
2176         Unreviewed.
2177
2178         [Qt] Build fix for QtWebKit after r51159.
2179
2180         Include float.h for DBL_MANT_DIG. Not sure why this
2181         is not a problem for other ports.
2182
2183         * html/HTMLInputElement.cpp:
2184
2185 2009-11-19  Roland Steiner  <rolandsteiner@chromium.org>
2186
2187         Reviewed by Darin Adler.
2188
2189         Bug 31574 -  Crashing bug when removing <ruby> element
2190         (https://bugs.webkit.org/show_bug.cgi?id=31574)
2191
2192         Cause of the bug:
2193         1.) RenderBlock::destroy() of the RenderRubyRun called destroyLeftoverChildren()
2194         2.) that called destroy() of the RenderRubyBase(), which in RenderObject::destroy() calls remove()
2195         3.) remove() is being redirected as parent()->removeChild() in RenderObject.h
2196         4.) this triggers the special handling of child removal in RenderRubyRun that
2197             causes it to destroy itself
2198         5.) On returning from all this the renderer crashes when accessing a member
2199             or virtual function on this now illegal object.
2200
2201         I therefore added a flag that tracks if the ruby run is being destroyed.
2202         If so, avoid doing the special handling in removeChild that caused this.
2203         It's not the most elegant solution, but the easiest to implement without
2204         touching unrelated code. Also, it's self-documenting.
2205
2206         Test: fast/ruby/ruby-remove.html
2207
2208         * rendering/RenderRubyRun.cpp:
2209         (WebCore::RenderRubyRun::RenderRubyRun):
2210         (WebCore::RenderRubyRun::destroy):
2211         (WebCore::RenderRubyRun::removeChild):
2212         * rendering/RenderRubyRun.h:
2213
2214 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2215
2216         Reviewed by Kenneth Rohde Christiansen.
2217
2218         [Qt] Remove WTF_USE_JAVASCRIPTCORE_BINDINGS as it is no longer used
2219         https://bugs.webkit.org/show_bug.cgi?id=31643
2220
2221         No new tests as there is no functional change.
2222
2223         * WebCore.pro:
2224
2225 2009-11-18  Yong Li  <yong.li@torchmobile.com>
2226
2227         Reviewed by Eric Seidel.
2228
2229         Implement TextBoundaries for WINCE port.
2230         https://bugs.webkit.org/show_bug.cgi?id=27371
2231
2232         * platform/text/wince/TextBoundariesWince.cpp: Added.
2233
2234 2009-11-18  Yong Li  <yong.li@torchmobile.com>
2235
2236         Reviewed by Eric Seidel.
2237
2238         Implement TextBreakIterator for WINCE port.
2239         https://bugs.webkit.org/show_bug.cgi?id=27371
2240
2241         * platform/text/wince/TextBreakIteratorWince.cpp: Added.
2242
2243 2009-11-18  Kent Tamura  <tkent@chromium.org>
2244
2245         Reviewed by Darin Adler.
2246
2247         Add support for ValidityState.typeMismatch for the following INPUT types:
2248           date datetime datetime-local month time week
2249         https://bugs.webkit.org/show_bug.cgi?id=31342
2250
2251         Tests: fast/forms/ValidityState-typeMismatch-date.html
2252                fast/forms/ValidityState-typeMismatch-datetime.html
2253                fast/forms/ValidityState-typeMismatch-datetimelocal.html
2254                fast/forms/ValidityState-typeMismatch-month.html
2255                fast/forms/ValidityState-typeMismatch-time.html
2256                fast/forms/ValidityState-typeMismatch-week.html
2257
2258         * html/HTMLInputElement.cpp:
2259         (WebCore::HTMLInputElement::formStringToISODateTime): Check the type
2260           validity of the specified type and string using the ISODateTime class.
2261         * html/HTMLInputElement.h:
2262         * html/ValidityState.cpp:
2263         (WebCore::ValidityState::typeMismatch): Check the type validity
2264           for date, datetime, datetime-local, month, time and week with
2265           HTMLInputElemtn::formStringToISODateTime()
2266
2267 2009-11-18  Maciej Stachowiak  <mjs@apple.com>
2268
2269         Reviewed by Oliver Hunt.
2270
2271         Fix REGRESSION (r47022): Performance of DocumentFragment.appendChild is 1000x slower sometimes
2272         https://bugs.webkit.org/show_bug.cgi?id=31237
2273         
2274         Also speeds up Dromaeo DOM Core tests by 1.31x.
2275
2276         * bindings/js/JSNodeCustom.cpp:
2277         (WebCore::JSNode::markChildren): Change marking algorithm to avoid O(N^2) behavior. The subtree
2278         mark bit was no longer effective; instead I changed things so only a node that has no ancestors
2279         with wrappers would do marking; there should be only one in the typical case (the root of the
2280         detached subtree).
2281         * dom/Node.cpp:
2282         (WebCore::Node::Node): Remove now useless m_inSubtreeMark bit and related functions.
2283         * dom/Node.h: ditto
2284
2285 2009-11-18  Darin Adler  <darin@apple.com>
2286
2287         Reviewed by Sam Weinig.
2288
2289         Get rid of the redundant strokeType and fillType data members on
2290         a GraphicsContext as well as the FillOrStrokeType enum. Use
2291         null pointers instead.
2292
2293         * platform/graphics/GraphicsContext.cpp:
2294         (WebCore::GraphicsContext::setStrokeColor): Null out the pattern
2295         and gradient.
2296         (WebCore::GraphicsContext::setFillColor): Ditto.
2297         (WebCore::GraphicsContext::setStrokePattern): Null out the graident.
2298         (WebCore::GraphicsContext::setFillPattern): Ditto.
2299         (WebCore::GraphicsContext::setStrokeGradient): Null out the pattern.
2300         (WebCore::GraphicsContext::setFillGradient): Ditto.
2301
2302         * platform/graphics/GraphicsContextPrivate.h: Remove all that stuff.
2303
2304         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2305         (WebCore::setPlatformFill): Use null checks on fillPattern and
2306         fillGraident instead of a switch statement.
2307         (WebCore::setPlatformStroke): Ditto.
2308
2309         * platform/graphics/cg/GraphicsContextCG.cpp:
2310         (WebCore::GraphicsContext::applyStrokePattern): Removed unneeded get.
2311         (WebCore::GraphicsContext::applyFillPattern): Ditto.
2312         (WebCore::calculateDrawingMode): Use fillPattern and strokePattern
2313         to see if there is a pattern instead of fillType and strokeType.
2314         (WebCore::GraphicsContext::drawPath): Use fillGradient, strokeGradient,
2315         fillPattern, and strokePattern instead of fillType and strokeType.
2316         (WebCore::GraphicsContext::fillPath): Added FIXME about color space that
2317         is used in the pattern and gradient case probably erroneously. Moved
2318         gradient code inside an if statement. Streamlined pattern code and
2319         use an if statement. No switch any more.
2320         (WebCore::GraphicsContext::strokePath): Ditto.
2321         (WebCore::GraphicsContext::fillRect): Ditto.
2322         (WebCore::GraphicsContext::strokeRect): Ditto.
2323
2324         * platform/graphics/qt/GraphicsContextQt.cpp:
2325         (WebCore::GraphicsContext::fillPath): Use null checks on fillPattern and
2326         fillGraident instead of a switch statement.
2327         (WebCore::GraphicsContext::strokePath): Ditto.
2328         (WebCore::GraphicsContext::fillRect): Ditto.
2329
2330         * platform/graphics/wince/GraphicsContextWince.cpp:
2331         (WebCore::GraphicsContext::fillPath): Removed unneeded check of fillType.
2332         (WebCore::GraphicsContext::fillRect): Ditto.
2333
2334 2009-11-18  Kent Tamura  <tkent@chromium.org>
2335
2336         Reviewed by Darin Adler.
2337
2338         Support for step attribute and ValidityStae.stepMismatch for
2339         type=number and range.  stepMismatch will be false if the
2340         difference between the current value and a multiple of the step
2341         value is very small.
2342
2343         Change the behavior of RenderSlider so that it always has a value
2344         rounded to the step attribute value.
2345
2346         https://bugs.webkit.org/show_bug.cgi?id=31331
2347
2348         Tests: fast/forms/ValidityState-stepMismatch-number.html
2349                fast/forms/ValidityState-stepMismatch-range.html
2350                fast/forms/ValidityState-stepMismatch-unsupported.html
2351                fast/forms/input-step.html
2352
2353         * html/HTMLAttributeNames.in: Add "step".
2354         * html/HTMLInputElement.cpp:
2355         (WebCore::HTMLInputElement::stepMismatch):
2356         (WebCore::HTMLInputElement::getStepParameters):
2357         (WebCore::HTMLInputElement::getAllowedValueStep):
2358         * html/HTMLInputElement.h:
2359         * html/HTMLInputElement.idl: Add "step".
2360         * html/ValidityState.cpp:
2361         (WebCore::ValidityState::stepMismatch): Forward to HTMLInputElement::stepMismatch().
2362         * html/ValidityState.h:
2363         * rendering/RenderSlider.cpp:
2364         (WebCore::SliderRange::SliderRange):
2365         (WebCore::SliderRange::clampValue):
2366
2367 2009-11-18  Dmitry Titov  <dimich@chromium.org>
2368
2369         Reviewed by Darin Adler.
2370
2371         Need to ASSERT(isMainThread()) in ThreadShared methods.
2372         https://bugs.webkit.org/show_bug.cgi?id=31637
2373
2374         Added ASSERT(IsMainThread()) to all following methods:
2375         * platform/TreeShared.h:
2376         (WebCore::TreeShared::TreeShared):
2377         (WebCore::TreeShared::~TreeShared):
2378         (WebCore::TreeShared::ref):
2379         (WebCore::TreeShared::deref):
2380         (WebCore::TreeShared::setParent):
2381         (WebCore::TreeShared::parent):
2382
2383 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
2384
2385         Reviewed by Eric Seidel.
2386
2387         Add plugin visibility manual test
2388
2389         https://bugs.webkit.org/show_bug.cgi?id=31542
2390
2391         * manual-tests/plugins/windowed.html:
2392         * manual-tests/plugins/windowless.html:
2393
2394 2009-11-18  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
2395
2396         Reviewed by Pavel Feldman.
2397
2398         Web Inspector - remember last script displayed in Scripts panel
2399         https://bugs.webkit.org/show_bug.cgi?id=27552
2400
2401         Manual test added
2402         
2403         * inspector/front-end/ScriptsPanel.js:
2404         (WebInspector.ScriptsPanel.prototype.showScript):
2405         (WebInspector.ScriptsPanel.prototype.showResource):
2406         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
2407         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
2408         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2409         (WebInspector.ScriptsPanel.prototype._goBack):
2410         (WebInspector.ScriptsPanel.prototype._goForward):
2411         * manual-tests/inspector/remember-last-script.html: Added.
2412
2413 2009-11-18  Shinichiro Hamaji  <hamaji@chromium.org>
2414
2415         Reviewed by Dimitri Glazkov.
2416
2417         Win chromium is slow to draw transparent texts
2418         https://bugs.webkit.org/show_bug.cgi?id=31258
2419
2420         Create bounded transparency layers instead of just clipping.
2421
2422         No new tests because this is just a performance improvement.
2423
2424         * platform/graphics/chromium/FontChromiumWin.cpp:
2425         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
2426
2427 2009-11-18  Shu Chang  <Chang.Shu@nokia.com>
2428
2429         Reviewed by Eric Seidel.
2430
2431         [Qt] Add support for displaying deleteButton.
2432         https://bugs.webkit.org/show_bug.cgi?id=31560
2433
2434         Test: LayoutTests/editing/deleting/5408255.html
2435
2436         * WebCore.qrc:
2437         * platform/graphics/qt/ImageQt.cpp:
2438         (loadResourcePixmap):
2439
2440 2009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
2441
2442         Reviewed by Eric Seidel.
2443
2444         Fix Qt build without JavaScript debugger.
2445
2446         https://bugs.webkit.org/show_bug.cgi?id=31575
2447
2448         * page/Console.idl:
2449
2450 2009-11-18  Daniel Bates  <dbates@webkit.org>
2451
2452         Reviewed by Dave Hyatt.
2453
2454         https://bugs.webkit.org/show_bug.cgi?id=24971
2455         And
2456         <rdar://problem/7138265>
2457
2458         Fixes an issue where setting the height of a table row programmatically
2459         (via JavaScript) causes the table to be improperly rendered because the
2460         height of each row in the table is not recalculated with respect to the
2461         CSS height property.
2462
2463         In particular, programmatically setting the height of some table row causes
2464         the rows of that table to be rendered with a height equal to the minimum
2465         height required by the cells in that row, regardless of any specified cell
2466         heights. Instead, when RenderTableSection::recalcCells is called, the height
2467         of each row should be set to the CSS height property just as we do in
2468         RenderTableSection::addChild.
2469
2470         Test: fast/table/row-height-recalc2.html
2471
2472         * rendering/RenderTableSection.cpp:
2473         (WebCore::setRowHeightToRowStyleHeightIfNotRelative): Added.
2474         (WebCore::RenderTableSection::addChild): Moved code that set row height into
2475         method WebCore::setRowHeightToRowStyleHeightIfNotRelative.
2476         (WebCore::RenderTableSection::recalcCells): Modified to call
2477         WebCore::setRowHeightToRowStyleHeightIfNotRelative.
2478
2479 2009-11-18  Zoltan Horvath  <zoltan@webkit.org>
2480
2481         Reviewed by Darin Adler.
2482
2483         Allow custom memory allocation control for the part of platform directory in WebCore
2484         https://bugs.webkit.org/show_bug.cgi?id=31473
2485
2486         Inherits the following classes from FastAllocBase because these are
2487         instantiated by 'new':
2488
2489         class  AnimationList         - instantiated at WebCore/rendering/style/StyleRareNonInheritedData.cpp:85
2490         class  Color                 - instantiated at WebCore/rendering/RenderTheme.cpp:48
2491         struct Length                - instantiated at WebCore/platform/Length.cpp:103
2492         class  PlatformKeyboardEvent - instantiated at WebCore/dom/KeyboardEvent.cpp:63
2493         class  ContextMenuItem       - instantiated at WebCore/platform/ContextMenu.cpp:70
2494         class  DeprecatedPtrList     - instantiated at WebCore/rendering/RenderBlock.cpp:2284
2495
2496         Inherits the following classes from Noncopyable because these are
2497         instantiated by 'new' and no need to be copyable:
2498
2499         class  GraphicsContextPrivate - instantiated at WebCore/platform/graphics/GraphicsContext.cpp:78
2500         class  FontCache              - instantiated at WebCore/platform/graphics/qt/FontCacheQt.cpp:43
2501         struct MediaPlayerFactory     - instantiated at WebCore/platform/graphics/MediaPlayer.cpp:163
2502         class  DeprecatedPtrListNode  - instantiated at WebCore/platform/DeprecatedPtrListImpl.cpp:53
2503
2504         * platform/ContextMenuItem.h:
2505         * platform/DeprecatedPtrList.h:
2506         * platform/DeprecatedPtrListImpl.cpp:
2507         * platform/Length.h:
2508         * platform/PlatformKeyboardEvent.h:
2509         * platform/animation/AnimationList.h:
2510         * platform/graphics/Color.h:
2511         * platform/graphics/FontCache.h:
2512         * platform/graphics/GraphicsContextPrivate.h:
2513         * platform/graphics/MediaPlayer.cpp:
2514
2515 2009-11-18  Daniel Bates  <dbates@webkit.org>
2516
2517         Reviewed by Darin Adler.
2518
2519         https://bugs.webkit.org/show_bug.cgi?id=31186
2520
2521         Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
2522         m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
2523         These are more descriptive names so as to clear an ambiguity surrounding
2524         their usage. Also, renames associated setters and getters so that they
2525         coincide with the renamed fields.
2526
2527         No functionality was changed. So, no tests were included.
2528
2529         * bindings/objc/DOMHTML.mm:
2530         (-[DOMHTMLInputElement _isEdited]):
2531         (-[DOMHTMLTextAreaElement _isEdited]):
2532         * dom/Document.cpp:
2533         (WebCore::Document::setFocusedNode):
2534         * html/HTMLInputElement.cpp:
2535         (WebCore::HTMLInputElement::defaultEventHandler):
2536         * rendering/RenderTextControl.cpp:
2537         (WebCore::RenderTextControl::RenderTextControl):
2538         (WebCore::RenderTextControl::setInnerTextValue):
2539         (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
2540         (WebCore::RenderTextControl::subtreeHasChanged):
2541         * rendering/RenderTextControl.h:
2542         (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
2543         (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
2544         (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
2545         * rendering/RenderTextControlSingleLine.cpp:
2546         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
2547         * wml/WMLInputElement.cpp:
2548         (WebCore::WMLInputElement::defaultEventHandler):
2549
2550 2009-11-18  Tony Chang  <tony@chromium.org>
2551
2552         Reviewed by Adam Barth.
2553
2554         Remove V8CanvasPixelArrayCustom.cpp because it is no longer used by V8.
2555         https://bugs.webkit.org/show_bug.cgi?id=31499
2556
2557         No new tests, just a build cleanup.
2558
2559         * WebCore.gypi:
2560         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Removed.
2561         * bindings/v8/custom/V8CustomBinding.h:
2562
2563 2009-11-18  Kevin Watters  <kevinwatters@gmail.com>
2564
2565         Reviewed by Kevin Ollivier.
2566
2567         Enable wx plugin support using the Windows implementation as a base.
2568         
2569         https://bugs.webkit.org/show_bug.cgi?id=31636
2570
2571         * platform/graphics/GraphicsContext.h:
2572         (WebCore::GraphicsContext::inTransparencyLayer):
2573         * platform/graphics/wx/GraphicsContextWx.cpp:
2574         (WebCore::GraphicsContext::getWindowsContext):
2575         (WebCore::GraphicsContext::releaseWindowsContext):
2576         * platform/wx/FileSystemWx.cpp:
2577         (WebCore::unloadModule):
2578         (WebCore::listDirectory):
2579         * plugins/PluginDatabase.cpp:
2580         * plugins/PluginView.cpp:
2581         (WebCore::PluginView::stop):
2582         (WebCore::PluginView::PluginView):
2583         * plugins/PluginView.h:
2584         * plugins/win/PluginViewWin.cpp:
2585         (windowHandleForPageClient):
2586         (WebCore::PluginView::handleMouseEvent):
2587         (WebCore::PluginView::platformStart):
2588         (WebCore::PluginView::snapshot):
2589         * wscript:
2590
2591 2009-11-18  Andrei Popescu  <andreip@google.com>
2592
2593         Reviewed by Dimitri Glazkov.
2594
2595         [Android] Add shared timer and sound utilities to platform/android
2596         https://bugs.webkit.org/show_bug.cgi?id=31584
2597
2598         No new tests required, this is platform specific code.
2599
2600         * platform/android/SharedTimerAndroid.cpp: Added.
2601         (WebCore::setSharedTimerFiredFunction):
2602         (WebCore::setSharedTimerFireTime):
2603         (WebCore::stopSharedTimer):
2604         * platform/android/SoundAndroid.cpp: Added.
2605         (WebCore::systemBeep):
2606
2607 2009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
2608
2609         Reviewed by Timothy Hatcher.
2610
2611         Fix profile tree nodes loss after focus / restore actions.
2612
2613         Focusing on a node is currently implemented via nodes reattaching
2614         with some caching involved. It seems that not all code was updated
2615         to handle this scenario correctly.
2616
2617         https://bugs.webkit.org/show_bug.cgi?id=31553
2618
2619         * inspector/front-end/BottomUpProfileDataGridTree.js:
2620         (WebInspector.BottomUpProfileDataGridNode):
2621         (WebInspector.BottomUpProfileDataGridNode.prototype._restore):
2622         (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
2623         (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
2624         * inspector/front-end/DataGrid.js:
2625         (WebInspector.DataGrid.prototype.insertChild):
2626         (WebInspector.DataGridNode.prototype._detach):
2627         (WebInspector.DataGridNode.prototype.savePosition):
2628         (WebInspector.DataGridNode.prototype.restorePosition):
2629         * inspector/front-end/TopDownProfileDataGridTree.js:
2630         (WebInspector.TopDownProfileDataGridTree.prototype.focus):
2631         (WebInspector.TopDownProfileDataGridTree.prototype.restore):
2632
2633 2009-11-18  Carol Szabo  <carol.szabo@nokia.com>
2634
2635         Reviewed by Kenneth Rohde Christiansen.
2636
2637         [Qt] QWebPageClient.h needs in some cases QCursor, but it does not
2638         include it 
2639         https://bugs.webkit.org/show_bug.cgi?id=31527
2640
2641         No new tests as this is just a coding style fix that affects the 
2642         build of some not yet submitted patches (i.e. for bug 30173).
2643
2644         * platform/qt/QWebPageClient.h:
2645
2646 2009-11-18  Nicolas Roard   <nicolas@roard.com>
2647
2648         Reviewed by Dimitri Glazkov.
2649
2650         InspectorTimelineAgent.h should be guarded by ENABLE(INSPECTOR)
2651         https://bugs.webkit.org/show_bug.cgi?id=31504
2652
2653         * inspector/InspectorTimelineAgent.h:Added the guard.
2654
2655 2009-11-18  Jens Alfke  <snej@chromium.org>
2656
2657         Build fix to my previous checkin, for Windows Chromium
2658
2659         * svg/SVGAnimatedProperty.h:
2660         (WebCore::PropertySynchronizer::synchronize): Fix implicit-conversion error on AtomicString.
2661
2662 2009-11-18  Joseph Pecoraro  <joepeck@webkit.org>
2663
2664         Reviewed by Pavel Feldman.
2665
2666         Web Inspector: Directly Access <head> Instead of Searching for It
2667         https://bugs.webkit.org/show_bug.cgi?id=31641
2668         
2669         Changed old access of the head element (document.getElementsByTagName)
2670         to just use the document.head accessor.
2671
2672         * inspector/front-end/FontView.js:
2673         (WebInspector.FontView):
2674         * inspector/front-end/InjectedScript.js:
2675         (InjectedScript.addStyleSelector):
2676         * inspector/front-end/SourceFrame.js:
2677         (WebInspector.SourceFrame.prototype._loaded):
2678         * inspector/front-end/inspector.js:
2679         (windowLoaded):
2680
2681 2009-11-18  Sam Weinig  <sam@webkit.org>
2682
2683         Reviewed by Anders Carlsson.
2684
2685         Fix two Geolocation assertions.
2686
2687         * page/Chrome.cpp:
2688         (WebCore::Chrome::requestGeolocationPermissionForFrame): No need to use PageGroupLoadDeferrer since this
2689         is not called from JS. 
2690         * page/Geolocation.cpp:
2691         (WebCore::Geolocation::Watchers::set): The PassRefPtr was getting nulled out, so we need to put it in
2692         a RefPtr first.
2693
2694 2009-11-18  Alexey Proskuryakov  <ap@apple.com>
2695
2696         Case sensitive file system build fix.
2697
2698         * platform/network/Credential.h: It's not WTF, just wtf.
2699
2700 2009-11-18  Aaron Golden  <agolden@apple.com>
2701
2702         Reviewed by Alexey Proskuryakov.
2703
2704         Add support for certificates to WebCore::Credential so we can convert between NSURLCredential
2705         objects and WebCore::Credential objects without losing certificate information.
2706
2707         * platform/network/Credential.cpp:
2708         (WebCore::Credential::Credential):  Adding a constructor that takes an identity argument and a certificate chain argument
2709         (WebCore::Credential::isEmpty):  Modifying isEmpty to support certificate based credentials (which don't have a username or password)
2710         (WebCore::Credential::identity): Accessor for the m_identity property
2711         (WebCore::Credential::certificates): Accessor for the m_certificates property
2712         (WebCore::Credential::type):  Accessor for the m_type property
2713         (WebCore::operator==):  Modifying == to compare the identity and certificate chains of certificate based credentials.
2714         * platform/network/Credential.h:  Adding new fields to WebCore::Credential to support certificate based credentials.
2715         * platform/network/mac/AuthenticationMac.mm:
2716         (WebCore::mac):  Modifying the mac() conversion method to correctly convert certificate based WebCore::Credential objects.
2717         (WebCore::core):  Modifying the core() conversion method to correctly convert certificate based NSURLCredential objects.
2718
2719 2009-11-18  Dmitry Titov  <dimich@chromium.org>
2720
2721         Reviewed by Eric Seidel.
2722
2723         Reverting r50919 that has introduced a non-thread-safe refcounting in ScriptExecutionContext::postTaskToMainThread.
2724         https://bugs.webkit.org/show_bug.cgi?id=31615
2725
2726         * dom/Document.cpp:
2727         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
2728         (WebCore::ScriptExecutionContextTaskTimer::fired):
2729         (WebCore::PerformTaskContext::PerformTaskContext):
2730         (WebCore::performTask):
2731         (WebCore::Document::postTask):
2732         * dom/ScriptExecutionContext.cpp:
2733         * dom/ScriptExecutionContext.h:
2734
2735 2009-11-18  Jens Alfke  <snej@chromium.org>
2736
2737         Reviewed by Darin Adler.
2738
2739         Eliminate unnecessary String-->AtomicString conversions from generated V8 bindings,
2740         by causing the right v8-to-WebCore conversion function to be called for every parameter.
2741         This no longer requires any IDL metadata, so I've removed the [HintAtomic] annotations.
2742         To enforce correctness, I added a mode that disables implicit
2743         String-->AtomicString conversions while compiling the generated bindings.
2744         https://bugs.webkit.org/show_bug.cgi?id=31168
2745
2746         * bindings/scripts/CodeGeneratorV8.pm:  Generate usage of V8Parameter class.
2747         * bindings/v8/DerivedSourcesAllInOne.cpp:  Enable NO_IMPLICIT_ATOMICSTRING.
2748         * bindings/v8/V8Binding.h:  Add V8Parameter class.
2749         * css/WebKitCSSKeyframesRule.h:  Make AtomicString conversions explicit.
2750         * dom/Document.idl:  Remove obsolete [HintAtomic] annotation.
2751         * platform/text/AtomicString.h:  Added NO_IMPLICIT_ATOMICSTRING option.
2752         * svg/SVGAnimatedTemplate.h:  Change some return types to String to avoid implicit conversion.
2753         * svg/SVGAnimatedProperty.h: Adapt to changed return types in SVGAnimatedTemplate.
2754
2755 2009-11-18  Darin Adler  <darin@apple.com>
2756
2757         Reviewed by Dan Bernstein.
2758
2759         Move FillOrStrokeType out of public header.
2760
2761         * platform/graphics/GraphicsContext.h: Updated copyright date to cover
2762         some years we published Apple changes, sorted forward declarations,
2763         removed FillOrStrokeType enum.
2764         * platform/graphics/GraphicsContextPrivate.h: Updated copyright date
2765         to cover some years we published Apple changes, sorted includes,
2766         moved FillOrStrokeType enum here.
2767
2768 2009-11-18  Chris Marrin  <cmarrin@apple.com>
2769
2770         Reviewed by Simon Fraser.
2771
2772         Add Settings for WebKitShowDebugBorders and WebKitShowRepaintCounter
2773         https://bugs.webkit.org/show_bug.cgi?id=31601
2774
2775         These are used to debug accelerated compositing layers. I removed
2776         the platform specific code from GraphicsLayerCA.mm and added calls
2777         to GraphicsLayerClient to get it from the higher levels. The values 
2778         now get cached in RenderLayerCompositing and are queried from there
2779         by RenderLayerBacking (which implements the GraphicsLayerClient interface).
2780
2781         * WebCore.base.exp:
2782         * page/FrameView.cpp:
2783         (WebCore::FrameView::updateCompositingLayers):
2784         * page/Settings.cpp:
2785         (WebCore::Settings::Settings):
2786         (WebCore::Settings::setShowDebugBorders):
2787         (WebCore::Settings::setShowRepaintCounter):
2788         * page/Settings.h:
2789         (WebCore::Settings::showDebugBorders):
2790         (WebCore::Settings::showRepaintCounter):
2791         * platform/graphics/GraphicsLayer.h:
2792         (WebCore::GraphicsLayer::showDebugBorders):
2793         (WebCore::GraphicsLayer::showRepaintCounter):
2794         * platform/graphics/GraphicsLayerClient.h:
2795         * platform/graphics/mac/GraphicsLayerCA.mm:
2796         * rendering/RenderLayerBacking.cpp:
2797         (WebCore::RenderLayerBacking::showDebugBorders):
2798         (WebCore::RenderLayerBacking::showRepaintCounter):
2799         * rendering/RenderLayerBacking.h:
2800         * rendering/RenderLayerCompositor.cpp:
2801         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
2802         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
2803         * rendering/RenderLayerCompositor.h:
2804         (WebCore::RenderLayerCompositor::showDebugBorders):
2805         (WebCore::RenderLayerCompositor::showRepaintCounter):
2806
2807 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
2808
2809         Reviewed by Timothy Hatcher.
2810
2811         Web Inspector: Get rid of metrics and properties sidebars'
2812         flickering.
2813
2814         https://bugs.webkit.org/show_bug.cgi?id=31629
2815
2816         * inspector/front-end/MetricsSidebarPane.js:
2817         * inspector/front-end/PropertiesSidebarPane.js:
2818
2819 2009-11-17  Brian Weinstein  <bweinstein@apple.com>
2820
2821         Reviewed by Pavel Feldman.
2822
2823         Fixes <http://webkit.org/b/31606>.
2824         Web Inspector: Enter/Return key should enter edit mode for Editable Fields.
2825         
2826         This implements Enter starting editing mode in an editable DataGrid. If the
2827         DataGrid is editable and the user hits return, startEditing the first child
2828         of the selected node. Also refactored some editing functions to take an 
2829         event target instead of the event itself, because the functions only needed
2830         the target. Lastly, added had return in editing mode stop propogation, because
2831         when enter was hit to confirm text, it would propagate back to the datagrid
2832         and try to start editing again.
2833
2834         * inspector/front-end/DataGrid.js:
2835         (WebInspector.DataGrid.prototype._ondblclick):
2836         (WebInspector.DataGrid.prototype._startEditing):
2837         (WebInspector.DataGrid.prototype.handleKeyEvent):
2838         (WebInspector.DataGrid.prototype.dataGridNodeFromEvent):
2839         (WebInspector.DataGrid.prototype._mouseDownInDataTable):
2840         (WebInspector.DataGrid.prototype._clickInDataTable):
2841         * inspector/front-end/inspector.js:
2842         (WebInspector.startEditing.element.handleKeyEvent):
2843         (WebInspector.startEditing):
2844
2845 2009-11-18  Ben Murdoch  <benm@google.com>
2846
2847         Reviewed by Darin Adler.
2848
2849         HTMLAnchorElement is inconsistent with its internal handling of the value returned for the href attribute.
2850         https://bugs.webkit.org/show_bug.cgi?id=31593
2851
2852         Test: fast/dom/HTMLAnchorElement/set-href-attribute-whitespace.html
2853
2854         * html/HTMLAnchorElement.cpp:
2855         (WebCore::HTMLAnchorElement::href): Add call to deprecatedParseURL.
2856
2857 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
2858
2859         Not reviewed. Touch InspectorController so that frontend
2860         JS files are deployed on Windows.
2861
2862         * inspector/InspectorController.cpp:
2863
2864 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
2865
2866         Reviewed by Timothy Hatcher.
2867
2868         Web Inspector: clone timeline records array instead of
2869         copying reference on invalidate all.
2870
2871         https://bugs.webkit.org/show_bug.cgi?id=31596
2872
2873         * inspector/front-end/AbstractTimelinePanel.js:
2874         (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
2875
2876 2009-11-18  Simon Fraser  <simon.fraser@apple.com>
2877
2878         Reviewed by Dan Bernstein.
2879
2880         Elements don't drop out of compositing layers when animation ends
2881         https://bugs.webkit.org/show_bug.cgi?id=31613
2882         <rdar://problem/7402913>
2883
2884         Avoid setting the mustOverlapCompositedLayers flag on RenderLayers which
2885         are compositing anyway for other reasons. Doing so can cause those layers
2886         to stay in compositing mode even after animations finish, because needsToBeComposited()
2887         continues to return true.
2888         
2889         No new tests because it's not possible to determine which elements are in
2890         compositing layers from DRT output.
2891
2892         * rendering/RenderLayerCompositor.cpp:
2893         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2894
2895 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
2896
2897         Reviewed by Tor Arne Vestbø.
2898
2899         [Qt] Mac Plugins: Remove null timer
2900         
2901         A null timer was used to send mouse move events. Instead, we now use
2902         move events to send nullEvent. This brings down CPU usage by 20-30%.
2903         
2904         https://bugs.webkit.org/show_bug.cgi?id=31624
2905
2906         * plugins/PluginView.h:
2907         * plugins/mac/PluginViewMac.cpp:
2908         (WebCore::PluginView::platformStart):
2909         (WebCore::PluginView::handleMouseEvent):
2910
2911 2009-11-18  Benjamin Poulain  <benjamin.poulain@nokia.com>
2912
2913         Reviewed by Simon Hausmann.
2914
2915         [Qt] WebKit crashes when loading certain SVG images
2916
2917         Check if the familly exist before creating the PlatformData from it.
2918
2919         https://bugs.webkit.org/show_bug.cgi?id=29443
2920
2921         Test: svg/text/text-font-invalid.html
2922
2923         * platform/graphics/qt/FontFallbackListQt.cpp:
2924         (WebCore::FontFallbackList::fontDataAt):
2925
2926 2009-11-17  Nicolas Weber  <thakis@chromium.org>
2927
2928         Reviewed by Darin Fisher.
2929
2930         Fix crash in Chromium/Mac where dropdowns weren't dismissed correctly
2931         after navigation.
2932         https://bugs.webkit.org/show_bug.cgi?id=31609
2933
2934         * platform/chromium/PopupMenuChromium.cpp:
2935         (WebCore::PopupContainer::showExternal): Set parent for external
2936         dropdowns, so that |PopupListBox::hidePopup()| can successfully notify
2937         its parent's client.
2938
2939 2009-11-17  Hayato Ito  <hayato@google.com>
2940
2941         Reviewed by Darin Adler.
2942
2943         Avoid infinite mutual recursion when deeply nested tags are loaded
2944         https://bugs.webkit.org/show_bug.cgi?id=30651
2945
2946         Test: fast/parser/block-nesting-cap-table.html
2947
2948         * html/HTMLParser.cpp:
2949         (WebCore::HTMLParser::parseToken):
2950         (WebCore::tagPriorityOfNode):
2951         (WebCore::HTMLParser::limitBlockDepth):
2952         (WebCore::HTMLParser::insertNodeAfterLimitBlockDepth):
2953         (WebCore::HTMLParser::insertNode):
2954         * html/HTMLParser.h:
2955
2956 2009-11-17  Brent Fulgham  <bfulgham@webkit.org>
2957
2958         Rubber-stamped by Alexey Proskuryakov.
2959
2960         Final clean-ups for minor coding standard violations.
2961         https://bugs.webkit.org/show_bug.cgi?id=26102.
2962
2963         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2964
2965 2009-11-17  Johnny Ding  <jnd@chromium.org>
2966
2967         Reviewed by Darin Adler.
2968
2969         In all valid script tags for JavaScript, the event handler in <script...for> should not get executed.
2970         https://bugs.webkit.org/show_bug.cgi?id=31567
2971
2972         * dom/ScriptElement.cpp:
2973         (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
2974
2975 2009-11-17  Pavel Feldman  <pfeldman@chromium.org>
2976
2977         Reviewed by Timothy Hatcher.
2978
2979         Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
2980         - Updated DRT to show/close inspector for all tests under /inspector
2981         - Introduced LayoutTestController::setTimelineProfilingEnabled and
2982           WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
2983         - Removed reload on each inspector test
2984         - Renamed fast/inspector to fast/inspector-support in order not to trigger
2985         inspector for those.
2986         - Reimplemented timeline tests in order to get rid of reload there.
2987         - Moved tests that don't require harness into the fast group.
2988
2989         https://bugs.webkit.org/show_bug.cgi?id=31472
2990
2991         * WebCore.Inspector.exp:
2992         * inspector/front-end/TimelinePanel.js:
2993         (WebInspector.TimelinePanel.prototype._formatRecord):
2994
2995 2009-11-17  Andrei Popescu  <andreip@google.com>
2996
2997         Reviewed by Dimitri Glazkov.
2998
2999         [Android] Android is missing the implementation of the GeolocationService iface.
3000         https://bugs.webkit.org/show_bug.cgi?id=31554
3001
3002         No new tests required as this is platform specific code.
3003
3004         * platform/android/GeolocationServiceAndroid.cpp: Added.
3005         (WebCore::GeolocationServiceAndroid::create):
3006         (WebCore::GeolocationServiceAndroid::GeolocationServiceAndroid):
3007         (WebCore::GeolocationServiceAndroid::startUpdating):
3008         (WebCore::GeolocationServiceAndroid::stopUpdating):
3009         (WebCore::GeolocationServiceAndroid::suspend):
3010         (WebCore::GeolocationServiceAndroid::resume):
3011         (WebCore::GeolocationServiceAndroid::newPositionAvailable):
3012         (WebCore::GeolocationServiceAndroid::newErrorAvailable):
3013         (WebCore::GeolocationServiceAndroid::timerFired):
3014         (WebCore::GeolocationServiceAndroid::isPositionMovement):
3015         (WebCore::GeolocationServiceAndroid::isPositionMoreAccurate):
3016         (WebCore::GeolocationServiceAndroid::isPositionMoreTimely):
3017         * platform/android/GeolocationServiceAndroid.h: Added.
3018         (WebCore::GeolocationServiceAndroid::~GeolocationServiceAndroid):
3019         (WebCore::GeolocationServiceAndroid::lastPosition):
3020         (WebCore::GeolocationServiceAndroid::lastError):
3021         * platform/android/GeolocationServiceBridge.cpp: Added.
3022         (WebCore::):
3023         (WebCore::GeolocationServiceBridge::GeolocationServiceBridge):
3024         (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
3025         (WebCore::GeolocationServiceBridge::start):
3026         (WebCore::GeolocationServiceBridge::stop):
3027         (WebCore::GeolocationServiceBridge::setEnableGps):
3028         (WebCore::GeolocationServiceBridge::newLocationAvailable):
3029         (WebCore::GeolocationServiceBridge::newErrorAvailable):
3030         (WebCore::GeolocationServiceBridge::toGeoposition):
3031         (WebCore::GeolocationServiceBridge::startJavaImplementation):
3032         (WebCore::GeolocationServiceBridge::stopJavaImplementation):
3033         * platform/android/GeolocationServiceBridge.h: Added.
3034
3035 2009-11-16  Kent Tamura  <tkent@chromium.org>
3036
3037         Unreviewd build fix.
3038
3039         - Fix typo in WebCore.vcproj.
3040         - Intlude limits.h for INT_MAX.
3041         - Enclose with parenthesis to suspress warning.
3042
3043         * WebCore.vcproj/WebCore.vcproj:
3044         * html/ISODateTime.cpp:
3045         (WebCore::ISODateTime::addDay):
3046
3047 2009-11-16  Robin Dunn  <robin@alldunn.com>
3048
3049         Reviewed by Kevin Ollivier.
3050
3051         Make sure wx scrollbar drawing code factors in transforms when switching backends,
3052         fix calcs for scrollbar length, and tweak the Mac scrollbar tracking rects.
3053         
3054         https://bugs.webkit.org/show_bug.cgi?id=31570
3055
3056         * platform/wx/ScrollbarThemeWx.cpp:
3057         (WebCore::ScrollbarThemeWx::minimumThumbLength):
3058         (WebCore::ScrollbarThemeWx::splitTrack):
3059         (WebCore::ScrollbarThemeWx::forwardButtonRect):
3060         * platform/wx/ScrollbarThemeWx.h:
3061         * platform/wx/wxcode/gtk/scrollbar_render.cpp:
3062         (wxRenderer_DrawScrollbar):
3063         * platform/wx/wxcode/scrollbar_render.h:
3064         (calcThumbStartAndLength):
3065         * platform/wx/wxcode/win/scrollbar_render.cpp:
3066         (wxRenderer_DrawScrollbar):
3067
3068 2009-11-16  Kent Tamura  <tkent@chromium.org>
3069
3070         Reviewed by David Levin.
3071
3072         Introduce WebCore::ISODateTime class.
3073         https://bugs.webkit.org/show_bug.cgi?id=31340
3074
3075         This class represents a value of date/time types of the HTML5 INPUT
3076         element, and has some parsing methods for ISO 8601.
3077
3078         This change has no tests because the class is not used yet.
3079
3080         * GNUmakefile.am: Add ISODateTime.cpp and ISODateTime.h.
3081         * WebCore.gypi: ditto.
3082         * WebCore.pro: ditto.
3083         * WebCore.vcproj/WebCore.vcproj: ditto.
3084         * WebCore.xcodeproj/project.pbxproj: ditto.
3085         * WebCoreSources.bkl: ditto.
3086         * html/ISODateTime.cpp: Added. Implementation of WebCore::ISODateTime class.
3087         (WebCore::isLeapYear):
3088         (WebCore::maxDayOfMonth):
3089         (WebCore::dayOfWeek):
3090         (WebCore::ISODateTime::maxWeekNumberInYear):
3091         (WebCore::countDigits):
3092         (WebCore::toInt):
3093         (WebCore::ISODateTime::parseYear): Private helper for parseDate() and parseWeek().
3094         (WebCore::ISODateTime::addDay): Private helper for parseTimeZone().
3095         (WebCore::ISODateTime::addMinute): ditto.
3096         (WebCore::ISODateTime::parseTimeZone): Private helper for parseDateTime().
3097         (WebCore::ISODateTime::parseMonth): Parser for <input type=month>.
3098         (WebCore::ISODateTime::parseDate): Parser for <input type=date>.
3099         (WebCore::ISODateTime::parseWeek): Parser for <input type=week>.
3100         (WebCore::ISODateTime::parseTime): Parser for <input type=time>.
3101         (WebCore::ISODateTime::parseDateTimeLocal): Parser for <input type=datetime-local>.
3102         (WebCore::ISODateTime::parseDateTime): Parser for <input type=datetime>.
3103         * html/ISODateTime.h: Added.  Declare WebCore::ISODateTime class.
3104         (WebCore::ISODateTime::ISODateTime):
3105         (WebCore::ISODateTime::millisecond):
3106         (WebCore::ISODateTime::second):
3107         (WebCore::ISODateTime::minute):
3108         (WebCore::ISODateTime::hour):
3109         (WebCore::ISODateTime::monthDay):
3110         (WebCore::ISODateTime::month):
3111         (WebCore::ISODateTime::fullYear):
3112         (WebCore::ISODateTime::week):
3113
3114 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
3115
3116         Fix a typo in previous commit.
3117
3118         * platform/network/cf/SocketStreamHandleCFNet.cpp: #ifdef, not #if.
3119
3120 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
3121
3122         Fix a typo in previous commit.
3123
3124         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3125
3126 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
3127
3128         Tiger build fix.
3129
3130         * platform/network/cf/SocketStreamHandleCFNet.cpp: Define CFN_EXPORT, as this macro was named
3131         differently in Tiger CFNetwork.
3132
3133 2009-11-16  Dimitri Glazkov  <dglazkov@chromium.org>
3134
3135         Reviewed by Darin Fisher.
3136
3137         [KURLGoogle] setHostAndPort doesn't handle arguments without port correctly.
3138
3139         Fix a bug in the code that was dormant until http://trac.webkit.org/changeset/50784.
3140
3141         Covered by existing test: LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-host.html
3142
3143         * platform/KURLGoogle.cpp:
3144         (WebCore::KURL::setHostAndPort): Added handling of arguments without port specified.
3145
3146 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
3147
3148         Rubber-stamped by Jon Honeycutt.
3149
3150         A better Windows build fix
3151
3152         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
3153         Use a macro that inserts __declspec(dllimport) when appropriate for CFNetwork imports.
3154
3155 2009-11-16  Yael Aharon  <yael.aharon@nokia.com>
3156
3157         Reviewed by Darin Adler.
3158
3159         Rename protocolIsValid to isValidProtocol.
3160         https://bugs.webkit.org/show_bug.cgi?id=31503
3161
3162         This name change was suggested in https://bugs.webkit.org/show_bug.cgi?id=29972#c19.
3163
3164         No new tests since no new functionality was introduced.
3165
3166         * html/HTMLAnchorElement.cpp:
3167         (WebCore::HTMLAnchorElement::setProtocol):
3168         * platform/KURL.cpp:
3169         (WebCore::isValidProtocol):
3170         * platform/KURL.h:
3171         * platform/KURLGoogle.cpp:
3172         (WebCore::isValidProtocol):
3173
3174 2009-11-16  Chris Fleizach  <cfleizach@apple.com>
3175
3176         Reviewed by Beth Dakin.
3177
3178         AX: aria-labelledby duplicates some of its WAI-ARIA label
3179         https://bugs.webkit.org/show_bug.cgi?id=31565
3180
3181         Test: accessibility/aria-labelledby-overrides-label.html
3182
3183         * accessibility/AccessibilityRenderObject.cpp:
3184         (WebCore::AccessibilityRenderObject::hasTextAlternative):
3185         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
3186         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3187         * accessibility/AccessibilityRenderObject.h:
3188
3189 2009-11-16  Nate Chapin  <japhet@chromium.org>
3190
3191         Reviewed by Darin Fisher.
3192
3193         Handle the case of a null NPObject* in NPN_SetException in
3194         the V8 bindings.  This allow out of process plugins calling
3195         NPN_SetException to just send null instead of sending an
3196         NPObject* that would be an address in a different 
3197         process's memory space.
3198
3199         https://bugs.webkit.org/show_bug.cgi?id=31561
3200
3201         * bindings/v8/NPV8Object.cpp:
3202         (_NPN_SetException): Allow null NPObject* and just throw a general error.
3203
3204 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
3205
3206         Windows build fix.
3207
3208         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
3209         Disable CONNECT proxies on Windows until WebKitSupportLibrary includes support for those.
3210
3211 2009-11-14  Yael Aharon  <yael.aharon@nokia.com>
3212
3213         Reviewed by Kenneth Rohde Christiansen.
3214
3215         [Qt] ASSERT failure while running DRT
3216         https://bugs.webkit.org/show_bug.cgi?id=30978
3217
3218         Add needed Structure typeInfo flags to QtRuntimeObjectImpl and QtRuntimeMethod.
3219         These flags are needed after r49649, where HasDefaultmark was changed to OverrideMarkChildren.
3220
3221         * bridge/qt/qt_instance.cpp:
3222         (JSC::Bindings::QtRuntimeObjectImp::createStructure):
3223         * bridge/qt/qt_runtime.h:
3224         (JSC::Bindings::QtRuntimeMethod::createStructure):
3225
3226 2009-11-16  Mark Rowe  <mrowe@apple.com>
3227
3228         Attempt to fix the build.  Land a file that was missing from r51049.
3229
3230         * bindings/js/JSWebGLArrayHelper.h: Copied from WebCore/html/canvas/WebGLByteArray.idl.
3231         (WebCore::setWebGLArrayFromArray):
3232
3233 2009-11-16  Kenneth Russell  <kbr@google.com>
3234
3235         Reviewed by Oliver Hunt.
3236
3237         Update API of WebGLArray and friends
3238         https://bugs.webkit.org/show_bug.cgi?id=31175
3239
3240         * bindings/js/JSWebGLArrayCustom.cpp:
3241         (WebCore::toJS):
3242         * bindings/js/JSWebGLArrayHelper.h: Added.
3243         (WebCore::setWebGLArrayFromArray):
3244         * bindings/js/JSWebGLByteArrayCustom.cpp:
3245         (WebCore::JSWebGLByteArray::set):
3246         * bindings/js/JSWebGLFloatArrayCustom.cpp:
3247         (WebCore::JSWebGLFloatArray::set):
3248         * bindings/js/JSWebGLIntArrayCustom.cpp:
3249         (WebCore::JSWebGLIntArray::set):
3250         * bindings/js/JSWebGLShortArrayCustom.cpp:
3251         (WebCore::JSWebGLShortArray::set):
3252         * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
3253         (WebCore::JSWebGLUnsignedByteArray::set):
3254         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
3255         (WebCore::JSWebGLUnsignedIntArray::set):
3256         * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
3257         (WebCore::JSWebGLUnsignedShortArray::set):
3258         * bindings/scripts/CodeGeneratorV8.pm:
3259         * bindings/v8/V8DOMWrapper.cpp:
3260         (WebCore::V8DOMWrapper::convertToV8Object):
3261         * bindings/v8/custom/V8CustomBinding.h:
3262         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
3263         (WebCore::CALLBACK_FUNC_DECL):
3264         * bindings/v8/custom/V8WebGLArrayCustom.h:
3265         (WebCore::constructWebGLArray):
3266         (WebCore::getWebGLArrayElement):
3267         (WebCore::setWebGLArrayFromArray):
3268         (WebCore::setWebGLArray):
3269         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
3270         (WebCore::CALLBACK_FUNC_DECL):
3271         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
3272         (WebCore::CALLBACK_FUNC_DECL):
3273         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
3274         (WebCore::CALLBACK_FUNC_DECL):
3275         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
3276         (WebCore::CALLBACK_FUNC_DECL):
3277         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
3278         (WebCore::CALLBACK_FUNC_DECL):
3279         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
3280         (WebCore::CALLBACK_FUNC_DECL):
3281         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
3282         (WebCore::CALLBACK_FUNC_DECL):
3283         * html/canvas/WebGLArray.cpp:
3284         (WebCore::WebGLArray::WebGLArray):
3285         (WebCore::WebGLArray::~WebGLArray):
3286         (WebCore::WebGLArray::setImpl):
3287         * html/canvas/WebGLArray.h:
3288         (WebCore::WebGLArray::isByteArray):
3289         (WebCore::WebGLArray::isUnsignedByteArray):
3290         (WebCore::WebGLArray::isShortArray):
3291         (WebCore::WebGLArray::isUnsignedShortArray):
3292         (WebCore::WebGLArray::isIntArray):
3293         (WebCore::WebGLArray::isUnsignedIntArray):
3294         (WebCore::WebGLArray::isFloatArray):
3295         (WebCore::WebGLArray::buffer):
3296         (WebCore::WebGLArray::baseAddress):
3297         (WebCore::WebGLArray::byteOffset):
3298         * html/canvas/WebGLArray.idl:
3299         * html/canvas/WebGLArrayBuffer.cpp:
3300         (WebCore::WebGLArrayBuffer::create):
3301         (WebCore::WebGLArrayBuffer::WebGLArrayBuffer):
3302         (WebCore::WebGLArrayBuffer::data):
3303         (WebCore::WebGLArrayBuffer::byteLength):
3304         (WebCore::WebGLArrayBuffer::~WebGLArrayBuffer):
3305         * html/canvas/WebGLArrayBuffer.h:
3306         * html/canvas/WebGLByteArray.cpp:
3307         (WebCore::WebGLByteArray::create):
3308         (WebCore::WebGLByteArray::byteLength):
3309         (WebCore::WebGLByteArray::slice):
3310         (WebCore::WebGLByteArray::set):
3311         * html/canvas/WebGLByteArray.h:
3312         (WebCore::WebGLByteArray::isByteArray):
3313         (WebCore::WebGLByteArray::data):
3314         (WebCore::WebGLByteArray::set):
3315         (WebCore::WebGLByteArray::get):
3316         (WebCore::WebGLByteArray::item):
3317         * html/canvas/WebGLByteArray.idl:
3318         * html/canvas/WebGLFloatArray.cpp:
3319         (WebCore::WebGLFloatArray::create):
3320         (WebCore::WebGLFloatArray::WebGLFloatArray):
3321         (WebCore::WebGLFloatArray::length):
3322         (WebCore::WebGLFloatArray::byteLength):
3323         (WebCore::WebGLFloatArray::slice):
3324         (WebCore::WebGLFloatArray::set):
3325         * html/canvas/WebGLFloatArray.h:
3326         (WebCore::WebGLFloatArray::isFloatArray):
3327         (WebCore::WebGLFloatArray::data):
3328         (WebCore::WebGLFloatArray::set):
3329         (WebCore::WebGLFloatArray::get):
3330         (WebCore::WebGLFloatArray::item):
3331         * html/canvas/WebGLFloatArray.idl:
3332         * html/canvas/WebGLIntArray.cpp:
3333         (WebCore::WebGLIntArray::create):
3334         (WebCore::WebGLIntArray::WebGLIntArray):
3335         (WebCore::WebGLIntArray::length):
3336         (WebCore::WebGLIntArray::byteLength):
3337         (WebCore::WebGLIntArray::slice):
3338         (WebCore::WebGLIntArray::set):
3339         * html/canvas/WebGLIntArray.h:
3340         (WebCore::WebGLIntArray::isIntArray):
3341         (WebCore::WebGLIntArray::data):
3342         (WebCore::WebGLIntArray::set):
3343         (WebCore::WebGLIntArray::get):
3344         (WebCore::WebGLIntArray::item):
3345         * html/canvas/WebGLIntArray.idl:
3346         * html/canvas/WebGLShortArray.cpp:
3347         (WebCore::WebGLShortArray::create):
3348         (WebCore::WebGLShortArray::WebGLShortArray):
3349         (WebCore::WebGLShortArray::length):
3350         (WebCore::WebGLShortArray::byteLength):
3351         (WebCore::WebGLShortArray::slice):
3352         (WebCore::WebGLShortArray::set):
3353         * html/canvas/WebGLShortArray.h:
3354         (WebCore::WebGLShortArray::isShortArray):
3355         (WebCore::WebGLShortArray::data):
3356         (WebCore::WebGLShortArray::set):
3357         (WebCore::WebGLShortArray::get):
3358         (WebCore::WebGLShortArray::item):
3359         * html/canvas/WebGLShortArray.idl:
3360         * html/canvas/WebGLUnsignedByteArray.cpp:
3361         (WebCore::WebGLUnsignedByteArray::create):
3362         (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
3363         (WebCore::WebGLUnsignedByteArray::length):
3364         (WebCore::WebGLUnsignedByteArray::byteLength):
3365         (WebCore::WebGLUnsignedByteArray::slice):
3366         (WebCore::WebGLUnsignedByteArray::set):
3367         * html/canvas/WebGLUnsignedByteArray.h:
3368         (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
3369         (WebCore::WebGLUnsignedByteArray::data):
3370         (WebCore::WebGLUnsignedByteArray::set):
3371         (WebCore::WebGLUnsignedByteArray::get):
3372         (WebCore::WebGLUnsignedByteArray::item):
3373         * html/canvas/WebGLUnsignedByteArray.idl:
3374         * html/canvas/WebGLUnsignedIntArray.cpp:
3375         (WebCore::WebGLUnsignedIntArray::create):
3376         (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
3377         (WebCore::WebGLUnsignedIntArray::length):
3378         (WebCore::WebGLUnsignedIntArray::byteLength):
3379         (WebCore::WebGLUnsignedIntArray::slice):
3380         (WebCore::WebGLUnsignedIntArray::set):
3381         * html/canvas/WebGLUnsignedIntArray.h:
3382         (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
3383         (WebCore::WebGLUnsignedIntArray::data):
3384         (WebCore::WebGLUnsignedIntArray::set):
3385         (WebCore::WebGLUnsignedIntArray::get):
3386         (WebCore::WebGLUnsignedIntArray::item):
3387         * html/canvas/WebGLUnsignedIntArray.idl:
3388         * html/canvas/WebGLUnsignedShortArray.cpp:
3389         (WebCore::WebGLUnsignedShortArray::create):
3390         (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
3391         (WebCore::WebGLUnsignedShortArray::length):
3392         (WebCore::WebGLUnsignedShortArray::byteLength):
3393         (WebCore::WebGLUnsignedShortArray::slice):
3394         (WebCore::WebGLUnsignedShortArray::set):
3395         * html/canvas/WebGLUnsignedShortArray.h:
3396         (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
3397         (WebCore::WebGLUnsignedShortArray::data):
3398         (WebCore::WebGLUnsignedShortArray::set):
3399         (WebCore::WebGLUnsignedShortArray::get):
3400         (WebCore::WebGLUnsignedShortArray::item):
3401         * html/canvas/WebGLUnsignedShortArray.idl:
3402         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3403         (WebCore::GraphicsContext3D::bufferData):
3404         (WebCore::GraphicsContext3D::bufferSubData):
3405
3406 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
3407
3408         Windows build fix.
3409
3410         * platform/network/cf/SocketStreamHandleCFNet.cpp: Declare constants as extern "C".
3411
3412 2009-11-15  Brent Fulgham  <bfulgham@webkit.org>
3413
3414         Reviewed by Oliver Hunt.
3415
3416         Enable support for webkit-box-shadow in Cairo builds.
3417         https://bugs.webkit.org/show_bug.cgi?id=26102.
3418
3419         Covered by existing fast/box-shadow tests.
3420
3421         * platform/graphics/cairo/GraphicsContextCairo.cpp:  Add
3422           support for fillRect shadows.
3423
3424 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
3425
3426         Windows build fix.
3427
3428         * platform/network/cf/SocketStreamHandleCFNet.cpp: Don't try to include a file that's not
3429         in WebKitSupportLibrary.
3430
3431 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
3432
3433         Reviewed by Darin Adler.
3434
3435         https://bugs.webkit.org/show_bug.cgi?id=31494
3436         Add unauthenticated proxy support to SocketStreamHandleCFNet
3437
3438         Cannot be tested in DRT.
3439
3440         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3441         (WebCore::SocketStreamHandle::chooseProxy): Fetch proxy information from OS.
3442         (WebCore::SocketStreamHandle::createStreams): Apply it to the newly created streams.
3443
3444 2009-11-14  Antonio Gomes  <tonikitoo@webkit.org>
3445
3446         Reviewed by Antti Koivisto.
3447
3448         [Qt] Broken back/forward after using ErrorPageExtension to set error page
3449         https://bugs.webkit.org/show_bug.cgi?id=30573
3450
3451         Make FrameLoader::checkLoadCompleteForThisFrame method
3452         to check for any working DocumentLoader instance (through
3453         activeDocumentLoader()) instead of only checking for
3454         'm_provisionalDocumentLoader' in order to decide to if
3455         it is going to reset of not the back and forward history.
3456         after an error page has been loaded.
3457
3458         Test: LayoutTests/fast/history/back-forward-reset-after-error-handling.html
3459
3460         * loader/FrameLoader.cpp:
3461         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
3462
3463 2009-11-14  Chris Fleizach  <cfleizach@apple.com>
3464
3465         Reviewed by Darin Adler.
3466
3467         Need to implement ARIA role="directory"
3468         https://bugs.webkit.org/show_bug.cgi?id=31516
3469
3470         Test: platform/mac/accessibility/aria-directory.html
3471
3472         * accessibility/AXObjectCache.cpp:
3473         (WebCore::AXObjectCache::getOrCreate):
3474         * accessibility/AccessibilityList.cpp:
3475         (WebCore::AccessibilityList::isOrderedList):
3476         * accessibility/AccessibilityRenderObject.cpp:
3477         (WebCore::createARIARoleMap):
3478
3479 2009-11-15  Dave Tapuska  <dtapuska@rim.com>
3480
3481         Reviewed by George Staikos.
3482         
3483         Compare UChars single unit at a time as opposed to the uint32_t
3484         approach as casting to unaligned addresses may cause a bus failure
3485         on ARMv5 and below. This change replicates the same defines that
3486         exists in AtomicString.cpp
3487
3488         https://bugs.webkit.org/show_bug.cgi?id=31475
3489         
3490         * platform/text/StringHash.h:
3491         (WebCore::StringHash::equal):
3492
3493 2009-11-15  Evan Martin  <evan@chromium.org>
3494
3495         Reviewed by Adam Barth.
3496
3497         Wrap some SVG code in V8DOMWrapper with an ENABLE(SVG) test.
3498
3499         https://bugs.webkit.org/show_bug.cgi?id=31490
3500
3501         * bindings/v8/V8DOMWrapper.cpp:
3502
3503 2009-11-15  Maxime Simon  <simon.maxime@gmail.com>
3504
3505         Reviewed by Adam Barth.
3506
3507         [Haiku] Build fix. The FileChooser constructor doesn't need to be redefined.
3508
3509         * platform/haiku/FileChooserHaiku.cpp:
3510
3511 2009-11-15  Maxime Simon  <simon.maxime@gmail.com>
3512
3513         Reviewed by Adam Barth.
3514
3515         [Haiku] Build fix. ColorSpace name had a wrong CamelCase.
3516
3517         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3518         (WebCore::GraphicsContext::setPlatformStrokeColor):
3519
3520 2009-11-15  Daniel Bates  <dbates@webkit.org>
3521
3522         No review, rolling out r50999.
3523         http://trac.webkit.org/changeset/50999
3524
3525         Need to fix some issues in the Windows build. Missed some places where
3526         RenderTextControl::isEdited is called.
3527
3528         * bindings/objc/DOMHTML.mm:
3529         (-[DOMHTMLInputElement _isEdited]):
3530         (-[DOMHTMLTextAreaElement _isEdited]):
3531         * dom/Document.cpp:
3532         (WebCore::Document::setFocusedNode):
3533         * html/HTMLInputElement.cpp:
3534         (WebCore::HTMLInputElement::defaultEventHandler):
3535         * rendering/RenderTextControl.cpp:
3536         (WebCore::RenderTextControl::RenderTextControl):
3537         (WebCore::RenderTextControl::setInnerTextValue):
3538         (WebCore::RenderTextControl::setUserEdited):
3539         (WebCore::RenderTextControl::subtreeHasChanged):
3540         * rendering/RenderTextControl.h:
3541         (WebCore::RenderTextControl::isEdited):
3542         (WebCore::RenderTextControl::setEdited):
3543         (WebCore::RenderTextControl::isUserEdited):
3544         * rendering/RenderTextControlSingleLine.cpp:
3545         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
3546         * wml/WMLInputElement.cpp:
3547         (WebCore::WMLInputElement::defaultEventHandler):
3548
3549 2009-11-15  Daniel Bates  <dbates@webkit.org>
3550
3551         Reviewed by Darin Adler.
3552
3553         https://bugs.webkit.org/show_bug.cgi?id=31186
3554
3555         Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
3556         m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
3557         These are more descriptive names so as to clear an ambiguity surrounding
3558         their usage. Also, renames associated setters and getters so that they
3559         coincide with the renamed fields.
3560
3561         No functionality was changed. So, no tests were included.
3562
3563         * bindings/objc/DOMHTML.mm:
3564         (-[DOMHTMLInputElement _isEdited]):
3565         (-[DOMHTMLTextAreaElement _isEdited]):
3566         * dom/Document.cpp:
3567         (WebCore::Document::setFocusedNode):
3568         * html/HTMLInputElement.cpp:
3569         (WebCore::HTMLInputElement::defaultEventHandler):
3570         * rendering/RenderTextControl.cpp:
3571         (WebCore::RenderTextControl::RenderTextControl):
3572         (WebCore::RenderTextControl::setInnerTextValue):
3573         (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
3574         (WebCore::RenderTextControl::subtreeHasChanged):
3575         * rendering/RenderTextControl.h:
3576         (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
3577         (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
3578         (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
3579         * rendering/RenderTextControlSingleLine.cpp:
3580         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
3581         * wml/WMLInputElement.cpp:
3582         (WebCore::WMLInputElement::defaultEventHandler):
3583
3584 2009-11-14  Adele Peterson  <adele@apple.com>
3585
3586         Reviewed by Dan Bernstein.
3587
3588         Fix for <rdar://problem/6946165> Would like to be able to specify the number of visible lines when using -webkit-line-clamp
3589
3590         Test: fast/overflow/line-clamp.html
3591
3592         * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to handle different types of values.
3593         * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): ditto.
3594         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
3595
3596         * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
3597         Use the line count value if available.  Otherwise, convert the percentage to the line count, as we did before.  Also,
3598         if there is anchor as the last child box, still allow adding the ellipsis.
3599
3600         * rendering/RenderLayer.cpp:
3601         (WebCore::RenderLayer::scrollByRecursively): Call isNone on the LineClampValue to see if the line-clamp property has been set.
3602         (WebCore::RenderLayer::scrollRectToVisible): ditto.
3603
3604         * WebCore.xcodeproj/project.pbxproj: Added LineClampValue.h
3605         * rendering/style/LineClampValue.h: Added.
3606         (WebCore::LineClampValue::LineClampValue):
3607         (WebCore::LineClampValue::value):
3608         (WebCore::LineClampValue::isPercentage):
3609         (WebCore::LineClampValue::isNone):
3610         (WebCore::LineClampValue::operator==):
3611         (WebCore::LineClampValue::operator!=):
3612         * rendering/style/RenderStyleConstants.h: (WebCore::): Define ELineClampType enum for percentage or line count.
3613
3614         * rendering/style/RenderStyle.h: Use LineClampValue.
3615         (WebCore::InheritedFlags::lineClamp):
3616         (WebCore::InheritedFlags::setLineClamp):
3617         (WebCore::InheritedFlags::initialLineClamp):
3618         * rendering/style/StyleRareNonInheritedData.h:
3619
3620 2009-11-14  Eric Carlson  <eric.carlson@apple.com>
3621
3622         Reviewed by Oliver Hunt.
3623
3624         <rdar://problem/7287487> 
3625         Do not use QuickTime version to detect media controller theme
3626
3627         * WebCore.base.exp: Export wkMediaControllerThemeAvailable
3628         * platform/mac/WebCoreSystemInterface.h: Ditto.
3629         * platform/mac/WebCoreSystemInterface.mm: Ditto.
3630
3631         * rendering/RenderThemeMac.mm:
3632         (WebCore::mediaControllerTheme): Use wkMediaControllerThemeAvailable instead of the
3633         QuickTime version to see if it is possible to use MediaControllerThemeQuickTime.
3634
3635 2009-11-14  Kent Tamura  <tkent@chromium.org>
3636
3637         Reviewed by Darin Adler.
3638
3639         - Recognizes date/datetime/datetime-local/month/time/week types of INPUT element.
3640           They have no dedicated UI and no type validation for now.
3641         - Clean up setInputType() and formControlType() of HTMLInputElement.
3642         https://bugs.webkit.org/show_bug.cgi?id=29004
3643
3644         Test: fast/forms/input-type-change3.html
3645
3646         * html/HTMLInputElement.cpp:
3647         (WebCore::HTMLInputElement::valueMissing):
3648         (WebCore::HTMLInputElement::patternMismatch):
3649         (WebCore::HTMLInputElement::tooLong):
3650         (WebCore::createTypeMap):
3651         (WebCore::HTMLInputElement::setInputType):
3652         (WebCore::createFormControlTypes):
3653         (WebCore::HTMLInputElement::formControlType):
3654         (WebCore::HTMLInputElement::saveFormControlState):
3655         (WebCore::HTMLInputElement::restoreFormControlState):
3656         (WebCore::HTMLInputElement::accessKeyAction):
3657         (WebCore::HTMLInputElement::rendererIsNeeded):
3658         (WebCore::HTMLInputElement::createRenderer):
3659         (WebCore::HTMLInputElement::appendFormData):
3660         (WebCore::HTMLInputElement::isTextField):
3661         (WebCore::HTMLInputElement::valueWithDefault):
3662         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
3663         (WebCore::HTMLInputElement::defaultEventHandler):
3664         (WebCore::HTMLInputElement::isRequiredFormControl):
3665         (WebCore::HTMLInputElement::dataList):
3666         * html/HTMLInputElement.h:
3667         (WebCore::HTMLInputElement::):
3668
3669 2009-11-13  Chris Fleizach  <cfleizach@apple.com>
3670
3671         Reviewed by Darin Adler.
3672
3673         WAI-ARIA: checkbox does not determine its label from text content
3674         https://bugs.webkit.org/show_bug.cgi?id=31456
3675
3676         Test: accessibility/aria-checkbox-text.html
3677
3678         * accessibility/AccessibilityRenderObject.cpp:
3679         (WebCore::AccessibilityRenderObject::title):
3680
3681 2009-11-13  Dimitri Glazkov  <dglazkov@chromium.org>
3682
3683         Unreviewed, build fix.
3684
3685         [Chromium] Fix build to catch up with http://trac.webkit.org/changeset/50973.
3686         This is just enough changes to unbreak the port.
3687
3688         * bindings/v8/ScriptController.cpp:
3689         (WebCore::mainThreadNormalWorld):
3690         * bindings/v8/V8Proxy.cpp:
3691         (WebCore::V8Proxy::initContextIfNeeded):
3692         * loader/FrameLoaderClient.h:
3693
3694 2009-11-13  Aaron Boodman  <aa@chromium.org>
3695
3696         Unreviewed fix for Chromium build.
3697
3698         * loader/FrameLoaderClient.h:
3699         (WebCore::FrameLoaderClient::dispatchDidClearWindowObjectInWorld):
3700         Provide an empty implementation of this method because I don't know
3701         what it is supposed to do on Chromium.
3702
3703 2009-11-13  Aaron Boodman  <aa@chromium.org>
3704
3705         Unreviewed fix for Chromium build.
3706
3707         * loader/FrameLoader.h: Make dispatchDidClearWindowObjectsInAllWorlds()
3708         public, as Chromium's V8Proxy calls it.
3709
3710 2009-11-13  Aaron Boodman  <aa@chromium.org>
3711
3712         Unreviewed fix to Chromium build.
3713
3714         * bindings/v8/ScriptController.cpp:
3715         (WebCore::ScriptController::getAllWorlds): 
3716
3717 2009-11-13  Aaron Boodman  <aa@chromium.org>
3718
3719         Unreviewed fix for Chromium build.
3720
3721         * platform/text/TextBoundaries.cpp: Use longer path to refer to Unicode.h.
3722
3723 2009-11-13  Adam Barth  <abarth@webkit.org>
3724
3725         Unreviewed partial build fix for Chromium.  Should fix failure #4.
3726
3727         * bindings/v8/ScriptController.cpp:
3728         (WebCore::ScriptController::getAllWorlds):
3729         * bindings/v8/ScriptController.h:
3730         * bindings/v8/V8Proxy.cpp:
3731         (WebCore::V8Proxy::initContextIfNeeded):
3732
3733 2009-11-13  Adam Barth  <abarth@webkit.org>
3734
3735         Unreviewed partial build fix for Chromium.
3736
3737         * bindings/v8/ScriptController.h:
3738         (WebCore::ScriptController::getAllWorlds):
3739
3740 2009-11-13  Eric Seidel  <eric@webkit.org>
3741
3742         No review, build fix only.
3743
3744         Fix Windows and Chromium builds after http://trac.webkit.org/changeset/50977.
3745
3746         Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
3747         https://bugs.webkit.org/show_bug.cgi?id=31468
3748
3749         * WebCore.gypi: Rename TextBoundariesICU -> TextBoundaries
3750         * WebCore.vcproj/WebCore.vcproj: Rename TextBoundariesICU -> TextBoundaries
3751
3752 2009-11-12  Jeremy Orlow  <jorlow@chromium.org>
3753
3754         Reviewed by Dmitry Titov.
3755
3756         LocalStorage quota should include key sizes in its count
3757         https://bugs.webkit.org/show_bug.cgi?id=31451
3758
3759         * storage/StorageMap.cpp:
3760         (WebCore::StorageMap::setItem):
3761             Count keys in the quota when adding a new item.
3762         (WebCore::StorageMap::removeItem):
3763             Remove the key's length from the quota if we're removing the item.
3764         (WebCore::StorageMap::importItem):
3765             Assume that we're adding things for the first time.
3766             Count keys in the quota.
3767
3768 2009-11-13  Dominik Röttsches  <dominik.roettsches@access-company.com>
3769
3770         Reviewed by Eric Seidel.
3771
3772         Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
3773         https://bugs.webkit.org/show_bug.cgi?id=31468
3774
3775         Moving TextBoundariesICU.cpp to TextBoundaries.cpp
3776         by removing the direct ICU dependency and replacing it
3777         with WTF functions and WebCore's own TextBreakIterator
3778         abstractions.
3779
3780         * GNUmakefile.am:
3781         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
3782         * platform/text/TextBoundaries.cpp: Added.
3783         (WebCore::findNextWordFromIndex):
3784         (WebCore::findWordBoundary):
3785         * platform/text/TextBoundariesICU.cpp: Removed.
3786         * platform/text/TextBreakIterator.h:
3787         * platform/text/TextBreakIteratorICU.cpp:
3788         (WebCore::textBreakLast):
3789         (WebCore::textBreakPrevious):
3790
3791 2009-11-13  Shinichiro Hamaji  <hamaji@chromium.org>
3792
3793         Reviewed by Darin Adler.
3794
3795         WebCore::externalRepresentation should update layout before getting render object
3796         https://bugs.webkit.org/show_bug.cgi?id=31459
3797
3798         * rendering/RenderTreeAsText.cpp:
3799         (WebCore::externalRepresentation):
3800
3801 2009-11-13  Adam Roben  <aroben@apple.com>
3802
3803         Tell FrameLoaderClient when window objects in isolated worlds are
3804         cleared
3805
3806         Fixes <http://webkit.org/b/31124> Tell the WebFrameLoadDelegate when
3807         window objects in isolated worlds are cleared
3808
3809         Test: http/tests/security/isolatedWorld/didClearWindowObject.html
3810
3811         Reviewed by Dave Hyatt.
3812
3813         * bindings/js/JSDOMBinding.h:
3814         (WebCore::WebCoreJSClientData::getAllWorlds): Added. Copies all the
3815         worlds in m_worldSet to the passed-in Vector.
3816
3817         * bindings/js/ScriptController.cpp:
3818         (WebCore::ScriptController::getAllWorlds): Added. Calls through to
3819         WebCoreJSClientData.
3820         (WebCore::ScriptController::initScript): Changed to call
3821         FrameLoader::dispatchDidClearWindowObjectInWorld.
3822
3823         * bindings/js/ScriptController.h: Added getAllWorlds.
3824
3825         * loader/EmptyClients.h:
3826         (WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
3827         Updated for FrameLoaderClient change.
3828
3829         * loader/FrameLoader.cpp:
3830         (WebCore::FrameLoader::receivedFirstData):
3831         (WebCore::FrameLoader::begin):
3832         Changed to call dispatchDidClearWindowObjectsInAllWorlds.
3833
3834         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
3835         Added. Retrieves all the worlds, then calls through to
3836         dispatchDidClearWindowObjectInWorld for each one.
3837         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): Replaces
3838         dispatchWindowObjectAvailable. Calls up to the client, then, if the
3839         world is the mainThreadNormalWorld(), tells the Inspector about it,
3840         too.
3841
3842         * loader/FrameLoader.h: Replaced dispatchWindowObjectAvailable with
3843         dispatchDidClearWindowObjectInWorld. Added
3844         dispatchDidClearWindowObjectsInAllWorlds.
3845
3846         * loader/FrameLoaderClient.h: Replaced windowObjectCleared with
3847         dispatchDidClearWindowObjectForWorld.
3848
3849 2009-11-13  Vitaly Repeshko  <vitalyr@chromium.org>
3850
3851         Reviewed by Dimitri Glazkov.
3852
3853         [V8] Fix SVG context assignment for pod types.
3854         https://bugs.webkit.org/show_bug.cgi?id=31497
3855
3856         I broke this in r50958.
3857
3858         Tested by svg/custom/viewport-update2.svg.
3859
3860         * bindings/scripts/CodeGeneratorV8.pm:
3861
3862 2009-11-13  Andrei Popescu  <andreip@google.com>
3863
3864         Reviewed by Dmitry Titov.
3865
3866         Bring the platform/android files inline with Android 2.0
3867         https://bugs.webkit.org/show_bug.cgi?id=31423
3868
3869         No new tests required: these are all Android-specific files.
3870
3871         * platform/android/ClipboardAndroid.cpp:
3872         (WebCore::ClipboardAndroid::files):
3873         * platform/android/ClipboardAndroid.h:
3874         * platform/android/FileChooserAndroid.cpp:
3875         (WebCore::FileChooser::basenameForWidth):
3876         (WebCore::fileButtonChooseFileLabel):
3877         * platform/android/KeyEventAndroid.cpp:
3878         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3879         * platform/android/LocalizedStringsAndroid.cpp:
3880         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
3881         (WebCore::contextMenuItemTagDownloadLinkToDisk):
3882         (WebCore::contextMenuItemTagCopyLinkToClipboard):
3883         (WebCore::contextMenuItemTagOpenImageInNewWindow):
3884         (WebCore::contextMenuItemTagDownloadImageToDisk):
3885         (WebCore::contextMenuItemTagCopyImageToClipboard):
3886         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
3887         (WebCore::contextMenuItemTagCopy):
3888         (WebCore::contextMenuItemTagGoBack):
3889         (WebCore::contextMenuItemTagGoForward):
3890         (WebCore::contextMenuItemTagStop):
3891         (WebCore::contextMenuItemTagReload):
3892         (WebCore::contextMenuItemTagCut):
3893         (WebCore::contextMenuItemTagPaste):
3894         (WebCore::contextMenuItemTagNoGuessesFound):
3895         (WebCore::contextMenuItemTagIgnoreSpelling):
3896         (WebCore::contextMenuItemTagLearnSpelling):
3897         (WebCore::contextMenuItemTagSearchWeb):
3898         (WebCore::contextMenuItemTagLookUpInDictionary):
3899         (WebCore::contextMenuItemTagOpenLink):
3900         (WebCore::contextMenuItemTagIgnoreGrammar):
3901         (WebCore::contextMenuItemTagSpellingMenu):
3902         (WebCore::contextMenuItemTagShowSpellingPanel):
3903         (WebCore::contextMenuItemTagCheckSpelling):
3904         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
3905         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
3906         (WebCore::contextMenuItemTagFontMenu):
3907         (WebCore::contextMenuItemTagBold):
3908         (WebCore::contextMenuItemTagItalic):
3909         (WebCore::contextMenuItemTagUnderline):
3910         (WebCore::contextMenuItemTagOutline):
3911         (WebCore::contextMenuItemTagWritingDirectionMenu):
3912         (WebCore::contextMenuItemTagTextDirectionMenu):
3913         (WebCore::contextMenuItemTagDefaultDirection):
3914         (WebCore::contextMenuItemTagLeftToRight):
3915         (WebCore::contextMenuItemTagRightToLeft):
3916         (WebCore::mediaElementLoadingStateText):
3917         (WebCore::mediaElementLiveBroadcastStateText):
3918         (WebCore::searchableIndexIntroduction):
3919         (WebCore::resetButtonDefaultLabel):
3920         (WebCore::submitButtonDefaultLabel):
3921         (WebCore::inputElementAltText):
3922         * platform/android/RenderThemeAndroid.cpp:
3923         (WebCore::RenderTheme::themeForPage):
3924         (WebCore::RenderThemeAndroid::baselinePosition):
3925         (WebCore::RenderThemeAndroid::paintButton):
3926         (WebCore::adjustMenuListStyleCommon):
3927         (WebCore::RenderThemeAndroid::paintCombo):
3928         * platform/android/ScreenAndroid.cpp:
3929         * platform/android/ScrollViewAndroid.cpp:
3930         (WebCore::ScrollView::platformOffscreenContentRectangle):
3931         * platform/android/TemporaryLinkStubs.cpp:
3932         (JSC::Bindings::dispatchJNICall):
3933         * platform/android/WidgetAndroid.cpp:
3934         (WebCore::Widget::setFrameRect):
3935
3936 2009-11-13  Norbert Leser  <norbert.leser&nokia.com>
3937
3938         Reviewed by Eric Seidel.
3939
3940         Added macros for USERINCLUDE paths within symbian blocks
3941         to guarantee inclusion of respective header files from local path
3942         first (to avoid clashes with same names of header files in system include path).
3943
3944         * WebCore.pro:
3945
3946 2009-11-13  Hironori Bono  <hbono@chromium.org>
3947
3948         Reviewed by Oliver Hunt.
3949
3950         Implement composition events introduced in DOM Level 3.
3951         This change adds a new IDL which defines the composition events, adds a class which
3952         implements the composition events, and sends the composition events according to
3953         the specification.
3954         https://bugs.webkit.org/show_bug.cgi?id=26310
3955
3956         Test: fast/events/ime-composition-events-001.html
3957
3958         * DerivedSources.make: Added CompositionEvent so we can compile "CompositionEvent.idl".
3959         * GNUmakefile.am: Added "CompositionEvent.{cpp,h,idl}".
3960         * WebCore.gypi: ditto.
3961         * WebCore.pro: ditto
3962         * WebCore.vcproj/WebCore.vcproj: ditto.
3963         * WebCore.xcodeproj/project.pbxproj: Added "CompositionEvent.{cpp,h,idl}" and "JSCompositionEvent.{cpp,h}".
3964         * WebCoreSources.bkl: Added "JSCompositionEvent.{cpp,h}".
3965         * bindings/js/JSEventCustom.cpp:
3966         (WebCore::toJS): Call isCompositionEvent() to create the CompositionEvent wrapper.
3967         * bindings/v8/DOMObjectsInclude.h: Added "JSCompositionEvent.h".
3968         * bindings/v8/DerivedSourcesAllInOne.cpp: Added "JSCompositionEvent.cpp".
3969         * bindings/v8/V8DOMWrapper.cpp: Call isCompositionEvent() to identify an event as a CompositionEvent.
3970         (WebCore::V8DOMWrapper::convertEventToV8Object):
3971         * bindings/v8/V8Index.cpp: Added "V8CompositionEvent.h".
3972         * bindings/v8/V8Index.h: Added V8Index::COMPOSITIONEVENT.
3973         * dom/CompositionEvent.cpp: Implements the CompositionEvent class.
3974         (WebCore::CompositionEvent::CompositionEvent):
3975         (WebCore::CompositionEvent::~CompositionEvent):
3976         (WebCore::CompositionEvent::initCompositionEvent):
3977         (WebCore::CompositionEvent::isCompositionEvent):
3978         * dom/CompositionEvent.h: Declares the CompositionEvent class.
3979         (WebCore::CompositionEvent::create):
3980         (WebCore::CompositionEvent::data):
3981         * dom/CompositionEvent.idl: Added the IDL of DOM CompositionEvent.
3982         * dom/Event.cpp:
3983         (WebCore::Event::isCompositionEvent): Added a method to identify an event is a CompositionEvent.
3984         * dom/Event.h:
3985         * dom/EventNames.h: Added composition{start,update,end} to eventNames.
3986         * editing/Editor.cpp:
3987         (WebCore::Editor::confirmComposition): Sent a CompositionEnd event.
3988         (WebCore::Editor::setComposition): Sent a Composition{Start,Update,End} event.
3989
3990 2009-11-13  Jens Alfke  <snej@chromium.org>
3991
3992         Reviewed by Dimitri Glazkov.
3993
3994         Fix a link error in unofficial GCC 4.4 builds on Linux.
3995         https://bugs.webkit.org/show_bug.cgi?id=31477
3996
3997         * bindings/v8/V8Binding.cpp:  Add explicit instantiations of v8StringToWebCoreString template.
3998
3999 2009-11-13  Eric Seidel  <eric@webkit.org>
4000
4001         No review, build fix only.
4002
4003         Fix Debug build after http://trac.webkit.org/changeset/50960.
4004
4005         The CounterNode class does not support all methods necessary to efficiently update the counter tree as needed per CSS2.1
4006         https://bugs.webkit.org/show_bug.cgi?id=31213
4007
4008         * rendering/CounterNode.cpp:
4009         (WebCore::showTreeAndMark):
4010         * rendering/RenderCounter.cpp:
4011         (WebCore::destroyCounterNodeChildren):
4012
4013 2009-11-13  Dirk Schulze  <krit@webkit.org>
4014
4015         Reviewed by Gustavo Noronha.
4016
4017         [CAIRO] shadow support for Canvas and SVG
4018         [https://bugs.webkit.org/show_bug.cgi?id=30960]
4019
4020         We currently fill a path with solid color instead of filling
4021         a clipping path. This causes problems on some composite operators,
4022         since Cairo modifies the area outside the path.
4023         This fixes the behavior of WebKitGtk on fast/canvas/canvas-composite-alpha.html
4024
4025         Thanks to Benjamin Otte for tracking the bug down.
4026
4027         * platform/graphics/cairo/GraphicsContextCairo.cpp:
4028         (WebCore::setPlatformFill):
4029
4030 2009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
4031
4032         Reviewed by Dimitri Glazkov.
4033
4034         Adding Chromium's DatabaseTracker implementation.
4035
4036         https://bugs.webkit.org/show_bug.cgi?id=31440
4037
4038         * WebCore.gyp/WebCore.gyp:
4039         * WebCore.gypi:
4040         * storage/DatabaseTracker.h:
4041         * storage/chromium/DatabaseTrackerChromium.cpp:
4042         (WebCore::DatabaseTracker::fullPathForDatabase):
4043         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
4044         * storage/chromium/QuotaTracker.cpp:
4045         (WebCore::QuotaTracker::updateDatabaseSize):
4046         * storage/chromium/QuotaTracker.h:
4047
4048 2009-11-13  Carol Szabo  <carol.szabo@nokia.com>
4049
4050         Reviewed by Darin Adler.
4051
4052         The CounterNode class is missing some basic tree navigation methods common in other WebKit trees such as the rendering tree
4053         https://bugs.webkit.org/show_bug.cgi?id=31213
4054         Added tree navigation methods that permit full implementation of CSS2.1
4055         counter feature without using recursion proportional to the counter
4056         tree depth.
4057         No new tests because I did not find any bug that is fixed by this
4058         commit yet, this just reduces the size of the patch for 11031 and
4059         helps respond to some concerns regarding that patch.
4060
4061         * rendering/CounterNode.cpp:
4062         (WebCore::CounterNode::CounterNode):
4063
4064         (WebCore::CounterNode::nextInPreOrderAfterChildren):
4065         (WebCore::CounterNode::nextInPreOrder):
4066         Added to support non-recursive tree traversal necessary for
4067         efficient full implementation of CSS2.1 counters.
4068
4069         (WebCore::CounterNode::lastDescendant):
4070         (WebCore::CounterNode::previousInPreOrder):
4071         Moved this methods such that they occupy a place similar to that of
4072         identically named methods on the render tree. This allows for their
4073         broader use needed in full implementation of CSS2.1 counters.
4074
4075         (WebCore::CounterNode::resetRenderer):
4076         (WebCore::CounterNode::resetRenderers):
4077         (WebCore::CounterNode::recount):
4078         (WebCore::CounterNode::insertAfter):
4079         (WebCore::CounterNode::removeChild):
4080         Changed such that insertion/removal of a counter, triggers not only
4081         recalculation of PrefixWidths, but also reassesment of values in
4082         counter nodes. This is the basis full implementation of CSS2.1
4083         counters. It does not change current behavior by much because of
4084         changes needed to the recalculation algorithm, but those are comming
4085         in the patch for 11031.
4086         (WebCore::showTreeAndMark):
4087         * rendering/CounterNode.h:
4088         * rendering/RenderCounter.cpp:
4089         (WebCore::counter):
4090         Only changed argument type to prepare for implementation of Darin
4091         Adler's recommendation for the patch to 11031.
4092
4093         (WebCore::RenderCounter::invalidate):
4094         (WebCore::destroyCounterNodeChildren):
4095         (WebCore::RenderCounter::destroyCounterNodes):
4096         * rendering/RenderCounter.h:
4097         * rendering/RenderObjectChildList.cpp:
4098         (WebCore::invalidateCountersInContainer):
4099         (WebCore::RenderObjectChildList::invalidateCounters):
4100         * rendering/RenderObjectChildList.h:
4101         Added the ability to restrict invalidation to counters with a given
4102         identifier.
4103         Also invalidated counters that are on the child container itself
4104         which were missed by the previous algorithm, but were a valid case.
4105
4106 2009-11-13  Vitaly Repeshko  <vitalyr@chromium.org>
4107
4108         Reviewed by Dimitri Glazkov.
4109
4110         [V8] Protect SVG animated properties from destruction in bindings.
4111         https://bugs.webkit.org/show_bug.cgi?id=31474
4112
4113         See http://crbug.com/26719.
4114
4115         Tested by LayoutTests/svg/custom/js-update-transform-addition.svg
4116         under Valgrind.
4117
4118         Made sure we keep a reference to SVG properties while setting a
4119         context:
4120         * bindings/scripts/CodeGeneratorV8.pm:
4121         * bindings/v8/V8Proxy.h:
4122         (WebCore::V8Proxy::withSVGContext):
4123
4124 2009-11-13  Brent Fulgham  <bfulgham@webkit.org>
4125
4126         Reviewed by Alexey Proskuryakov.
4127
4128         [CAIRO] shadow support for Canvas and SVG.
4129         [https://bugs.webkit.org/show_bug.cgi?id=30960]
4130
4131         Incorporate Benjamin Otte's recommendations to avoid
4132         a buffer overrun, and small performance improvement.
4133
4134         * platform/graphics/cairo/GraphicsContextCairo.cpp:
4135         (WebCore::copyContextProperties): Correctly size output
4136          storage for cairo_get_dash to avoid buffer overrun.
4137         (WebCore::drawPathShadow): Prefer cairo_fill_extents
4138          to slower cairo_stroke_extents when not drawing shadows.
4139
4140 2009-11-13  Dumitru Daniliuc  <dumi@chromium.org>
4141
4142         Reviewed by Dimitri Glazkov.
4143
4144         Do not register Chromium's HTML5 DB VFS as the default
4145         VFS. Otherwise, other sqlite DB users in the same process will
4146         stop working.
4147
4148         https://bugs.webkit.org/show_bug.cgi?id=31462
4149
4150         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
4151         (WebCore::SQLiteFileSystem::openDatabase):
4152         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
4153         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
4154         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
4155         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
4156
4157 2009-11-13  Alexey Proskuryakov  <ap@apple.com>
4158
4159         Windows build fix
4160
4161         * platform/network/cf/SocketStreamHandleCFNet.cpp:
4162         (WebCore::SocketStreamHandle::SocketStreamHandle): Explicitly cast "-1" to CFOptionFlags,
4163         avoiding a sign mismatch warning.
4164
4165 2009-11-13  Alexey Proskuryakov  <ap@apple.com>
4166
4167         Release build fix.
4168
4169         * platform/network/cf/SocketStreamHandleCFNet.cpp:
4170         (WebCore::SocketStreamHandle::readStreamCallback):
4171         (WebCore::SocketStreamHandle::writeStreamCallback):
4172         Use ASSERT_UNUSED for unused stream parameter.
4173
4174 2009-11-12  Alexey Proskuryakov  <ap@apple.com>
4175
4176         Reviewed by Darin Adler.
4177
4178         https://bugs.webkit.org/show_bug.cgi?id=31441
4179         Implement SocketStreamHandleCFNet
4180
4181         Existing WebSocket tests now pass on Mac. No proxy support yet.
4182
4183         * platform/network/SocketStreamHandleClient.h:
4184         * platform/network/cf/SocketStreamHandle.h:
4185         (WebCore::SocketStreamHandle::shouldUseSSL):
4186         (WebCore::SocketStreamHandle::refAuthenticationClient):
4187         (WebCore::SocketStreamHandle::derefAuthenticationClient):
4188         (WebCore::SocketStreamHandle::):
4189         * platform/network/cf/SocketStreamHandleCFNet.cpp:
4190         (WebCore::SocketStreamHandle::SocketStreamHandle):
4191         (WebCore::SocketStreamHandle::chooseProxy):
4192         (WebCore::SocketStreamHandle::createStreams):
4193         (WebCore::SocketStreamHandle::copyCFStreamDescription):
4194         (WebCore::SocketStreamHandle::readStreamCallback):
4195         (WebCore::SocketStreamHandle::writeStreamCallback):
4196         (WebCore::SocketStreamHandle::~SocketStreamHandle):
4197         (WebCore::SocketStreamHandle::platformSend):
4198         (WebCore::SocketStreamHandle::platformClose):
4199         (WebCore::SocketStreamHandle::receivedCredential):
4200         (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential):
4201         (WebCore::SocketStreamHandle::receivedCancellation):
4202
4203 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
4204
4205         Reviewed by Timothy Hatcher.
4206
4207         Web Inspector: preload status bar button glyphs
4208         in order to prevent them from flickering (take 2).
4209
4210         https://bugs.webkit.org/show_bug.cgi?id=31439
4211
4212         * inspector/front-end/inspector.js:
4213         (preloadImages):
4214
4215 2009-11-13  Pavel Feldman  <pfeldman@chromium.org>
4216
4217         Reviewed by Adam Barth.
4218
4219         Chromium: [REGRESSION] Crash while stopping on a breakpoint.
4220         Rolling back r50890.
4221
4222         https://bugs.webkit.org/show_bug.cgi?id=31467
4223
4224         * bindings/v8/V8Proxy.cpp:
4225         (WebCore::V8Proxy::canAccessPrivate):
4226
4227 2009-11-13  Dirk Schulze  <krit@webkit.org>
4228