[V8] Run-time exception in onmessage handler is not forwarded to the
[WebKit-https.git] / WebCore / ChangeLog
1 2009-09-21  Jian Li  <jianli@chromium.org>
2
3         Reviewed by David Levin.
4
5         [V8] Run-time exception in onmessage handler is not forwarded to the
6         worker object.
7         https://bugs.webkit.org/show_bug.cgi?id=28980
8
9         The previous fix was partially reverted due to a reliability build break
10         in chromium. The break happens when an exception is thrown without
11         setting a message. We need to check for this scenario and handle it.
12
13         Tested by worker-close.html.
14
15         * bindings/v8/V8AbstractEventListener.cpp:
16         (WebCore::V8AbstractEventListener::invokeEventHandler):
17         * bindings/v8/V8Utilities.cpp:
18         (WebCore::reportException):
19
20 2009-09-21  Greg Bolsinga  <bolsinga@apple.com>
21
22         Reviewed by Simon Fraser & Sam Weinig.
23
24         Add ENABLE(ORIENTATION_EVENTS)
25         https://bugs.webkit.org/show_bug.cgi?id=29508
26         
27         See documentation here:
28         http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW16
29
30         * DerivedSources.make: Use new WebCore.OrientationEvents.exp file if ENABLE_ORIENTATION_EVENTS.
31         Add ENABLE_ORIENTATION_EVENTS to the new ADDITIONAL_IDL_DEFINES variable that is passed to the IDL
32         code generator. This is because ENABLE_ORIENTATION_EVENTS is not in FEATURE_DEFINES.
33         * WebCore.OrientationEvents.exp: Added.
34         * WebCore.xcodeproj/project.pbxproj: Add WebCore.OrientationEvents.exp.
35         * dom/EventNames.h: Add onorientationchange.
36         * html/HTMLAttributeNames.in: Ditto.
37         * html/HTMLBodyElement.cpp: Handle onorientationchange properly.
38         (WebCore::HTMLBodyElement::parseMappedAttribute):
39         (WebCore::HTMLBodyElement::onorientationchange):
40         (WebCore::HTMLBodyElement::setOnorientationchange):
41         * html/HTMLBodyElement.h: Ditto.
42         * html/HTMLBodyElement.idl: Ditto.
43         * html/HTMLFrameSetElement.cpp: Ditto.
44         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
45         (WebCore::HTMLFrameSetElement::onorientationchange):
46         (WebCore::HTMLFrameSetElement::setOnorientationchange):
47         * html/HTMLFrameSetElement.h: Ditto.
48         * html/HTMLFrameSetElement.idl: Ditto.
49         * page/DOMWindow.cpp: Ditto.
50         (WebCore::DOMWindow::orientation): Calls up the to the Frame for the orientation value.
51         (WebCore::DOMWindow::onorientationchange):
52         (WebCore::DOMWindow::setOnorientationchange):
53         * page/DOMWindow.h: Handle onorientationchange properly.
54         * page/DOMWindow.idl: Ditto.
55         * page/Frame.cpp: Ditto.
56         (WebCore::Frame::Frame):
57         (WebCore::Frame::sendOrientationChangeEvent):
58         * page/Frame.h: Ditto.
59         (WebCore::Frame::orientation):
60
61 2009-09-18  Anders Carlsson  <andersca@apple.com>
62
63         Try fixing the build again.
64         
65         * platform/win/PopupMenuWin.cpp:
66         (WebCore::PopupMenu::wndProc):
67
68 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
69
70         Reviewed by Timothy Hatcher.
71
72         Web Inspector: completions are always evaluated against
73         window (discarding call frames).
74
75         https://bugs.webkit.org/show_bug.cgi?id=29616
76
77         * inspector/front-end/ConsoleView.js:
78         (WebInspector.ConsoleView.prototype.completions):
79         * inspector/front-end/InjectedScript.js:
80         (InjectedScript.getCompletions):
81         * inspector/front-end/ScriptsPanel.js:
82         (WebInspector.ScriptsPanel.prototype.selectedCallFrameId):
83
84 2009-09-21  Brent Fulgham  <bfulgham@webkit.org>
85
86         Unreviewed build fix for Windows (Cairo) target.
87
88         Add stubs for SocketStream classes added in @r47788, which
89         broke the WinCairo build.
90
91         No new tests. (Build failure).
92
93         * WebCore.vcproj/WebCore.vcproj:  Add references to new files
94           to Cairo build, exclude from standard Apple build.
95         * platform/network/curl/SocketStreamError.h: Added.
96         * platform/network/curl/SocketStreamHandle.h: Added.
97         * platform/network/curl/SocketStreamHandleCurl.cpp: Added.
98
99 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
100
101         Reviewed by Timothy Hatcher.
102
103         Web Inspector: Expose InspectorResource fields.
104
105         https://bugs.webkit.org/show_bug.cgi?id=29537
106
107         * inspector/InspectorResource.cpp:
108         (WebCore::InspectorResource::sourceString):
109         (WebCore::InspectorResource::resourceData):
110         * inspector/InspectorResource.h:
111         (WebCore::InspectorResource::requestHeaderFields):
112         (WebCore::InspectorResource::responseHeaderFields):
113         (WebCore::InspectorResource::responseStatusCode):
114         (WebCore::InspectorResource::requestMethod):
115         (WebCore::InspectorResource::requestFormData):
116
117 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
118
119         Reviewed by Timothy Hatcher.
120
121         Web Inspector: JS error drilling down childless node.
122         No need to dispatch double click twice - it is already handled
123         in TreeElement.treeElementDoubleClicked.
124
125         https://bugs.webkit.org/show_bug.cgi?id=22144
126
127         * inspector/front-end/ElementsTreeOutline.js:
128         (WebInspector.ElementsTreeOutline):
129
130 2009-09-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
131
132         Reviewed by Simon Hausmann.
133
134         Implement new QWebPageClient class and let our classes
135         QWebViewPrivate and QWebGraphicsItemPrivate inherit from it.
136
137         For Qt, platformPageClient() will now return a class derived from
138         the QWebPageClient, so the patch adapts our Qt hooks to go though
139         this class and not depend on the QWebView.
140
141         * WebCore.pro:
142         * platform/Widget.h:
143         * platform/qt/PlatformScreenQt.cpp:
144         (WebCore::screenDepth):
145         (WebCore::screenDepthPerComponent):
146         (WebCore::screenIsMonochrome):
147         (WebCore::screenRect):
148         (WebCore::screenAvailableRect):
149         * platform/qt/PopupMenuQt.cpp:
150         (WebCore::PopupMenu::show):
151         * platform/qt/QWebPageClient.h: Added.
152         * platform/qt/WidgetQt.cpp:
153         (WebCore::Widget::setCursor):
154         * plugins/qt/PluginViewQt.cpp:
155         (WebCore::PluginView::handleKeyboardEvent):
156         (WebCore::PluginView::getValue):
157         (WebCore::PluginView::platformStart):
158
159 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
160
161         Reviewed by Timothy Hatcher.
162
163         Web Inspector: Evaluating on call frame always returns "undefined".
164
165         https://bugs.webkit.org/show_bug.cgi?id=29613
166
167         * inspector/front-end/InjectedScript.js:
168         (InjectedScript.evaluate):
169         (InjectedScript._evaluateAndWrap):
170         (InjectedScript._evaluateOn):
171         (InjectedScript.evaluateInCallFrame):
172
173 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
174
175         Reviewed by Timothy Hatcher.
176
177         Web Inspector: Exception formatting is broken in console.
178
179         https://bugs.webkit.org/show_bug.cgi?id=29608
180
181         * inspector/front-end/ConsoleView.js:
182         (WebInspector.ConsoleCommandResult):
183         * inspector/front-end/InjectedScript.js:
184         (InjectedScript.evaluate):
185         (InjectedScript.createProxyObject):
186
187 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
188
189         Reviewed by Timothy Hatcher.
190
191         Web Inspector: Console object formatting is broken.
192
193         https://bugs.webkit.org/show_bug.cgi?id=29607
194
195         * inspector/front-end/ConsoleView.js:
196         (WebInspector.ConsoleMessage.prototype._format):
197         * inspector/front-end/ObjectProxy.js:
198         (WebInspector.ObjectProxy.wrapPrimitiveValue):
199
200 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
201
202         Reviewed by Timothy Hatcher.
203
204         Web Inspector: Crash When Logging an Element Before Opening Inspector
205
206         https://bugs.webkit.org/show_bug.cgi?id=29514
207
208         * inspector/InspectorController.cpp:
209         (WebCore::InspectorController::populateScriptObjects):
210
211 2009-09-21  Simon Fraser  <simon.fraser@apple.com>
212
213         Reviewed by Dan Bernstein.
214
215         Incorrect clipping with accelerated compositing content, and position:fixed
216         https://bugs.webkit.org/show_bug.cgi?id=29347
217         
218         Fix the compositing clipping logic to behave correctly when position:fixed
219         elements clip, by using the new backgroundClipRect() method to determine
220         when we need to clip, and to compute the clipping layer position.
221
222         Test: compositing/overflow/fixed-position-ancestor-clip.html
223
224         * rendering/RenderLayerBacking.cpp:
225         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
226         * rendering/RenderLayerCompositor.cpp:
227         (WebCore::RenderLayerCompositor::clippedByAncestor):
228
229 2009-09-21  Nate Chapin  <japhet@chromium.org>
230
231         Reviewed by Adam Barth.
232
233         Add back in a special case for window.top in the V8 bindings.
234
235         https://bugs.webkit.org/show_bug.cgi?id=29605
236
237         Fixes LayoutTests/fast/dom/Window/window-property-shadowing.html in the Chromium port.
238
239         * bindings/scripts/CodeGeneratorV8.pm: Ensure window.top is not marked as read only, as this breaks the shadowing disabling.
240
241 2009-09-21  Eric Carlson  <eric.carlson@apple.com>
242
243         Reviewed by Brady Eidson.
244
245         HTMLMediaElement: media file should not reload when page comes out of page cache
246         https://bugs.webkit.org/show_bug.cgi?id=29604
247
248         Test: media/restore-from-page-cache.html
249
250         * html/HTMLMediaElement.cpp:
251         (WebCore::HTMLMediaElement::userCancelledLoad): Do nothing unless the element
252         is still loading. Only fire an 'emptied' event if the readyState is HAVE_NOTHING,
253         otherwise set the network state to NETWORK_IDLE.
254
255 2009-09-21  Sam Weinig  <sam@webkit.org>
256
257         Reviewed by Geoffrey "Sean/Shawn/Shaun" Garen.
258
259         Clarify two FIXMEs.
260
261         * bindings/js/JSHTMLCollectionCustom.cpp:
262         (WebCore::getNamedItems):
263         * bindings/js/JSHTMLFormElementCustom.cpp:
264         (WebCore::JSHTMLFormElement::nameGetter):
265
266 2009-09-21  Darin Fisher  <darin@chromium.org>
267
268         Reviewed by Dimitri Glazkov.
269
270         Drop down selects fail to close when a value is selected
271         https://bugs.webkit.org/show_bug.cgi?id=29582
272
273         Implement PopupListBox::hidePopup, which was previously
274         declared but unimplemented.  Removes the declaration of
275         showPopup since that method is not implemented.
276
277         PopupListBox::hidePopup takes care of hiding the popup,
278         by invoking hidePopup on its parent PopupContainer, and
279         then informs the PopupMenuClient that popupDidHide.
280         This mimics the old behavior prior to r48370.
281
282         * platform/chromium/PopupMenuChromium.cpp:
283         (WebCore::PopupListBox::handleKeyEvent):
284         (WebCore::PopupListBox::abandon):
285         (WebCore::PopupListBox::acceptIndex):
286         (WebCore::PopupListBox::hidePopup):
287
288 2009-09-21  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
289
290         Rubber-stamped by Simon Hausmann.
291
292         [Qt] Windows build fix.
293         https://bugs.webkit.org/show_bug.cgi?id=29535
294
295         * platform/network/qt/DnsPrefetchHelper.cpp: Missing #include "config.h"  added.
296
297 2009-09-21  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
298
299         Unreviewed make dist build fix. Missing files.
300
301         * GNUmakefile.am:
302
303 2009-09-20  Adam Barth  <abarth@webkit.org>
304
305         Reviewed by Maciej Stachowiak.
306
307         Crash when clicking link in unload handler
308         https://bugs.webkit.org/show_bug.cgi?id=29525
309
310         Test that the first navigation always wins when the page tries to start
311         a new navigation in an unload handler.
312
313         Tests: fast/loader/unload-form-about-blank.html
314                fast/loader/unload-form-post-about-blank.html
315                fast/loader/unload-form-post.html
316                fast/loader/unload-form.html
317                fast/loader/unload-hyperlink.html
318                fast/loader/unload-javascript-url.html
319                fast/loader/unload-reload.html
320                fast/loader/unload-window-location.html
321
322         * loader/FrameLoader.cpp:
323         (WebCore::FrameLoader::loadURL):
324         (WebCore::FrameLoader::loadWithDocumentLoader):
325
326 2009-09-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
327
328         Reviewed by Xan Lopez.
329
330         [GTK] Sometimes crashes when a page is destroyed/loads another URL while playing video
331         https://bugs.webkit.org/show_bug.cgi?id=29496
332
333         Protect the video sink object, and destroy it in an idle callback
334         to hopefully avoid a race condition that leads to a crash.
335
336         This is already tested by media/video-seekable.html
337
338         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
339         (WebCore::idleUnref):
340         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
341         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
342
343 2009-09-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
344
345         Unreviewed build fix for GTK+ and a blind one for Qt after r48566.
346
347         * GNUmakefile.am:
348         * WebCore.pro:
349
350 2009-09-19  Sam Weinig  <sam@webkit.org>
351
352         Reviewed by Oliver Hunt.
353
354         Fix for https://bugs.webkit.org/show_bug.cgi?id=29519
355         Remove JSNameNodeCollection and just use StaticNodeList
356
357         * WebCore.vcproj/WebCore.vcproj:
358         * WebCore.xcodeproj/project.pbxproj:
359         * WebCoreSources.bkl:
360         * bindings/js/JSHTMLCollectionCustom.cpp:
361         (WebCore::getNamedItems):
362         * bindings/js/JSHTMLFormElementCustom.cpp:
363         (WebCore::JSHTMLFormElement::nameGetter):
364         * bindings/js/JSNamedNodesCollection.cpp: Removed.
365         * bindings/js/JSNamedNodesCollection.h: Removed.
366
367 2009-09-19  Daniel Bates  <dbates@webkit.org>
368
369         Reviewed by Adam Barth.
370
371         https://bugs.webkit.org/show_bug.cgi?id=29511
372         
373         Fixes an issue where script code that contains non-ASCII characters may bypass the 
374         XSSAuditor.
375         
376         Before performing a comparison between the script source code and input parameters, we
377         remove all non-ASCII characters, including non-printable ASCII characters from the
378         script source code and input parameters.
379
380         Tests: http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html
381                http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html
382                http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html
383                http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html
384
385         * page/XSSAuditor.cpp:
386         (WebCore::isNonCanonicalCharacter): Modified to remove all non-ASCII characters,
387         including non-printable ASCII characters.
388
389 2009-09-19  Simon Fraser  <simon.fraser@apple.com>
390
391         Reviewed by Dan Bernstein.
392
393         Incorrect animation with scale(0) transform (singular matrix)
394         https://bugs.webkit.org/show_bug.cgi?id=29465
395         
396         Make accelerated scale() and translate() animations go through the component animation
397         path (rather than just matrix animation) to avoid problems with singular scale matrices,
398         and be slightly more efficient.
399
400         Test: compositing/transitions/singular-scale-transition.html
401
402         * platform/graphics/mac/GraphicsLayerCA.mm:
403         (WebCore::getTransformFunctionValue):
404         (WebCore::getValueFunctionNameForTransformOperation):
405
406 2009-09-19  Alex Milowski  <alex@milowski.com>
407
408         Reviewed by Maciej Stachowiak.
409
410         Adds CSS styling and basic DOM element support for MathML
411
412         * DerivedSources.make:
413           Added user stylesheet and tag factory generation
414
415         * WebCore.xcodeproj/project.pbxproj:
416           Added new DOM element code
417
418         * css/CSSParser.cpp:
419         (WebCore::CSSParser::parseAttr):
420           Added check for document since stylesheet can be added before there is a document
421
422         * css/CSSStyleSelector.cpp:
423         (WebCore::CSSStyleSelector::styleForElement):
424           Added check to add MathML user agent stylesheet
425
426         * css/mathml.css: Added.
427           MathML user agent stylesheet
428
429         * dom/Document.cpp:
430         (WebCore::Document::createElement):
431           Added support for creation of MathML DOM objects
432
433         * dom/Node.h:
434         (WebCore::Node::isMathMLElement):
435           Added check method for whether the node is a MathML node
436
437         * mathml: Added.
438         * mathml/MathMLElement.cpp: Added.
439         (WebCore::MathMLElement::MathMLElement):
440         (WebCore::MathMLElement::create):
441         (WebCore::MathMLElement::createRenderer):
442         * mathml/MathMLElement.h: Added.
443         (WebCore::MathMLElement::isMathMLElement):
444           MathML DOM base class
445
446
447         * mathml/MathMLInlineContainerElement.cpp: Added.
448         (WebCore::MathMLInlineContainerElement::MathMLInlineContainerElement):
449         (WebCore::MathMLInlineContainerElement::create):
450         (WebCore::MathMLInlineContainerElement::createRenderer):
451         * mathml/MathMLInlineContainerElement.h: Added.
452           Base class for non-text containers
453
454         * mathml/MathMLMathElement.cpp: Added.
455         (WebCore::MathMLMathElement::MathMLMathElement):
456         (WebCore::MathMLMathElement::create):
457         * mathml/MathMLMathElement.h: Added.
458           Root Math element
459
460         * mathml/mathtags.in: Added.
461           Element list mappings
462
463         * page/Frame.cpp:
464         (WebCore::Frame::Frame):
465           Added MathML name initialization
466 2009-09-19  Adam Barth  <abarth@webkit.org>
467
468         Reviewed by Oliver Hunt.
469
470         Canvas drawn with data URL image raises SECURITY_ERR when toDataUrl() called.
471         https://bugs.webkit.org/show_bug.cgi?id=29305
472
473         We need to special-case data URLs when tainting a canvas because we
474         treat data URLs has having no security origin, unlike other
475         browsers.  The reason we do this is to help sites avoid XSS via data
476         URLs, but that consideration doesn't apply to canvas taint.
477
478         Also, we were previously incorrectly taking document.domain state
479         into account when tainting canvas.
480
481         Tests: http/tests/security/canvas-remote-read-data-url-image.html
482                http/tests/security/canvas-remote-read-data-url-svg-image.html
483                http/tests/security/canvas-remote-read-remote-image-document-domain.html
484
485         * html/canvas/CanvasRenderingContext2D.cpp:
486         (WebCore::CanvasRenderingContext2D::checkOrigin):
487         (WebCore::CanvasRenderingContext2D::createPattern):
488         * page/SecurityOrigin.cpp:
489         (WebCore::SecurityOrigin::taintsCanvas):
490         * page/SecurityOrigin.h:
491
492 2009-09-18  Simon Fraser  <simon.fraser@apple.com>
493
494         Fix stylistic issue raised in code review for previous commit.
495
496         * rendering/RenderLayerBacking.cpp:
497         (WebCore::hasNonZeroTransformOrigin):
498
499 2009-09-18  Simon Fraser  <simon.fraser@apple.com>
500
501         Reviewed by Dan Bernstein.
502
503         Element is misplaced during opacity transition with certain configuration of transform-origin and clipping
504         https://bugs.webkit.org/show_bug.cgi?id=29495
505         
506         If an element has zero size, but has a transform origin with absolute values,
507         then the transform origin would not be applied because it is implemented via
508         anchorPoint, which is expressed as a fraction of the layer size.
509         
510         Work around this by artificially inflating the size of the backing store when we need to.
511
512         Test: compositing/geometry/transfrom-origin-on-zero-size-layer.html
513
514         * rendering/RenderLayerBacking.h:
515         * rendering/RenderLayerBacking.cpp:
516         (WebCore::RenderLayerBacking::RenderLayerBacking):
517         Init m_artificiallyInflatedBounds to false.
518         
519         (WebCore::hasNonZeroTransformOrigin):
520         Utility function that describes whether the transform-origin contains non-percentage
521         x or y offsets.
522         
523         (WebCore::RenderLayerBacking::updateCompositedBounds):
524         New wrapper method around setCompositedBounds() that applies the size inflation
525         when necessary, setting the m_artificiallyInflatedBounds as appropriate.
526         
527         (WebCore::RenderLayerBacking::updateAfterLayout): Call updateCompositedBounds().
528         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Ditto
529         
530         * rendering/RenderLayerCompositor.cpp:
531         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Ditto
532         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): Ditto
533
534 2009-09-18  Antti Koivisto  <antti@apple.com>
535
536         Reviewed by Maciej Stachowiak.
537
538         https://bugs.webkit.org/show_bug.cgi?id=29512
539         Don't recalculate style when restoring from the page cache
540
541         FrameLoaderClient::forceLayout() also forces style recalc. Instead call FrameView::forceLayout() 
542         directly to update the scrollbars while keeping the existing style.
543         
544         Makes back/forward really fast on complex pages (in cases where page cache works).
545
546         * loader/FrameLoader.cpp:
547         (WebCore::FrameLoader::commitProvisionalLoad):
548
549 2009-09-18  Oliver Hunt  <oliver@apple.com>
550
551         Reviewed by Geoff Garen.
552
553         Implement ES5 Object.defineProperty function
554         https://bugs.webkit.org/show_bug.cgi?id=29503
555
556         Override defineOwnProperty on JSDOMWindowShell to forward appropriately,
557         and then override defineOwnProperty on JSDOMWindow to disallow cross origin
558         defineOwnProperty usage.  We also override defineOwnProperty on QuarantinedObjectWrapper
559         to ensure correct wrapping semantics of quarantined objects.
560
561         One major caveat in this patch is that it currently disallows the use
562         of Object.defineProperty on DOMObjects other than the window due to
563         the significant work involved in correctly propagating attributes and
564         ensuring correct semantics on dom objects.
565
566         Tests: fast/js/Object-defineProperty.html
567                http/tests/security/xss-DENIED-defineProperty.html
568
569         * bindings/js/JSDOMBinding.cpp:
570         (WebCore::DOMObject::defineOwnProperty):
571         * bindings/js/JSDOMBinding.h:
572         * bindings/js/JSDOMWindowCustom.cpp:
573         (WebCore::JSDOMWindow::defineGetter):
574         (WebCore::JSDOMWindow::defineSetter):
575         (WebCore::JSDOMWindow::defineOwnProperty):
576         * bindings/js/JSDOMWindowShell.cpp:
577         (WebCore::JSDOMWindowShell::defineOwnProperty):
578         (WebCore::JSDOMWindowShell::defineGetter):
579         (WebCore::JSDOMWindowShell::defineSetter):
580         * bindings/js/JSDOMWindowShell.h:
581         * bindings/js/JSLocationCustom.cpp:
582         (WebCore::JSLocation::defineGetter):
583         (WebCore::JSLocationPrototype::defineGetter):
584         * bindings/js/JSQuarantinedObjectWrapper.cpp:
585         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyDescriptor):
586         (WebCore::JSQuarantinedObjectWrapper::defineOwnProperty):
587         * bindings/js/JSQuarantinedObjectWrapper.h:
588         * bindings/scripts/CodeGeneratorJS.pm:
589
590 2009-09-18  Alexey Proskuryakov  <ap@apple.com>
591
592         Reviewed by Darin Adler.
593
594         https://bugs.webkit.org/show_bug.cgi?id=29510
595         Active DOM objects should be suspended while a modal dialog is displayed
596
597         * manual-tests/js-timers-beneath-modal-dialog.html: Added a test for JS timers.
598
599         * page/PageGroupLoadDeferrer.cpp:
600         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
601         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
602         Match other platforms, and make Mac also suspend active DOM objects. Since a page that
603         currently displays a modal dialog cannot go into page cache, there is no danger of suspending
604         an object twice.        
605
606 2009-09-18  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
607
608         Reviewed by Eric Seidel.
609
610         [Qt] Buildfix caused by http://trac.webkit.org/changeset/48513
611         https://bugs.webkit.org/show_bug.cgi?id=29351
612
613         * bridge/qt/qt_instance.h: createRuntimeObject method renamed to newRuntimeObject.
614         * bridge/runtime.h: Visibility of newRuntimeObject method modified to protected.
615
616 2009-09-18  Yury Semikhatsky  <yurys@chromium.org>
617
618         Reviewed by Timothy Hatcher.
619
620         Fix parameter substitutions in console.log().
621
622         https://bugs.webkit.org/show_bug.cgi?id=29366
623
624         * inspector/front-end/ConsoleView.js:
625         (WebInspector.ConsoleMessage.prototype._format):
626         * inspector/front-end/InjectedScript.js:
627         (InjectedScript.getPrototypes):
628         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
629         * inspector/front-end/utilities.js:
630         ():
631
632 2009-09-18  Sam Weinig  <sam@webkit.org>
633
634         Reviewed by Geoffrey Garen and Brady Eidson.
635
636         Temporarily remove an assertion that was getting hit when going
637         back to a page in the page cache while a banner in Safari was visible.
638         We should re-enable this once that is fixed. See <rdar://problem/7218118>
639
640         * page/FrameView.cpp:
641         (WebCore::FrameView::scheduleRelayout):
642
643 2009-09-18  Anders Carlsson  <andersca@apple.com>
644
645         Try fixing the build again.
646         
647         * platform/win/PopupMenuWin.cpp:
648         (WebCore::PopupMenu::wndProc):
649
650 2009-09-18  Anders Carlsson  <andersca@apple.com>
651
652         Fix windows build.
653         
654         * platform/win/PopupMenuWin.cpp:
655
656 2009-09-18  Sam Weinig  <sam@webkit.org>
657
658         Reviewed by Gavin 'BearClaw' Barraclough.
659
660         Convert another callback type object to store the global object
661         instead of the frame.
662
663         * bindings/js/JSCustomXPathNSResolver.cpp:
664         (WebCore::JSCustomXPathNSResolver::create):
665         (WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver):
666         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
667         * bindings/js/JSCustomXPathNSResolver.h:
668
669 2009-09-18  Anders Carlsson  <andersca@apple.com>
670
671         Reviewed by Sam Weinig.
672
673         https://bugs.webkit.org/show_bug.cgi?id=29332
674         <rdar://problem/7231652> 
675         REGRESSION (r48446): While a <select> popup menu is open, the
676         rest of the WebView doesn't respond to mouse move events.
677
678         * platform/win/PopupMenuWin.cpp:
679         (WebCore::translatePoint):
680         New helper function that translates a point between HWND coordinates.
681         
682         (WebCore::PopupMenu::show):
683         Protect the PopupMenu if someone removes the <select> in response to a mouse
684         event. Handle WM_HOST_WINDOW_MOUSEMOVE events.
685         
686         (WebCore::PopupMenu::wndProc):
687         in the WM_MOUSEMOVE handler, if the mouse is not over the popup, post a 
688         WM_HOST_WINDOW_MOUSEMOVE event so that the host window (the WebView) gets the
689         mouse move event.
690
691 2009-09-18  Simon Fraser  <simon.fraser@apple.com>
692
693         Reviewed by Dave Hyatt.
694
695         Compositing layers are incorrectly positioned after scrolling with position:fixed
696         https://bugs.webkit.org/show_bug.cgi?id=29262
697         
698         When scrolling a page with compositing layers inside a position:fixed element,
699         we need to update the compositing layer positions when the scroll position changes.
700
701         Test: compositing/geometry/fixed-position.html
702
703         * WebCore.base.exp:
704         Export FrameView::scrollPositionChanged()
705         
706         * page/FrameView.h:
707         * page/FrameView.cpp:
708         (WebCore::FrameView::scrollPositionChanged):
709         New method that sends the scroll event, and updates compositing layers positions if necessary.
710
711 2009-09-18  Simon Fraser  <simon.fraser@apple.com>
712
713         Reviewed by Dave Hyatt.
714
715         Transformed elements inside position:fixed container are clipped incorrectly
716         https://bugs.webkit.org/show_bug.cgi?id=29346
717         
718         Fix clipping and hit testing on transformed elements inside a position:fixed element.
719         Previously, the code used the overflowClipRect of the parent clip rects, but
720         this is not correct for fixed postion elements. Instead, share code that is
721         already present in calculateRects() to get the correct rect.
722
723         Test: fast/overflow/position-fixed-transform-clipping.html
724
725         * rendering/RenderLayer.h:
726         * rendering/RenderLayer.cpp:
727         (WebCore::RenderLayer::paintLayer):
728         (WebCore::RenderLayer::hitTestLayer):
729         Call the new backgroundClipRect() to get the correct clipRect.
730         
731         (WebCore::RenderLayer::backgroundClipRect):
732         New method, factored out of calculateRects(), that computes the clip rect,
733         doing the right thing for fixed position elements.
734         
735         (WebCore::RenderLayer::calculateRects):
736         Call the new backgroundClipRect() method.
737         
738 2009-09-18  Dan Bernstein  <mitz@apple.com>
739
740         Reviewed by Darin Adler.
741
742         Fix <rdar://problem/7050773> REGRESSION (r40098) Crash at
743         WebCore::RenderBlock::layoutBlock()
744         https://bugs.webkit.org/show_bug.cgi?id=29498
745
746         Test: accessibility/nested-layout-crash.html
747
748         * accessibility/AccessibilityRenderObject.cpp:
749         (WebCore::AccessibilityRenderObject::updateBackingStore): Changed to
750             call Document::updateLayoutIgnorePendingStylesheets() instead of
751             calling RenderObject::layoutIfNeeded(). The latter requires that
752             there be no pending style recalc, which allows methods that call
753             Document::updateLayout() to be called during layout without risking
754             re-entry into layout.
755         * accessibility/mac/AccessibilityObjectWrapper.mm:
756         (-[AccessibilityObjectWrapper accessibilityActionNames]): Null-check
757             m_object after calling updateBackingStore(), since style recalc may
758             destroy the renderer, which destroys the accessibility object and
759             detaches it from the wrapper.
760         (-[AccessibilityObjectWrapper accessibilityAttributeNames]): Ditto.
761         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Ditto.
762         (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]): Ditto.
763         (-[AccessibilityObjectWrapper accessibilityHitTest:]): Ditto.
764         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
765             Ditto.
766         (-[AccessibilityObjectWrapper accessibilityIsIgnored]): Ditto.
767         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
768              Ditto.
769         (-[AccessibilityObjectWrapper accessibilityPerformPressAction]): Ditto.
770         (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
771             Ditto.
772         (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
773             Ditto.
774         (-[AccessibilityObjectWrapper accessibilityPerformAction:]): Ditto.
775         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
776             Ditto.
777         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
778             Ditto.
779         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]): Ditto.
780         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
781             Ditto.
782         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
783             Ditto.
784
785 2009-09-18  Fumitoshi Ukai  <ukai@chromium.org>
786
787         Reviewed by Simon Hausmann.
788
789         Update Qt build system for Web Socket.
790         https://bugs.webkit.org/show_bug.cgi?id=29270
791
792         * WebCore.pro:
793         * platform/network/qt/SocketStreamError.h: Added.
794         * platform/network/qt/SocketStreamHandle.h: Added.
795         * platform/network/qt/SocketStreamHandleSoup.cpp: Added.
796
797 2009-09-18  Eric Carlson  <eric.carlson@apple.com>
798
799         Reviewed by Darin Adler.
800
801         NULL check HTMLMediaElement::m_playedTimeRanges.
802         Fix for https://bugs.webkit.org/show_bug.cgi?id=29494
803
804         * html/HTMLMediaElement.cpp:
805         (WebCore::HTMLMediaElement::addPlayedRange): New. Create m_playedTimeRanges if
806         necessary, add range specified.
807         (WebCore::HTMLMediaElement::seek): Use addPlayedRange. 
808         (WebCore::HTMLMediaElement::played): Use addPlayedRange. Change time comparison 
809         to be more readable.
810         (WebCore::HTMLMediaElement::updatePlayState): Ditto.
811         * html/HTMLMediaElement.h:
812
813 2009-09-18  Sam Weinig  <sam@webkit.org>
814
815         Reviewed by Adele Peterson.
816
817         Follow up fix for https://bugs.webkit.org/show_bug.cgi?id=29276
818         REGRESSION(r48334): WebKit crashes on file select by drag
819
820         Don't use Document.elementFromPoint since it returns null if the point
821         is outside the viewport.  Instead, just hit test ourselves.
822
823         Test: fast/events/drag-file-crash.html
824
825         * page/DragController.cpp:
826         (WebCore::elementUnderMouse):
827         (WebCore::DragController::tryDocumentDrag):
828         (WebCore::DragController::concludeEditDrag):
829
830 2009-09-18  Darin Adler  <darin@apple.com>
831
832         Reviewed by Sam Weinig.
833
834         Each wrapped Objective-C object should use a single RuntimeObjectImp
835         https://bugs.webkit.org/show_bug.cgi?id=29351
836         rdar://problem/7142294
837
838         * WebCore.base.exp: Added a newly-needed exported symbol.
839
840         * bindings/objc/DOMInternal.h: Eliminated unused
841         createWrapperCacheWithIntegerKeys; it has not been needed since the
842         RGBColor wrappers were reworked.
843         * bindings/objc/DOMInternal.mm: Ditto.
844
845         * bridge/objc/objc_instance.h: Made the create function non-inline.
846         * bridge/objc/objc_instance.mm:
847         (createInstanceWrapperCache): Added. Creates an appropriate map table.
848         (ObjcInstance::create): Moved here from header. Uses NSMapGet and
849         NSMapInsert to cache the instance in a map table.
850         (ObjcInstance::~ObjcInstance): Added a call to NSMapRemove to remove
851         the instance from the map table.
852
853         * bridge/qt/qt_instance.cpp:
854         (JSC::Bindings::QtInstance::~QtInstance): Remove unneeded code to remove
855         the instance from cachedObjects, which no longer exists.
856         (JSC::Bindings::QtInstance::newRuntimeObject): Renamed to overload new
857         bottleneck. Caching is now handled by the base class.
858
859         * bridge/runtime.cpp:
860         (JSC::Bindings::Instance::Instance): Initialize m_runtimeObject to 0.
861         (JSC::Bindings::Instance::~Instance): Assert m_runtimeObject is 0.
862         (JSC::Bindings::Instance::createRuntimeObject): Use m_runtimeObject
863         if it's already set. Set m_runtimeObject and call addRuntimeObject
864         if it's not.
865         (JSC::Bindings::Instance::newRuntimeObject): Added. Virtual function,
866         used only by createRuntimeObject.
867         (JSC::Bindings::Instance::willDestroyRuntimeObject): Added.
868         Calls removeRuntimeObject and then clears m_runtimeObject.
869         (JSC::Bindings::Instance::willInvalidateRuntimeObject): Added.
870         Clears m_runtimeObject.
871
872         * bridge/runtime.h: Made createRuntimeObject non-virtual. Added
873         willDestroyRuntimeObject, willInvalidateRuntimeObject,
874         newRuntimeObject, and m_runtimeObject.
875
876         * bridge/runtime_object.cpp:
877         (JSC::RuntimeObjectImp::RuntimeObjectImp): Removed addRuntimeObject
878         call, now handled by caller.
879         (JSC::RuntimeObjectImp::~RuntimeObjectImp): Replaced removeRuntimeObject
880         call with willDestroyRuntimeObject call; the latter nows calls
881         removeRuntimeObject.
882         (JSC::RuntimeObjectImp::invalidate): Added willInvalidateRuntimeObject
883         call.
884
885         * bridge/runtime_object.h: Made invalidate non-virtual.
886
887 2009-09-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
888
889         Reviewed by Simon Hausmann.
890
891         Make PlatformWindow return something else than PlatformWidget
892         https://bugs.webkit.org/show_bug.cgi?id=29085
893
894         Make platformWindow return a PlatformPageClient
895         (for now typedef'ed to PlatformWidget)
896
897         Also, change the name of platformWindow to platformPageClient()
898
899         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
900         (getPangoLayoutForAtk):
901         * accessibility/win/AXObjectCacheWin.cpp:
902         (WebCore::AXObjectCache::postPlatformNotification):
903         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
904         * loader/EmptyClients.h:
905         (WebCore::EmptyChromeClient::platformPageClient):
906         * page/Chrome.cpp:
907         (WebCore::Chrome::platformPageClient):
908         * page/Chrome.h:
909         * page/ChromeClient.h:
910         * page/mac/EventHandlerMac.mm:
911         (WebCore::EventHandler::wheelEvent):
912         (WebCore::EventHandler::currentPlatformMouseEvent):
913         (WebCore::EventHandler::sendContextMenuEvent):
914         (WebCore::EventHandler::eventMayStartDrag):
915         * platform/HostWindow.h:
916         * platform/Widget.h:
917         * platform/gtk/PlatformScreenGtk.cpp:
918         (WebCore::getVisual):
919         (WebCore::screenRect):
920         (WebCore::screenAvailableRect):
921         * platform/gtk/PopupMenuGtk.cpp:
922         (WebCore::PopupMenu::show):
923         * platform/gtk/ScrollViewGtk.cpp:
924         (WebCore::ScrollView::platformAddChild):
925         (WebCore::ScrollView::platformRemoveChild):
926         (WebCore::ScrollView::visibleContentRect):
927         * platform/gtk/WidgetGtk.cpp:
928         (WebCore::Widget::setFocus):
929         (WebCore::Widget::setCursor):
930         * platform/qt/PlatformScreenQt.cpp:
931         (WebCore::screenDepth):
932         (WebCore::screenDepthPerComponent):
933         (WebCore::screenIsMonochrome):
934         (WebCore::screenRect):
935         (WebCore::screenAvailableRect):
936         * platform/qt/PopupMenuQt.cpp:
937         (WebCore::PopupMenu::show):
938         * platform/qt/WidgetQt.cpp:
939         (WebCore::Widget::setCursor):
940         * platform/win/PlatformScreenWin.cpp:
941         (WebCore::monitorInfoForWidget):
942         * platform/win/PopupMenuWin.cpp:
943         (WebCore::PopupMenu::show):
944         (WebCore::PopupMenu::calculatePositionAndSize):
945         (WebCore::PopupMenu::wndProc):
946         * platform/wx/RenderThemeWx.cpp:
947         (WebCore::nativeWindowForRenderObject):
948         * platform/wx/ScrollbarThemeWx.cpp:
949         (WebCore::ScrollbarThemeWx::paint):
950         * plugins/gtk/PluginViewGtk.cpp:
951         (WebCore::PluginView::getValue):
952         (WebCore::PluginView::forceRedraw):
953         (WebCore::PluginView::platformStart):
954         * plugins/mac/PluginViewMac.cpp:
955         (WebCore::PluginView::platformStart):
956         * plugins/qt/PluginViewQt.cpp:
957         (WebCore::PluginView::handleKeyboardEvent):
958         (WebCore::PluginView::getValue):
959         (WebCore::PluginView::platformStart):
960         * plugins/win/PluginViewWin.cpp:
961         (WebCore::PluginView::getValue):
962         (WebCore::PluginView::forceRedraw):
963         (WebCore::PluginView::platformStart):
964
965 2009-09-18  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
966
967         Reviewed by Simon Hausmann.
968
969         [Qt] Web inspector UI adjustments specific to the Qt platform:
970         - Hide the close button
971         - Hide the dock button
972         - Disable the draggable toolbar
973
974         https://bugs.webkit.org/show_bug.cgi?id=29384
975
976         * inspector/front-end/inspector.css:
977         * inspector/front-end/inspector.js:
978         (WebInspector.toolbarDragStart):
979
980 2009-09-18  Joerg Bornemann  <joerg.bornemann@nokia.com>
981
982         Reviewed by Simon Hausmann.
983
984         QtWebKit Windows CE compile fixes
985
986         Exclude certain pure-WINCE specific code paths from the Qt build.
987
988         * platform/graphics/BitmapImage.h:
989         * platform/graphics/FontCache.h:
990         * platform/graphics/MediaPlayer.cpp:
991         * platform/text/TextEncodingRegistry.cpp:
992         (WebCore::buildBaseTextCodecMaps):
993         (WebCore::extendTextCodecMaps):
994         * plugins/PluginView.cpp:
995         (WebCore::PluginView::stop): Guard this code block with NETSCAPE_PLUGIN_API as
996         the corresponding PluginViewWndProc has the same guard in the header file.
997
998 2009-09-18  Steve Block  <steveblock@google.com>
999
1000         Reviewed by Dimitri Glazkov.
1001
1002         Geolocation does not correctly handle Infinity for PositionOptions properties.
1003         https://bugs.webkit.org/show_bug.cgi?id=29099
1004
1005         * bindings/js/JSGeolocationCustom.cpp: Modified.
1006         (WebCore::createPositionOptions): Modified. If timeout or maximumAge is positive infinity, applies these values as a special case.
1007         * page/PositionOptions.h: Modified.
1008         (WebCore::PositionOptions::hasMaximumAge): Added. Determines whether the object has a maximum age.
1009         (WebCore::PositionOptions::maximumAge): Modified. Asserts that the object has a maximum age.
1010         (WebCore::PositionOptions::clearMaximumAge): Added. Clears the maximum age.
1011         (WebCore::PositionOptions::setMaximumAge): Modified. Registers that the maximum age has been set.
1012         (WebCore::PositionOptions::PositionOptions): Modified. Registers that the maximum age has been set.
1013
1014 2009-09-17  Sam Weinig  <sam@webkit.org>
1015
1016         Reviewed by Adele Peterson.
1017
1018         Fix for https://bugs.webkit.org/show_bug.cgi?id=29276
1019         REGRESSION(r48334): WebKit crashes on file select by drag
1020
1021         Document.elementFromPoint now takes point in client space, not page space.
1022
1023         * page/DragController.cpp:
1024         (WebCore::DragController::tryDocumentDrag):
1025         (WebCore::DragController::concludeEditDrag):
1026
1027 2009-09-17  Albert J. Wong  <ajwong@chromium.org>
1028
1029         Reviewed by David Levin.
1030
1031         Reimplement default media UI for Mac Chromium to match the style
1032         of the Windows and Linux versions.  Also breaks the dependency
1033         on the internal wk* functions that were previously used to
1034         render the media controller widgets.
1035         https://bugs.webkit.org/show_bug.cgi?id=29161
1036
1037         No media layout tests are currently enabled in Mac Chromium, so
1038         nothing needs rebaselineing, etc.
1039
1040         This is a recommit of r48438 with a compile fix and merges of
1041         recent changes to the file.
1042
1043         * css/mediaControlsChromium.css:
1044         * rendering/RenderThemeChromiumMac.h:
1045         * rendering/RenderThemeChromiumMac.mm:
1046         (WebCore::mediaElementParent):
1047         (WebCore::RenderThemeChromiumMac::extraMediaControlsStyleSheet):
1048         (WebCore::mediaSliderThumbImage):
1049         (WebCore::mediaVolumeSliderThumbImage):
1050         (WebCore::RenderThemeChromiumMac::paintSliderTrack):
1051         (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize):
1052         (WebCore::RenderThemeChromiumMac::paintMediaButtonInternal):
1053         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
1054         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
1055         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
1056         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
1057         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
1058         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
1059         (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
1060         * rendering/RenderThemeChromiumSkia.cpp:
1061         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize):
1062
1063 2009-09-17  Brian Weinstein  <bweinstein@apple.com>
1064
1065         Reviewed by Timothy Hatcher.
1066
1067         The Console scope bar should have a divider between All and the other possible
1068         values (Errors, Warnings, Logs). It will look something like:
1069         
1070         All | Errors Warnings Logs.
1071
1072         * inspector/front-end/ConsoleView.js:
1073         (WebInspector.ConsoleView.createDividerElement):
1074         (WebInspector.ConsoleView):
1075         * inspector/front-end/inspector.css:
1076
1077 2009-09-17  Sam Weinig  <sam@webkit.org>
1078
1079         Reviewed by Mark Rowe.
1080
1081         Remove additional references to JSVoidCallback which no longer exists.
1082
1083         * DerivedSources.cpp:
1084         * WebCore.vcproj/WebCore.vcproj:
1085
1086 2009-09-17  Sam Weinig  <sam@webkit.org>
1087
1088         Reviewed by Brady Eidson.
1089
1090         Remove commented out onhashchange attribute now that it is implemented.
1091
1092         * page/DOMWindow.idl:
1093
1094 2009-09-17  Anders Carlsson  <andersca@apple.com>
1095
1096         Reviewed by Oliver Hunt.
1097
1098         <rdar://problem/7007541> 
1099         CrashTracer: 4800+ crashes in Safari at com.apple.WebKit • WTF::HashTableIterator...
1100         
1101         Make RuntimeObjectImp more robust against m_instance being a null (which can happen if an OOP plug-in
1102         crashes while we're calling into it).
1103         
1104         * bridge/runtime_object.cpp:
1105         (JSC::RuntimeObjectImp::RuntimeObjectImp):
1106         (JSC::RuntimeObjectImp::~RuntimeObjectImp):
1107         (JSC::RuntimeObjectImp::invalidate):
1108         (JSC::RuntimeObjectImp::fallbackObjectGetter):
1109         (JSC::RuntimeObjectImp::fieldGetter):
1110         (JSC::RuntimeObjectImp::methodGetter):
1111         (JSC::RuntimeObjectImp::getOwnPropertySlot):
1112         (JSC::RuntimeObjectImp::getOwnPropertyDescriptor):
1113         (JSC::RuntimeObjectImp::put):
1114         (JSC::RuntimeObjectImp::defaultValue):
1115         (JSC::RuntimeObjectImp::getCallData):
1116         (JSC::RuntimeObjectImp::getConstructData):
1117         (JSC::RuntimeObjectImp::getPropertyNames):
1118         * bridge/runtime_object.h:
1119         (JSC::RuntimeObjectImp::getInternalInstance):
1120
1121 2009-09-17  Yury Semikhatsky  <yurys@chromium.org>
1122
1123         Reviewed by Timothy Hatcher.
1124
1125         Wrap primitive values (as objects) in InspectorController::wrap.
1126
1127         https://bugs.webkit.org/show_bug.cgi?id=28983
1128
1129         * inspector/InspectorController.cpp:
1130         (WebCore::InspectorController::wrapObject): objects of any type will be wrapped into proxies,
1131          only object proxies will have objectId.
1132         * inspector/front-end/ConsoleView.js:
1133         (WebInspector.ConsoleView.prototype.completions): there is InjectedScript.getCompletionsi
1134          that accepts an expression and returns possible completions. This way we don't need to wrap
1135          and unwrap the completions result into a proxy object.
1136         * inspector/front-end/InjectedScript.js:
1137         (InjectedScript.getCompletions):
1138         (InjectedScript.evaluate):
1139         (InjectedScript._evaluateOn):
1140         (InjectedScript.createProxyObject):
1141         * inspector/front-end/InjectedScriptAccess.js:
1142
1143 2009-09-17  Nate Chapin  <japhet@chromium.org>
1144
1145         Reviewed by Dimitri Glazkov.
1146
1147         Wrap PageTransitionEvents properly for V8's use.
1148
1149         https://bugs.webkit.org/show_bug.cgi?id=29340
1150
1151         Fixes Chromium's failures for LayoutTests/fast/events/pageshow-pagehide.html.
1152
1153         * bindings/v8/V8DOMWrapper.cpp:
1154         (WebCore::V8DOMWrapper::convertEventToV8Object): Wrap PageTransitionEvents properly.
1155
1156 2009-09-17  Simon Fraser  <simon.fraser@apple.com>
1157
1158         Reviewed by Dave Hyatt.
1159
1160         Hardware-accelerated opacity transition on inline asserts
1161         https://bugs.webkit.org/show_bug.cgi?id=29342
1162         
1163         Remove an erroneous toRenderBox() that could be called on a RenderInline; we can just
1164         pass an empty size, because the box size is only required for transform animations.
1165
1166         Test: compositing/transitions/opacity-on-inline.html
1167
1168         * rendering/RenderLayerBacking.cpp:
1169         (WebCore::RenderLayerBacking::startTransition):
1170
1171 2009-09-17  Adam Barth  <abarth@webkit.org>
1172
1173         Reviewed by Eric Seidel.
1174
1175         [V8] OwnHandle might get a weak callback after destruction
1176         https://bugs.webkit.org/show_bug.cgi?id=29172
1177
1178         Be sure to clear out weak reference so we don't get a weak callback
1179         after we've destructed ourselves.  Also, removed some tricky methods
1180         that had no clients.
1181
1182         * bindings/v8/OwnHandle.h:
1183         (WebCore::OwnHandle::clear):
1184
1185 2009-09-17  Dimitri Glazkov  <dglazkov@chromium.org>
1186
1187         Unreviewed, build fix.
1188
1189         [V8] Partial roll out of http://trac.webkit.org/changeset/48455 to
1190         fix crashes that started happening in V8Proxy::getEnteredContext().
1191
1192         * bindings/v8/ScheduledAction.cpp:
1193         (WebCore::ScheduledAction::execute):
1194
1195 2009-09-17  Chris Fleizach  <cfleizach@apple.com>
1196
1197         Reviewed by Beth Dakin.
1198
1199         AX: labels of checkboxes should, when hit-tested, return the checkbox
1200         https://bugs.webkit.org/show_bug.cgi?id=29335
1201
1202         When an accessibility hit test is done and it hits the label of a control element,
1203         the control element should be returned instead of nothing, since the label
1204         itself is usually ignored.
1205
1206         Test: accessibility/label-for-control-hittest.html
1207
1208         * accessibility/AccessibilityObject.h:
1209         (WebCore::AccessibilityObject::correspondingControlForLabelElement):
1210         * accessibility/AccessibilityRenderObject.cpp:
1211         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1212         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
1213         (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
1214         * accessibility/AccessibilityRenderObject.h:
1215
1216 2009-09-17  Avi Drissman  <avi@chromium.org>
1217
1218         Reviewed by Dimitri Glazkov, build fix.
1219
1220         Change to make RenderThemeChromiumMac compile inside of non PLATFORM(MAC).
1221         https://bugs.webkit.org/show_bug.cgi?id=29243
1222
1223         Covered by existing tests.
1224
1225         * rendering/RenderThemeChromiumMac.mm:
1226         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
1227
1228 2009-09-17  Dimitri Glazkov  <dglazkov@chromium.org>
1229
1230         Reviewed by Eric Seidel.
1231
1232         [V8] Accessing properties/methods of an object, created with document.implementation.createDocumentType
1233         creates nodes that have no document (ScriptExecutionContext), which in turn produces NULL-ref crashes.
1234         https://bugs.webkit.org/show_bug.cgi?id=26402
1235
1236         Test: fast/dom/DOMImplementation/detached-doctype.html
1237               fast/dom/doctype-event-listener-crash.html
1238
1239         * bindings/v8/V8DOMWrapper.cpp:
1240         (WebCore::V8DOMWrapper::getEventListener): Added an extra NULL-check.
1241
1242 2009-09-17  Dan Bernstein  <mitz@apple.com>
1243
1244         Reviewed by Simon Fraser.
1245
1246         FontDescription.h includes RenderStyleConstants.h, which violates layering
1247         https://bugs.webkit.org/show_bug.cgi?id=29327
1248
1249         * GNUmakefile.am: Added FontSmoothingMode.h.
1250         * WebCore.gypi: Added FontSmoothingMode.h.
1251         * WebCore.vcproj/WebCore.vcproj: Added FontSmoothingMode.h.
1252         * WebCore.xcodeproj/project.pbxproj: Added FontSmoothingMode.h and made
1253             it a private header.
1254         * css/CSSComputedStyleDeclaration.cpp:
1255         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Get the
1256             font smoothing mode via the font description.
1257         * css/CSSPrimitiveValueMappings.h: Include FontSmoothingMode.h
1258         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Updated for the rename
1259             of FontSmoothing to FontSmoothingMode.
1260         (WebCore::CSSPrimitiveValue::operator FontSmoothingMode): Ditto.
1261         * css/CSSStyleSelector.cpp:
1262         (WebCore::CSSStyleSelector::applyProperty): Get the font smoothing mode
1263             via the font description.
1264         * platform/graphics/FontDescription.h: Do not include
1265             RenderStyleConstants.h.
1266         (WebCore::FontDescription::fontSmoothing): Updated for the rename of
1267             FontSmoothing to FontSmoothingMode.
1268         (WebCore::FontDescription::setFontSmoothing): Ditto.
1269         * platform/graphics/FontSmoothingMode.h: Added.
1270         (WebCore::FontSmoothingMode): Moved the FontSmoothing enum from
1271             RenderStyleConstants here and renamed it to this.
1272         * rendering/style/RenderStyle.h:
1273         (WebCore::InheritedFlags::fontSmoothing): Removed this getter, since
1274             this can be accessed via the font description.
1275         * rendering/style/RenderStyleConstants.h: Moved the FontSmoothing enum
1276             from here to FontSmoothingMode.h.
1277
1278 2009-09-17  Kevin Ollivier  <kevino@theolliviers.com>
1279
1280         wx 2.9 build fix.
1281
1282         * platform/wx/wxcode/gtk/scrollbar_render.cpp:
1283         (wxGetGdkWindowForDC):
1284
1285 2009-09-16  Simon Fraser  <simon.fraser@apple.com>
1286
1287         Reviewed by Dan Bernstein.
1288
1289         Elements appear behind <video> when they should be in front sometimes
1290         https://bugs.webkit.org/show_bug.cgi?id=29314
1291         
1292         r45598 added logic that tests for overlap with <video> to determine when to throw
1293         a layer into compositing mode. That logic was incorrect in some cases, and this patch
1294         fixes it. When testing overlap, the layer needs to be composited iff some previous layer
1295         is composited (which adds a rect to the overlay map), and there is overlap.
1296
1297         Test: compositing/geometry/video-opacity-overlay.html
1298
1299         * rendering/RenderLayerCompositor.cpp:
1300         (WebCore::CompositingState::CompositingState):
1301         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1302
1303 2009-09-17  Avi Drissman  <avi@google.com>
1304
1305         Reviewed by Darin Fisher.
1306
1307         Update the Chromium Mac theming files (RenderTheme and Theme) to be
1308         up-to-date.
1309         
1310         https://bugs.webkit.org/show_bug.cgi?id=29243
1311         http://crbug.com/19604
1312
1313         Covered by existing tests.
1314
1315         * WebCore.gypi:
1316         * platform/chromium/ThemeChromiumMac.h: Added.
1317         (WebCore::ThemeChromiumMac::ThemeChromiumMac):
1318         (WebCore::ThemeChromiumMac::~ThemeChromiumMac):
1319         (WebCore::ThemeChromiumMac::controlRequiresPreWhiteSpace):
1320         * platform/chromium/ThemeChromiumMac.mm: Added.
1321         (WebCore::):
1322         (WebCore::platformTheme):
1323         (WebCore::controlSizeForFont):
1324         (WebCore::sizeFromFont):
1325         (WebCore::setControlSize):
1326         (WebCore::updateStates):
1327         (WebCore::inflateRect):
1328         (WebCore::checkboxSizes):
1329         (WebCore::checkboxMargins):
1330         (WebCore::checkboxSize):
1331         (WebCore::checkbox):
1332         (WebCore::paintCheckbox):
1333         (WebCore::radioSizes):
1334         (WebCore::radioMargins):
1335         (WebCore::radioSize):
1336         (WebCore::radio):
1337         (WebCore::paintRadio):
1338         (WebCore::buttonSizes):
1339         (WebCore::buttonMargins):
1340         (WebCore::button):
1341         (WebCore::paintButton):
1342         (WebCore::ThemeChromiumMac::baselinePositionAdjustment):
1343         (WebCore::ThemeChromiumMac::controlFont):
1344         (WebCore::ThemeChromiumMac::controlSize):
1345         (WebCore::ThemeChromiumMac::minimumControlSize):
1346         (WebCore::ThemeChromiumMac::controlBorder):
1347         (WebCore::ThemeChromiumMac::controlPadding):
1348         (WebCore::ThemeChromiumMac::inflateControlPaintRect):
1349         (WebCore::ThemeChromiumMac::paint):
1350         * platform/graphics/FloatPoint.h:
1351         * platform/graphics/FloatRect.h:
1352         * platform/graphics/FloatSize.h:
1353         * platform/graphics/IntRect.h:
1354         * rendering/RenderThemeChromiumMac.h:
1355         (WebCore::RenderThemeChromiumMac::supportsControlTints):
1356         (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart):
1357         (WebCore::RenderThemeChromiumMac::supportsSelectionForegroundColors):
1358         * rendering/RenderThemeChromiumMac.mm:
1359         (-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]):
1360         (-[RTCMFlippedView isFlipped]):
1361         (-[RTCMFlippedView currentEditor]):
1362         (WebCore::):
1363         (WebCore::FlippedView):
1364         (WebCore::RenderTheme::themeForPage):
1365         (WebCore::RenderThemeChromiumMac::platformActiveListBoxSelectionForegroundColor):
1366         (WebCore::RenderThemeChromiumMac::platformInactiveListBoxSelectionForegroundColor):
1367         (WebCore::RenderThemeChromiumMac::platformInactiveListBoxSelectionBackgroundColor):
1368         (WebCore::RenderThemeChromiumMac::systemFont):
1369         (WebCore::convertNSColorToColor):
1370         (WebCore::menuBackgroundColor):
1371         (WebCore::RenderThemeChromiumMac::systemColor):
1372         (WebCore::RenderThemeChromiumMac::isControlStyled):
1373         (WebCore::RenderThemeChromiumMac::adjustRepaintRect):
1374         (WebCore::RenderThemeChromiumMac::inflateRect):
1375         (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
1376         (WebCore::RenderThemeChromiumMac::setFontFromControlSize):
1377         (WebCore::RenderThemeChromiumMac::paintTextField):
1378         (WebCore::RenderThemeChromiumMac::paintCapsLockIndicator):
1379         (WebCore::RenderThemeChromiumMac::paintTextArea):
1380         (WebCore::RenderThemeChromiumMac::paintMenuList):
1381         (WebCore::TopGradientInterpolate):
1382         (WebCore::BottomGradientInterpolate):
1383         (WebCore::MainGradientInterpolate):
1384         (WebCore::TrackGradientInterpolate):
1385         (WebCore::RenderThemeChromiumMac::paintMenuListButtonGradients):
1386         (WebCore::RenderThemeChromiumMac::paintMenuListButton):
1387         (WebCore::RenderThemeChromiumMac::popupInternalPaddingLeft):
1388         (WebCore::RenderThemeChromiumMac::popupInternalPaddingRight):
1389         (WebCore::RenderThemeChromiumMac::popupInternalPaddingTop):
1390         (WebCore::RenderThemeChromiumMac::popupInternalPaddingBottom):
1391         (WebCore::RenderThemeChromiumMac::adjustMenuListButtonStyle):
1392         (WebCore::RenderThemeChromiumMac::adjustSliderTrackStyle):
1393         (WebCore::RenderThemeChromiumMac::adjustSliderThumbStyle):
1394         (WebCore::RenderThemeChromiumMac::paintSliderThumb):
1395         (WebCore::RenderThemeChromiumMac::paintSearchField):
1396         (WebCore::RenderThemeChromiumMac::setSearchCellState):
1397         (WebCore::RenderThemeChromiumMac::adjustSearchFieldStyle):
1398         (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton):
1399         (WebCore::RenderThemeChromiumMac::adjustSearchFieldCancelButtonStyle):
1400         (WebCore::RenderThemeChromiumMac::adjustSearchFieldDecorationStyle):
1401         (WebCore::RenderThemeChromiumMac::paintSearchFieldDecoration):
1402         (WebCore::RenderThemeChromiumMac::adjustSearchFieldResultsDecorationStyle):
1403         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration):
1404         (WebCore::RenderThemeChromiumMac::adjustSearchFieldResultsButtonStyle):
1405         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
1406         (WebCore::mediaControllerTheme):
1407         (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize):
1408         (WebCore::getMediaUIPartStateFlags):
1409         (WebCore::getUnzoomedRectAndAdjustCurrentContext):
1410         (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
1411         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
1412         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
1413         (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
1414         (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
1415         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
1416         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
1417         (WebCore::RenderThemeChromiumMac::paintMediaRewindButton):
1418         (WebCore::RenderThemeChromiumMac::paintMediaReturnToRealtimeButton):
1419         (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
1420         (WebCore::RenderThemeChromiumMac::paintMediaCurrentTime):
1421         (WebCore::RenderThemeChromiumMac::paintMediaTimeRemaining):
1422         (WebCore::RenderThemeChromiumMac::extraMediaControlsStyleSheet):
1423
1424 2009-09-16  Daniel Bates  <dbates@webkit.org>
1425
1426         Reviewed by Darin Adler.
1427
1428         https://bugs.webkit.org/show_bug.cgi?id=29306
1429         
1430         Fixes an issue where an attack that contains accented characters can
1431         bypass the XSSAuditor.
1432         
1433         XSSAuditor::decodeURL used the wrong length for the input string. 
1434         When the input string was decoded, the decoded result was truncated.
1435         Hence, XSSAuditor was comparing the source code of the script to the 
1436         truncated input parameters.
1437
1438         Test: http/tests/security/xssAuditor/img-onerror-accented-char.html
1439
1440         * page/XSSAuditor.cpp:
1441         (WebCore::XSSAuditor::decodeURL):
1442
1443 2009-09-16  Brady Eidson  <beidson@apple.com>
1444
1445         Reviewed by Sam Weinig.
1446
1447         Explore allowing pages with unload handlers into the Page Cache
1448         https://bugs.webkit.org/show_bug.cgi?id=29021
1449
1450         No new tests. (All previous tests continue to pass)
1451
1452         * loader/FrameLoader.cpp:
1453         (WebCore::FrameLoader::stopLoading): If the document is in the page cache, don't fire the unload event.
1454
1455 2009-09-16  Adam Barth  <abarth@webkit.org>
1456
1457         Reviewed by Dimitri Glazkov.
1458
1459         [V8] Teach ScheduledAction::execute about isolated worlds
1460         https://bugs.webkit.org/show_bug.cgi?id=27703
1461
1462         We now save a handle to the original context.  We use that handle to
1463         call the timeout in the right context / world.
1464
1465         Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
1466                http/tests/security/isolatedWorld/window-setTimeout-string.html
1467
1468         * bindings/v8/ScheduledAction.cpp:
1469         (WebCore::ScheduledAction::ScheduledAction):
1470         (WebCore::ScheduledAction::execute):
1471         * bindings/v8/ScheduledAction.h:
1472         (WebCore::ScheduledAction::ScheduledAction):
1473         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1474         (WebCore::V8Custom::WindowSetTimeoutImpl):
1475         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1476         (WebCore::SetTimeoutOrInterval):
1477
1478 2009-09-16  Adam Barth  <abarth@webkit.org>
1479
1480         Reviewed by Dimitri Glazkov.
1481
1482         [V8] Teach ScheduledAction::execute about isolated worlds
1483         https://bugs.webkit.org/show_bug.cgi?id=27703
1484
1485         We now save a handle to the original context.  We use that handle to
1486         call the timeout in the right context / world.
1487
1488         Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
1489                http/tests/security/isolatedWorld/window-setTimeout-string.html
1490
1491         * bindings/v8/ScheduledAction.cpp:
1492         (WebCore::ScheduledAction::ScheduledAction):
1493         (WebCore::ScheduledAction::execute):
1494         * bindings/v8/ScheduledAction.h:
1495         (WebCore::ScheduledAction::ScheduledAction):
1496         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1497         (WebCore::V8Custom::WindowSetTimeoutImpl):
1498         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1499         (WebCore::SetTimeoutOrInterval):
1500
1501 2009-09-16  Sam Weinig  <sam@webkit.org>
1502
1503         Reviewed by Anders Carlsson.
1504
1505         Add some groups to the xcode project to make the bindings/js/ group
1506         a little nicer.
1507
1508         * WebCore.xcodeproj/project.pbxproj:
1509
1510 2009-09-16  Sam Weinig  <sam@webkit.org>
1511
1512         Reviewed by Anders Carlsson.
1513
1514         Fix for https://bugs.webkit.org/show_bug.cgi?id=29320
1515         JS callback objects should store the global object
1516
1517         This just changes the callback objects to store the global object instead
1518         of the frame. A follow up patch will change them to store the 'current' 
1519         global object instead of the lexical or dynamic.
1520
1521         * DerivedSources.make: Remove unused VoidCallback.
1522         * WebCore.xcodeproj/project.pbxproj: Ditto.
1523         * bindings/js/JSCustomPositionCallback.cpp:
1524         (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
1525         (WebCore::JSCustomPositionCallback::handleEvent):
1526         * bindings/js/JSCustomPositionCallback.h:
1527         (WebCore::JSCustomPositionCallback::create):
1528         * bindings/js/JSCustomPositionErrorCallback.cpp:
1529         (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
1530         (WebCore::JSCustomPositionErrorCallback::handleEvent):
1531         * bindings/js/JSCustomPositionErrorCallback.h:
1532         (WebCore::JSCustomPositionErrorCallback::create):
1533         * bindings/js/JSCustomSQLStatementCallback.cpp:
1534         (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
1535         (WebCore::JSCustomSQLStatementCallback::handleEvent):
1536         * bindings/js/JSCustomSQLStatementCallback.h:
1537         (WebCore::JSCustomSQLStatementCallback::create):
1538         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1539         (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
1540         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1541         * bindings/js/JSCustomSQLStatementErrorCallback.h:
1542         (WebCore::JSCustomSQLStatementErrorCallback::create):
1543         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1544         (WebCore::JSCustomSQLTransactionCallback::Data::Data):
1545         (WebCore::JSCustomSQLTransactionCallback::Data::globalObject):
1546         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
1547         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1548         * bindings/js/JSCustomSQLTransactionCallback.h:
1549         (WebCore::JSCustomSQLTransactionCallback::create):
1550         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1551         (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
1552         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1553         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
1554         (WebCore::JSCustomSQLTransactionErrorCallback::create):
1555         * bindings/js/JSCustomVoidCallback.cpp:
1556         (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
1557         (WebCore::JSCustomVoidCallback::handleEvent):
1558         * bindings/js/JSCustomVoidCallback.h:
1559         (WebCore::JSCustomVoidCallback::create):
1560         * bindings/js/JSDatabaseCustom.cpp:
1561         (WebCore::JSDatabase::changeVersion):
1562         (WebCore::createTransaction):
1563         (WebCore::JSDatabase::transaction):
1564         (WebCore::JSDatabase::readTransaction):
1565         * bindings/js/JSGeolocationCustom.cpp:
1566         (WebCore::createPositionCallback):
1567         (WebCore::createPositionErrorCallback):
1568         (WebCore::JSGeolocation::getCurrentPosition):
1569         (WebCore::JSGeolocation::watchPosition):
1570         * bindings/js/JSSQLTransactionCustom.cpp:
1571         (WebCore::JSSQLTransaction::executeSql):
1572
1573 2009-09-15  Kent Tamura  <tkent@chromium.org>
1574
1575         Reviewed by Eric Seidel.
1576
1577         <input maxlength=> should restrict only values specified by users.
1578         https://bugs.webkit.org/show_bug.cgi?id=21271
1579
1580         * dom/InputElement.cpp:
1581         (WebCore::InputElement::setValueFromRenderer):
1582         (WebCore::InputElement::sanitizeValue):
1583         (WebCore::InputElement::sanitizeUserInputValue): Rename from constrainValue().
1584         (WebCore::InputElement::handleBeforeTextInsertedEvent):
1585         (WebCore::InputElement::updateValueIfNeeded):
1586         * dom/InputElement.h:
1587         * html/HTMLInputElement.cpp:
1588         (WebCore::HTMLInputElement::setInputType):
1589         (WebCore::HTMLInputElement::value):
1590         (WebCore::HTMLInputElement::setValue):
1591         (WebCore::HTMLInputElement::sanitizeValue):
1592         * html/HTMLInputElement.h:
1593         * rendering/RenderTextControlSingleLine.cpp:
1594         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
1595         * wml/WMLInputElement.cpp:
1596         (WebCore::WMLInputElement::constrainValue):
1597         * wml/WMLInputElement.h:
1598         (WebCore::WMLInputElement::sanitizeValue):
1599
1600 2009-09-16  Enrica Casucci  <enrica@apple.com>
1601
1602         Reviewed by Eric Seidel.
1603
1604         Reorganizing helper functions in htmlediting.h to group them by type of object they return/operate upon.
1605         https://bugs.webkit.org/show_bug.cgi?id=29319
1606
1607         * editing/IndentOutdentCommand.cpp:
1608         Removed implementation of isAtUnsplittableElement.
1609
1610         * editing/IndentOutdentCommand.h:
1611         Removed member function isAtUnsplittableElement, because it was not class specific and belonged logically among the helper functions.
1612
1613         * editing/htmlediting.cpp:
1614         (WebCore::isAtUnsplittableElement): added. The code was taken from IndentOutdentCommand.
1615
1616         * editing/htmlediting.h:
1617         Reordered functions to group them by type of object returned or operate upon.
1618         Added comments.
1619         Added isAtUnsplittableElement declaration.
1620
1621 2009-09-16  Geoffrey Garen  <ggaren@apple.com>
1622
1623         Reviewed by Sam Weinig and Anders Carlsson.
1624
1625         Removed some vestigial and potentially crashy code that makes consolidating
1626         event listeners hard.
1627
1628         * dom/Node.cpp:
1629         (WebCore::Node::addEventListener): No need to limit when event listeners
1630         can be added. Other EventTargets don't do this.
1631         
1632         Also, check for null when accessing document(). Technically, the JS bindings
1633         do this check for us, but let's not rely on that.
1634
1635 2009-09-16  Anders Carlsson  <andersca@apple.com>
1636
1637         Reviewed by Adam Roben.
1638
1639         <rdar://problem/7155710>
1640         HTML selects on windows cause containing window to become inactive when opened
1641         
1642         Redo the way we handle events when a popup menu is shown, based on
1643         http://blogs.msdn.com/oldnewthing/archive/2004/08/20/217684.aspx
1644         
1645         Since a non-active window can't capture the mouse, we use the owning window 
1646         (the WebView) as the capture window. We then run a recursive message pump that 
1647         forwards all mouse and keyboard events to the popup menu.
1648         
1649         * platform/PopupMenu.h:
1650         * platform/win/PopupMenuWin.cpp:
1651         (WebCore::PopupMenu::PopupMenu):
1652         (WebCore::PopupMenu::show):
1653         (WebCore::PopupMenu::hide):
1654         (WebCore::PopupMenu::wndProc):
1655
1656 2009-09-16  Dan Bernstein  <mitz@apple.com>
1657
1658         Reviewed by Ada Chan.
1659
1660         Speculative fix for
1661         <rdar://problem/6937089> Crashes at RenderWidget::destroy()
1662
1663         * rendering/RenderWidget.cpp:
1664         (WebCore::RenderWidget::destroy): Avoid calling renderArena() if node()
1665         is null. Add two assertions that can help determine how this crash
1666         happens (in particular, whether node() becomes null during destroy() or
1667         it is null before destroy() is called).
1668
1669 2009-09-16  Beth Dakin  <bdakin@apple.com>
1670
1671         Speculative build fix.
1672
1673         * css/CSSStyleSelector.cpp:
1674         (WebCore::CSSStyleSelector::applyProperty):
1675
1676 2009-09-16  Beth Dakin  <bdakin@apple.com>
1677
1678         Reviewed by Darin Adler.
1679
1680         Fix for <rdar://problem/7083741> Implement a CSS extension to 
1681         adjust sub-pixel anti-aliasing for text
1682         -and corresponding-
1683         https://bugs.webkit.org/show_bug.cgi?id=29291
1684
1685         Added tests:
1686         * fast/css/font-smoothing.html: Added.
1687         * fast/css/parsing-webkit-font-smoothing.html: Added.
1688
1689         This patch adds a new CSS property called -webkit-font-smoothing 
1690         that accepts the following as valid input: auto | none | 
1691         antialiased | subpixel-antialiased
1692
1693         Return appropriate computed style for -webkit-font-smoothing
1694         * css/CSSComputedStyleDeclaration.cpp:
1695         (WebCore::):
1696         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1697
1698         Add a case for CSSPropertyWebkitFontSmoothing, and accept valid 
1699         input.
1700         * css/CSSParser.cpp:
1701         (WebCore::CSSParser::parseValue):
1702
1703         Add mappings for FontSmoothing to the right CSS values.
1704         * css/CSSPrimitiveValueMappings.h:
1705         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1706         (WebCore::CSSPrimitiveValue::operator FontSmoothing):
1707
1708         Add -webkit-font-smoothing
1709         * css/CSSPropertyNames.in:
1710
1711         Set fontSmoothing on the FontDescription.
1712         * css/CSSStyleSelector.cpp:
1713         (WebCore::CSSStyleSelector::applyProperty):
1714
1715         Add antialiased and subpixel-antialiased as possible new CSS 
1716         values.
1717         * css/CSSValueKeywords.in:
1718         Store the font smoothing CSS value in the FontDescription.
1719         * platform/graphics/FontDescription.h:
1720         (WebCore::FontDescription::FontDescription):
1721         (WebCore::FontDescription::fontSmoothing):
1722         (WebCore::FontDescription::setFontSmoothing):
1723         (WebCore::FontDescription::operator==):
1724
1725         Call setShouldAntialias() and setShouldUseSmoothing() appropriately 
1726         based on the CSS fontSmoothing() value.
1727         * platform/graphics/mac/FontMac.mm:
1728         (WebCore::Font::drawGlyphs):
1729         * platform/graphics/win/FontCGWin.cpp:
1730         (WebCore::Font::drawGlyphs):
1731
1732         New function fontSmoothing()
1733         * rendering/style/RenderStyle.h:
1734         (WebCore::InheritedFlags::fontSmoothing):
1735
1736         New enum FontSmoothing.
1737         * rendering/style/RenderStyleConstants.h:
1738         (WebCore::):
1739
1740 2009-09-16  Yury Semikhatsky  <yurys@chromium.org>
1741
1742         Reviewed by Timothy Hatcher.
1743
1744         Remove style property if empty string is entered.
1745
1746         https://bugs.webkit.org/show_bug.cgi?id=29163
1747
1748         * inspector/front-end/ElementsTreeOutline.js:
1749         (WebInspector.ElementsTreeOutline.prototype._onmouseout): fixed null pointer exception
1750         * inspector/front-end/InjectedScript.js:
1751         (InjectedScript.applyStyleText): if styletext to apply is empty it will return an array to confirm the property removal
1752         * inspector/front-end/StylesSidebarPane.js:
1753         (WebInspector.StylePropertyTreeElement.prototype.):
1754         (WebInspector.StylePropertyTreeElement.prototype):
1755
1756 2009-09-16  Yury Semikhatsky  <yurys@chromium.org>
1757
1758         Reviewed by Timothy Hatcher.
1759
1760         Always reset m_implicitShorthand to false after parsing
1761         background-repeat style property otherwise properties
1762         following after it may be erroneously marked as implicit.
1763
1764         https://bugs.webkit.org/show_bug.cgi?id=28972
1765         https://bugs.webkit.org/show_bug.cgi?id=28973
1766
1767         Test: fast/backgrounds/repeat/margin-shorthand.html
1768
1769         * css/CSSParser.cpp:
1770         (WebCore::CSSParser::parseValue):
1771
1772 2009-09-16  Carol Szabo  <carol.szabo@nokia.com>
1773
1774         Reviewed by Alexey Proskuryakov.
1775
1776         Incorrect behavior of XMLHttpRequest::getAllResponseHeaders and
1777         XMLHttpRequest::getResponseHeader in the
1778         HEADERS_RECEIVED readyState.
1779         https://bugs.webkit.org/show_bug.cgi?id=29121
1780
1781         Tests: http/tests/xmlhttprequest/getAllResponseHeaders.html
1782                http/tests/xmlhttprequest/getResponseHeader.html
1783
1784         * xml/XMLHttpRequest.cpp:
1785         (WebCore::XMLHttpRequest::getAllResponseHeaders):
1786         (WebCore::XMLHttpRequest::getResponseHeader):
1787         Changed the minimum valid state from LOADING to HEADERS_RECEIVED.
1788
1789 2009-09-16  Vitaly Repeshko  <vitalyr@chromium.org>
1790
1791         Reviewed by Dimitri Glazkov.
1792
1793         [V8] Fix style violation in V8AbstractEventListener.
1794         https://bugs.webkit.org/show_bug.cgi?id=29303
1795
1796         * bindings/v8/V8AbstractEventListener.h:
1797         (WebCore::V8AbstractEventListener::operator==):
1798
1799 2009-09-16  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
1800
1801         Reviewed by Timothy Hatcher.
1802
1803         Add Watch Expression support to inspector
1804         https://bugs.webkit.org/show_bug.cgi?id=27514
1805
1806         Manual test added.
1807
1808         * English.lproj/localizedStrings.js:
1809         * WebCore.gypi:
1810         * WebCore.vcproj/WebCore.vcproj:
1811         * inspector/front-end/ConsoleView.js:
1812         (WebInspector.ConsoleView.prototype.completions):
1813         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
1814         (WebInspector.ConsoleView.prototype._enterKeyPressed):
1815         * inspector/front-end/ObjectPropertiesSection.js:
1816         (WebInspector.ObjectPropertiesSection.prototype.update.callback):
1817         (WebInspector.ObjectPropertiesSection.prototype.update):
1818         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
1819         (WebInspector.ObjectPropertiesSection.CompareProperties):
1820         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
1821         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
1822         (WebInspector.ObjectPropertyTreeElement.prototype.update):
1823         * inspector/front-end/ScriptsPanel.js:
1824         (WebInspector.ScriptsPanel):
1825         (WebInspector.ScriptsPanel.prototype.reset):
1826         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
1827         * inspector/front-end/WatchExpressionsSidebarPane.js: Added.
1828         (WebInspector.WatchExpressionsSidebarPane):
1829         (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions):
1830         (WebInspector.WatchExpressionsSection):
1831         (WebInspector.WatchExpressionsSection.prototype.update):
1832         (WebInspector.WatchExpressionsSection.prototype.addExpression):
1833         (WebInspector.WatchExpressionsSection.prototype.updateExpression):
1834         (WebInspector.WatchExpressionsSection.prototype.findAddedTreeElement):
1835         (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions):
1836         (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
1837         (WebInspector.WatchExpressionsSection.CompareProperties):
1838         (WebInspector.WatchExpressionTreeElement):
1839         (WebInspector.WatchExpressionTreeElement.prototype.update):
1840         (WebInspector.WatchExpressionTreeElement.prototype._deleteButtonClicked):
1841         (WebInspector.WatchExpressionTreeElement.prototype.startEditing):
1842         (WebInspector.WatchExpressionTreeElement.prototype.editingCancelled):
1843         (WebInspector.WatchExpressionTreeElement.prototype.applyExpression):
1844         * inspector/front-end/WebKit.qrc:
1845         * inspector/front-end/inspector.css:
1846         * inspector/front-end/inspector.html:
1847         * manual-tests/inspector/debugger-watch-expressions.html: Added.
1848
1849 2009-09-16  Greg Bolsinga  <bolsinga@apple.com>
1850
1851         Add ENABLE(INSPECTOR)
1852         https://bugs.webkit.org/show_bug.cgi?id=29260
1853
1854         Reviewed by David Kilzer.
1855
1856         No new tests. (No change in default behavior.)
1857
1858         * DerivedSources.make: Use new WebCore.Inspector.exp file if ENABLE_DRAG_SUPPORT.
1859         * WebCore.base.exp: Move Inspector only exports to WebCore.Inspector.exp.
1860         * WebCore.xcodeproj/project.pbxproj: Add WebCore.Inspector.exp.
1861         * bindings/js/JSDOMWindowBase.cpp: Use ENABLE(INSPECTOR) where applicable.
1862         (WebCore::JSDOMWindowBase::supportsProfiling):
1863         * bindings/js/JSInspectedObjectWrapper.cpp: Wrap entire file in ENABLE(INSPECTOR).
1864         * bindings/js/JSInspectorBackendCustom.cpp: Ditto.
1865         * bindings/js/JSInspectorCallbackWrapper.cpp: Ditto.
1866         * bindings/js/ScriptObject.cpp: Use ENABLE(INSPECTOR) where applicable.
1867         * bindings/js/ScriptObject.h: Ditto.
1868         * bindings/js/ScriptObjectQuarantine.cpp: Wrap entire file in ENABLE(INSPECTOR).
1869         * dom/Document.cpp: Use ENABLE(INSPECTOR) where applicable.
1870         (WebCore::Document::recalcStyle):
1871         (WebCore::Document::addMessage):
1872         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
1873         (WebCore::Document::scriptImported):
1874         * dom/Document.h: Ditto.
1875         * dom/Node.cpp: Ditto.
1876         (WebCore::Node::dispatchGenericEvent):
1877         * dom/ScriptExecutionContext.h: Ditto.
1878         (WebCore::):
1879         * html/HTMLDocument.cpp: Ditto.
1880         (WebCore::HTMLDocument::createTokenizer):
1881         * html/HTMLTokenizer.cpp: Ditto.
1882         (WebCore::HTMLTokenizer::write):
1883         * inspector/ConsoleMessage.cpp: Ditto.
1884         (WebCore::ConsoleMessage::ConsoleMessage):
1885         (WebCore::ConsoleMessage::isEqual):
1886         * inspector/ConsoleMessage.h: Ditto.
1887         * inspector/DOMDispatchTimelineItem.cpp: Wrap entire file in ENABLE(INSPECTOR).
1888         * inspector/InspectorBackend.cpp: Ditto.
1889         * inspector/InspectorController.cpp: Ditto.
1890         * inspector/InspectorDOMAgent.cpp: Ditto.
1891         * inspector/InspectorDOMStorageResource.cpp: Ditto.
1892         * inspector/InspectorDatabaseResource.cpp: Ditto.
1893         * inspector/InspectorFrontend.cpp: Ditto.
1894         * inspector/InspectorResource.cpp: Ditto.
1895         * inspector/InspectorTimelineAgent.cpp: Ditto.
1896         * inspector/TimelineItem.cpp: Ditto.
1897         * loader/FrameLoader.cpp: Use ENABLE(INSPECTOR) where applicable.
1898         (WebCore::FrameLoader::detachFromParent):
1899         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
1900         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
1901         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
1902         (WebCore::FrameLoader::dispatchDidCommitLoad):
1903         (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest):
1904         (WebCore::FrameLoader::dispatchWillSendRequest):
1905         (WebCore::FrameLoader::dispatchDidReceiveResponse):
1906         (WebCore::FrameLoader::dispatchDidReceiveContentLength):
1907         (WebCore::FrameLoader::dispatchDidFinishLoading):
1908         * page/Chrome.cpp: Ditto.
1909         (WebCore::Chrome::mouseDidMoveOverElement):
1910         * page/Console.cpp: Ditto.
1911         (WebCore::Console::addMessage):
1912         (WebCore::Console::count):
1913         (WebCore::Console::profile):
1914         (WebCore::Console::profileEnd):
1915         (WebCore::Console::time):
1916         (WebCore::Console::timeEnd):
1917         (WebCore::Console::group):
1918         (WebCore::Console::groupEnd):
1919         * page/ContextMenuController.cpp: Ditto.
1920         (WebCore::ContextMenuController::handleContextMenuEvent):
1921         (WebCore::ContextMenuController::contextMenuItemSelected):
1922         * page/DOMWindow.cpp: Ditto.
1923         (WebCore::DOMWindow::sessionStorage):
1924         (WebCore::DOMWindow::localStorage):
1925         * page/EventHandler.cpp: Ditto.
1926         (WebCore::EventHandler::handleMousePressEvent):
1927         * page/FrameView.cpp: Ditto.
1928         (WebCore::FrameView::layout):
1929         (WebCore::FrameView::paintContents):
1930         * page/FrameView.h: Ditto.
1931         * page/Page.cpp: Ditto.
1932         (WebCore::Page::Page):
1933         (WebCore::Page::~Page):
1934         * page/Page.h: Ditto.
1935         * platform/ContextMenu.cpp: Ditto.
1936         (WebCore::ContextMenu::checkOrEnableIfNeeded):
1937         * platform/ContextMenuItem.h: Ditto.
1938         (WebCore::):
1939         * storage/Database.cpp: Ditto.
1940         (WebCore::Database::openDatabase):
1941         * workers/WorkerContext.cpp: Ditto.
1942         (WebCore::WorkerContext::importScripts):
1943         * xml/XMLHttpRequest.cpp: Ditto.
1944         (WebCore::XMLHttpRequest::didFinishLoading):
1945
1946 2009-09-16  Greg Bolsinga  <bolsinga@apple.com>
1947
1948         Add ENABLE(CONTEXT_MENUS)
1949         https://bugs.webkit.org/show_bug.cgi?id=29225
1950
1951         Reviewed by David Kilzer.
1952
1953         No new tests. (No change in default behavior.)
1954
1955         * DerivedSources.make: Use new WebCore.ContextMenus.exp file if ENABLE_CONTEXT_MENUS.
1956         * WebCore.base.exp: Move ContextMenu only exports to WebCore.ContextMenus.exp.
1957         * WebCore.xcodeproj/project.pbxproj: Add WebCore.ContextMenus.exp.
1958         * dom/Node.cpp: Use ENABLE(CONTEXT_MENUS) where applicable.
1959         (WebCore::Node::defaultEventHandler):
1960         * loader/EmptyClients.h: Ditto.
1961         * page/ContextMenuController.cpp: Wrap entire file in ENABLE(CONTEXT_MENUS).
1962         * page/EventHandler.cpp: Use ENABLE(CONTEXT_MENUS) where applicable.
1963         * page/EventHandler.h: Ditto.
1964         * page/Page.cpp: Ditto.
1965         (WebCore::Page::Page):
1966         * page/Page.h: Ditto.
1967         * page/mac/EventHandlerMac.mm: Ditto.
1968         * page/mac/WebCoreViewFactory.h: Ditto.
1969         * platform/ContextMenu.cpp: Wrap entire file in ENABLE(CONTEXT_MENUS).
1970         * platform/LocalizedStrings.h: Use ENABLE(CONTEXT_MENUS) where applicable.
1971         * platform/mac/ContextMenuItemMac.mm: Wrap entire file in ENABLE(CONTEXT_MENUS).
1972         * platform/mac/ContextMenuMac.mm: Ditto.
1973         * platform/mac/LocalizedStringsMac.mm: Use ENABLE(CONTEXT_MENUS) where applicable.
1974         * svg/graphics/SVGImage.cpp: Ditto.
1975         (WebCore::SVGImage::dataChanged):
1976
1977 2009-09-16  Dave Hyatt  <hyatt@apple.com>
1978
1979         Reviewed by Adam Roben.
1980
1981         Clean up invalidation for repainting.  Hoist the dirty rect intersection test in ScrollViewMac up
1982         into ScrollView so that all platforms do it.
1983         
1984         Patch deferred repaints in FrameView::repaintContentRectangle to only add the visible portion of
1985         the rectangle for repainting.
1986
1987         * page/FrameView.cpp:
1988         (WebCore::FrameView::repaintContentRectangle):
1989         * platform/ScrollView.cpp:
1990         (WebCore::ScrollView::repaintContentRectangle):
1991         * platform/mac/ScrollViewMac.mm:
1992         (WebCore::ScrollView::platformRepaintContentRectangle):
1993
1994 2009-09-16  Greg Bolsinga  <bolsinga@apple.com>
1995
1996         Add ENABLE(DRAG_SUPPORT)
1997         https://bugs.webkit.org/show_bug.cgi?id=29233
1998
1999         Reviewed by David Kilzer.
2000
2001         No new tests. (No change in default behavior.)
2002
2003         * DerivedSources.make: Use new WebCore.DragSupport.exp file if ENABLE_DRAG_SUPPORT.
2004         * WebCore.base.exp: Move Drag Support only exports to WebCore.DragSupport.exp.
2005         * WebCore.xcodeproj/project.pbxproj: Add WebCore.DragSupport.exp.
2006         * dom/Clipboard.h: Use ENABLE(DRAG_SUPPORT) where applicable.
2007         * loader/EmptyClients.h: Ditto.
2008         * page/DragController.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT).
2009         * page/EventHandler.cpp: Use ENABLE(DRAG_SUPPORT) where applicable.
2010         (WebCore::EventHandler::EventHandler):
2011         (WebCore::EventHandler::clear):
2012         (WebCore::EventHandler::handleMousePressEvent):
2013         (WebCore::EventHandler::handleMouseReleaseEvent):
2014         (WebCore::EventHandler::handleMouseMoveEvent):
2015         * page/EventHandler.h: Ditto.
2016         * page/Page.cpp: Ditto.
2017         (WebCore::Page::Page):
2018         * page/Page.h: Ditto.
2019         * page/mac/DragControllerMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT).
2020         * page/mac/EventHandlerMac.mm: Use ENABLE(DRAG_SUPPORT) where applicable.
2021         (WebCore::EventHandler::passSubframeEventToSubframe):
2022         * platform/DragData.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT).
2023         * platform/DragImage.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT).
2024         * platform/mac/ClipboardMac.h: Use ENABLE(DRAG_SUPPORT) where applicable.
2025         * platform/mac/ClipboardMac.mm: Ditto.
2026         * platform/mac/DragDataMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT).
2027         * platform/mac/DragImageMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT).
2028         * rendering/RenderLayer.cpp: Use ENABLE(DRAG_SUPPORT) where applicable.
2029         (WebCore::RenderLayer::autoscroll):
2030         * rendering/RenderObject.cpp: Ditto.
2031         * rendering/RenderObject.h: Ditto.
2032         * svg/graphics/SVGImage.cpp: Ditto.
2033         (WebCore::SVGImage::dataChanged):
2034
2035 2009-09-16  Kevin Ollivier  <kevino@theolliviers.com>
2036
2037         wxMSW build fix after adding support for high resolution times in Win.
2038
2039         * page/Settings.cpp:
2040         * page/Settings.h:
2041
2042 2009-09-16  Vitaly Repeshko  <vitalyr@chromium.org>
2043
2044         Reviewed by Dimitri Glazkov.
2045
2046         [V8] Added operator==() to event listeners. This fixes V8 bindings
2047         build broken in http://trac.webkit.org/changeset/48402.
2048         https://bugs.webkit.org/show_bug.cgi?id=29298
2049
2050         * bindings/v8/V8AbstractEventListener.cpp:
2051         (WebCore::V8AbstractEventListener::V8AbstractEventListener): Now
2052         uses JSEventListenerType.
2053         * bindings/v8/V8AbstractEventListener.h:
2054         (WebCore::V8AbstractEventListener::operator==): Only compares
2055         pointers since we create at most one wrapper for a JS object.
2056
2057 2009-09-16  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2058
2059         Reviewed by Xan Lopez.
2060
2061         [GTK] Crash when visiting http://flipper.googlelabs.com/
2062         https://bugs.webkit.org/show_bug.cgi?id=29293
2063
2064         Check type for being null or empty before looking it up in the
2065         hash of supported types.
2066
2067         Tested by http/tests/loading/redirect-with-no-location-crash.html
2068
2069         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2070         (WebCore::MediaPlayerPrivate::supportsType):
2071
2072 2009-09-15  Geoffrey Garen  <ggaren@apple.com>
2073
2074         Reviewed by Sam Weinig.
2075         
2076         Removed the notion of "disconnected nodes with event listeners" because
2077         it was vestigial. The reference cycle it tried to solve was solved another
2078         way in https://bugs.webkit.org/show_bug.cgi?id=21260.
2079
2080         * dom/Document.cpp:
2081         (WebCore::Document::removeAllEventListeners):
2082         * dom/Document.h:
2083         * dom/Node.cpp:
2084         (WebCore::Node::~Node):
2085         (WebCore::Node::insertedIntoDocument):
2086         (WebCore::Node::removedFromDocument):
2087         (WebCore::Node::willMoveToNewOwnerDocument):
2088         (WebCore::Node::didMoveToNewOwnerDocument):
2089         (WebCore::Node::addEventListener):
2090         (WebCore::Node::removeEventListener):
2091         (WebCore::Node::clearAttributeEventListener):
2092
2093 2009-09-15  Chris Fleizach  <cfleizach@apple.com>
2094
2095         Reviewed by Beth Dakin.
2096
2097         WAI-ARIA: add support for ranges, including the progressbar, slider, and spinbutton roles
2098         https://bugs.webkit.org/show_bug.cgi?id=28841
2099
2100         Allow certain ARIA roles to change value with AXIncrement and AXDecrement. 
2101         Consolidate increment/decrement/changeValue methods. 
2102
2103         Test: accessibility/aria-slider-value-change.html
2104
2105         * accessibility/AccessibilityObject.cpp:
2106         * accessibility/AccessibilityRenderObject.cpp:
2107         (WebCore::AccessibilityRenderObject::increment):
2108         (WebCore::AccessibilityRenderObject::decrement):
2109         (WebCore::AccessibilityRenderObject::changeValueByPercent):
2110         (WebCore::AccessibilityRenderObject::setValue):
2111         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
2112         * accessibility/AccessibilityRenderObject.h:
2113         * accessibility/AccessibilitySlider.cpp:
2114         * accessibility/AccessibilitySlider.h:
2115         * dom/Element.cpp:
2116         (WebCore::Element::updateAfterAttributeChanged):
2117
2118 2009-09-15  Geoffrey Garen  <ggaren@apple.com>
2119
2120         Reviewed by Sam Weinig.
2121
2122         Removed the jsEventListeners set from JSDOMGlobalObject, to simplify
2123         creation and destruction of JSDOMGlobalObject and event listeners.
2124         
2125         Added an abstract operator==() to EventListener, to replace the
2126         jsEventListeners set's role in determining if two event listeners are
2127         equal from the DOM's perspective.
2128         
2129         Added a type field to EventListener, and casting operations, to support
2130         operator==() and other abstract operations.
2131
2132         * WebCore.xcodeproj/project.pbxproj:
2133         * bindings/js/JSAbstractWorkerCustom.cpp:
2134         (WebCore::JSAbstractWorker::addEventListener):
2135         (WebCore::JSAbstractWorker::removeEventListener):
2136         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2137         (WebCore::JSDOMApplicationCache::addEventListener):
2138         (WebCore::JSDOMApplicationCache::removeEventListener):
2139         * bindings/js/JSDOMGlobalObject.cpp:
2140         * bindings/js/JSDOMGlobalObject.h:
2141         * bindings/js/JSDOMWindowCustom.cpp:
2142         (WebCore::JSDOMWindow::addEventListener):
2143         (WebCore::JSDOMWindow::removeEventListener):
2144         * bindings/js/JSDesktopNotificationsCustom.cpp:
2145         (WebCore::JSNotification::addEventListener):
2146         (WebCore::):
2147         * bindings/js/JSEventListener.cpp:
2148         (WebCore::JSEventListener::JSEventListener):
2149         (WebCore::JSEventListener::~JSEventListener):
2150         (WebCore::JSEventListener::markJSFunction):
2151         (WebCore::JSEventListener::handleEvent):
2152         (WebCore::JSEventListener::reportError):
2153         (WebCore::JSEventListener::operator==):
2154         * bindings/js/JSEventListener.h:
2155         (WebCore::JSEventListener::cast):
2156         * bindings/js/JSEventSourceCustom.cpp:
2157         (WebCore::JSEventSource::addEventListener):
2158         (WebCore::JSEventSource::removeEventListener):
2159         * bindings/js/JSMessagePortCustom.cpp:
2160         (WebCore::JSMessagePort::addEventListener):
2161         (WebCore::JSMessagePort::removeEventListener):
2162         * bindings/js/JSNodeCustom.cpp:
2163         (WebCore::JSNode::addEventListener):
2164         (WebCore::JSNode::removeEventListener):
2165         * bindings/js/JSSVGElementInstanceCustom.cpp:
2166         (WebCore::JSSVGElementInstance::addEventListener):
2167         (WebCore::JSSVGElementInstance::removeEventListener):
2168         * bindings/js/JSWorkerContextCustom.cpp:
2169         (WebCore::JSWorkerContext::addEventListener):
2170         (WebCore::JSWorkerContext::removeEventListener):
2171         * bindings/js/JSXMLHttpRequestCustom.cpp:
2172         (WebCore::JSXMLHttpRequest::addEventListener):
2173         (WebCore::JSXMLHttpRequest::removeEventListener):
2174         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2175         (WebCore::JSXMLHttpRequestUpload::addEventListener):
2176         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
2177         * bindings/objc/ObjCEventListener.h:
2178         (WebCore::ObjCEventListener::cast):
2179         * bindings/objc/ObjCEventListener.mm:
2180         (WebCore::ObjCEventListener::ObjCEventListener):
2181         (WebCore::ObjCEventListener::operator==):
2182         * dom/EventListener.h:
2183         (WebCore::EventListener::):
2184         (WebCore::EventListener::type):
2185         (WebCore::EventListener::EventListener):
2186         * dom/MessagePort.cpp:
2187         (WebCore::MessagePort::addEventListener):
2188         (WebCore::MessagePort::removeEventListener):
2189         * dom/Node.cpp:
2190         (WebCore::Node::removeEventListener):
2191         * inspector/InspectorDOMAgent.cpp:
2192         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2193         (WebCore::InspectorDOMAgent::mainFrameDocument):
2194         (WebCore::InspectorDOMAgent::operator==):
2195         * inspector/InspectorDOMAgent.h:
2196         (WebCore::InspectorDOMAgent::cast):
2197         * loader/ImageDocument.cpp:
2198         (WebCore::ImageEventListener::cast):
2199         (WebCore::ImageEventListener::ImageEventListener):
2200         (WebCore::ImageEventListener::operator==):
2201         * loader/appcache/DOMApplicationCache.cpp:
2202         (WebCore::DOMApplicationCache::addEventListener):
2203         (WebCore::DOMApplicationCache::removeEventListener):
2204         * notifications/Notification.cpp:
2205         (WebCore::Notification::removeEventListener):
2206         * page/DOMWindow.cpp:
2207         (WebCore::DOMWindow::removeEventListener):
2208         * page/EventSource.cpp:
2209         (WebCore::EventSource::addEventListener):
2210         (WebCore::EventSource::removeEventListener):
2211         * svg/animation/SVGSMILElement.cpp:
2212         (WebCore::ConditionEventListener::cast):
2213         (WebCore::ConditionEventListener::ConditionEventListener):
2214         (WebCore::ConditionEventListener::operator==):
2215         (WebCore::ConditionEventListener::handleEvent):
2216         * workers/AbstractWorker.cpp:
2217         (WebCore::AbstractWorker::addEventListener):
2218         (WebCore::AbstractWorker::removeEventListener):
2219         * workers/WorkerContext.cpp:
2220         (WebCore::WorkerContext::addEventListener):
2221         (WebCore::WorkerContext::removeEventListener):
2222         * xml/XMLHttpRequest.cpp:
2223         (WebCore::XMLHttpRequest::addEventListener):
2224         (WebCore::XMLHttpRequest::removeEventListener):
2225         * xml/XMLHttpRequestUpload.cpp:
2226         (WebCore::XMLHttpRequestUpload::addEventListener):
2227         (WebCore::XMLHttpRequestUpload::removeEventListener):
2228
2229 2009-09-15  Alex Milowski  <alex@milowski.com>
2230
2231         Reviewed by Tor Arne Vestbø.
2232
2233         Added ENABLE_MATHML to feature defines
2234
2235         * Configurations/FeatureDefines.xcconfig:
2236
2237 2009-09-14  Andrew Richards  <randrew@gmail.com>
2238
2239         Reviewed by Sam Weinig.
2240
2241         Document.elementFromPoint() and Document.caretRangeFromPoint() erroneously returning null at points visible only after scrolling.
2242         https://bugs.webkit.org/show_bug.cgi?id=29245
2243
2244         Use visibleContentRect() instead of boundsRect() when checking hit point bounds on viewport.
2245
2246         * dom/Document.cpp:
2247         (WebCore::Document::elementFromPoint):
2248         (WebCore::Document::caretRangeFromPoint):
2249
2250 2009-09-15  Jungshik Shin  <jshin@chromium.org>
2251
2252         Reviewed by Eric Seidel
2253
2254         http://bugs.webkit.org/show_bug.cgi?id=26660
2255
2256         Chromium Windows: When rotated, the baseline for a span of complex
2257         script is completely misaligned with that of the adjacent 
2258         simple script text. It's fixed by not applying the baseline offset for
2259         the Skia code path.
2260
2261         Test: transforms/2d/hindi-rotated.html
2262
2263         * platform/graphics/chromium/UniscribeHelper.cpp:
2264         (WebCore::UniscribeHelper::draw):
2265
2266 2009-09-15  Anders Carlsson  <andersca@apple.com>
2267
2268         Reviewed by Adam Roben.
2269
2270         Pass the PopupMenu pointer to CreateWindowEx and then get it from the LPCREATESTRUCT in
2271         the WM_CREATE handler. This way we don't have to first create an zero size window and then size it.
2272         
2273         * platform/win/PopupMenuWin.cpp:
2274         (WebCore::PopupMenu::show):
2275         (WebCore::PopupMenu::PopupMenuWndProc):
2276
2277 2009-09-15  Drew Wilson  <atwilson@google.com>
2278
2279         Reviewed by Darin Adler.
2280
2281         MessageEvent should not be cancelable by default
2282         https://bugs.webkit.org/show_bug.cgi?id=27846
2283
2284         * dom/MessageEvent.cpp:
2285         (WebCore::MessageEvent::MessageEvent):
2286         Changed constructor to set cancelable=false by default, per the HTML5 spec.
2287
2288 2009-09-15  Charles Wei  <charles.wei@torchmobile.com.cn>
2289
2290         Reviewed by George Staikos.
2291
2292         Fix SVG path parsing error if a command starts with dot '.'
2293         https://bugs.webkit.org/show_bug.cgi?id=29123
2294
2295         * svg/SVGParserUtilities.cpp:
2296         (WebCore::SVGPathParser::parseSVG):
2297
2298 2009-09-15  Alexander Pavlov  <apavlov@chromium.org>
2299
2300         Reviewed by Timothy Hatcher.
2301
2302         Implement conditional breakpoints in the Web Inspector frontend.
2303         https://bugs.webkit.org/show_bug.cgi?id=28908
2304
2305         * English.lproj/localizedStrings.js:
2306         * WebCore.gypi:
2307         * WebCore.vcproj/WebCore.vcproj:
2308         * inspector/front-end/Breakpoint.js:
2309         (WebInspector.Breakpoint.prototype.set condition):
2310         * inspector/front-end/Popup.js: Added.
2311         (WebInspector.Popup):
2312         (WebInspector.Popup.prototype.show):
2313         (WebInspector.Popup.prototype.hide):
2314         (WebInspector.Popup.prototype.get visible):
2315         (WebInspector.Popup.prototype.set element):
2316         (WebInspector.Popup.prototype.get element):
2317         (WebInspector.Popup.prototype.positionElement):
2318         (WebInspector.Popup.prototype.set anchor):
2319         (WebInspector.Popup.prototype.get anchor):
2320         (WebInspector.Popup.prototype.set autoHide):
2321         (WebInspector.Popup.prototype._checkNotVisible):
2322         (WebInspector.Popup.prototype._keyEventHandler):
2323         (WebInspector.Popup.prototype._mouseDownEventHandler):
2324         * inspector/front-end/SourceFrame.js:
2325         (WebInspector.SourceFrame.prototype.revealLine):
2326         (WebInspector.SourceFrame.prototype._loaded):
2327         (WebInspector.SourceFrame.prototype._documentContextMenu):
2328         (WebInspector.SourceFrame.prototype._documentMouseDown):
2329         (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed):
2330         (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed):
2331         (WebInspector.SourceFrame.prototype._editBreakpointCondition):
2332         (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup):
2333         (WebInspector.SourceFrame.prototype._createPopupElement):
2334         (WebInspector.SourceFrame.prototype._addBreakpointToSource):
2335         (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
2336         (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded.drawBreakpoint):
2337         (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded):
2338         * inspector/front-end/WebKit.qrc:
2339         * inspector/front-end/inspector.html:
2340         * inspector/front-end/inspector.js:
2341         (WebInspector.set currentFocusElement):
2342         (WebInspector.set currentPanel):
2343         (WebInspector.loaded):
2344         (WebInspector.contextMenu):
2345         (WebInspector.elementDragStart):
2346         (WebInspector.updateResource):
2347         (WebInspector.drawLoadingPieChart):
2348         (WebInspector.linkifyURLAsNode):
2349         (WebInspector.startEditing.getContent):
2350         (WebInspector.startEditing.editingCancelled):
2351         (WebInspector.startEditing.editingCommitted):
2352         * inspector/front-end/utilities.js:
2353         (Element.prototype.positionAt):
2354         (Element.prototype.offsetRelativeToWindow):
2355
2356 2009-09-14  Brady Eidson  <beidson@apple.com>
2357
2358         Reviewed by Darin Adler.
2359
2360         Page cache should support pages with unload handlers as an experiment.
2361         <rdar://problem/7196485> and https://bugs.webkit.org/show_bug.cgi?id=29021
2362
2363         For the experiment, only allow pages with unload handlers into the Page Cache on
2364         Mac and Windows.
2365
2366         * loader/FrameLoader.cpp:
2367         (WebCore::FrameLoader::canCachePageContainingThisFrame):
2368         (WebCore::FrameLoader::logCanCacheFrameDecision):
2369
2370 2009-09-14  Simon Fraser  <simon.fraser@apple.com>
2371
2372         Fix the change in r48376 to do a null-check to fix a crashing test.
2373
2374         * dom/SelectElement.cpp:
2375         (WebCore::SelectElement::menuListDefaultEventHandler):
2376
2377 2009-09-14  Simon Fraser  <simon.fraser@apple.com>
2378
2379         Reviewed by Dan Bernstein.
2380
2381         <rdar://problem/7047282> Safari crashes at WebCore::RenderMenuList::adjustInnerStyle() + 436
2382         
2383         Avoid a crash when a mouse event handler on a <select> changes the select from a popup
2384         to a list (by setting the 'size' property) inside the event handler.
2385
2386         Test: fast/forms/select-change-popup-to-listbox-in-event-handler.html
2387
2388         * dom/SelectElement.cpp:
2389         (WebCore::SelectElement::menuListDefaultEventHandler):
2390
2391 2009-09-14  Anders Carlsson  <andersca@apple.com>
2392
2393         Reviewed by Jon Honeycutt.
2394
2395         More PopupMenu cleanup.
2396         
2397         * platform/PopupMenu.h:
2398         * platform/win/PopupMenuWin.cpp:
2399         (WebCore::PopupMenu::show):
2400         Call registerClass.
2401         
2402         (WebCore::PopupMenu::registerClass):
2403         Make this a private static member function so it can refer to PopupMenuWndProc.
2404         
2405         (WebCore::PopupMenu::PopupMenuWndProc):
2406         Try to get the PopupMenu and call its wndProc member function.
2407         
2408         (WebCore::PopupMenu::wndProc):
2409         Make this a member function.
2410
2411 2009-09-14  Brady Eidson  <beidson@apple.com>
2412
2413         Not reviewed, maybe should've been:
2414
2415         Cleaning up more Windows-specific fallout from the fix for:
2416         <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
2417
2418         * platform/network/cf/ResourceHandleCFNet.cpp:
2419         (WebCore::WebCoreSynchronousLoader::load): Don't allow empty CFStrings as the stored credentials,
2420           as related checks all look at nullity when they really mean to be looking for emptiness. 
2421
2422 2009-09-14  Anders Carlsson  <andersca@apple.com>
2423
2424         Speculative Qt build fix.
2425         
2426         * platform/qt/QWebPopup.cpp:
2427         (WebCore::QWebPopup::hidePopup):
2428
2429 2009-09-14  Dirk Pranke  <dpranke@chromium.org>
2430
2431         Reviewed by Darin Fisher.
2432
2433         Fix RenderThemeChromiumWin::determineClassicState so that classic_state
2434         matches the state values (and you get a single classic_state value
2435         for a given {part,state} value. This change will be tested by a 
2436         chromium patch that will land after this.
2437
2438         This will be tested by code landing downstream on Chromium.org; the
2439         code does not execute on webkit.org.
2440
2441         * rendering/RenderThemeChromiumWin.cpp:
2442         (WebCore::RenderThemeChromiumWin::determineClassicState):
2443         (WebCore::RenderThemeChromiumWin::getThemeData):
2444
2445 2009-09-14  Anders Carlsson  <andersca@apple.com>
2446
2447         Reviewed by Adam Roben.
2448
2449         https://bugs.webkit.org/show_bug.cgi?id=29138
2450         Simplify popup menu handling.
2451
2452         * platform/PopupMenuClient.h:
2453         Rename hidePopup to popupDidHide.
2454         
2455         * platform/chromium/PopupMenuChromium.cpp:
2456         (WebCore::PopupListBox::handleKeyEvent):        
2457         (WebCore::PopupListBox::abandon):
2458         (WebCore::PopupListBox::acceptIndex):
2459         Call popupDidHide instead of hidePopup.
2460         
2461         * platform/gtk/PopupMenuGtk.cpp:
2462         (WebCore::PopupMenu::menuUnmapped):
2463         Ditto.
2464         
2465         * platform/mac/PopupMenuMac.mm:
2466         (WebCore::PopupMenu::show):
2467         Ditto.
2468         
2469         * platform/win/PopupMenuWin.cpp:
2470         (WebCore::PopupMenu::hide):
2471         Call popupDidHide.
2472         
2473         (WebCore::PopupWndProc):
2474         Call PopupMenu::hide.
2475         
2476         * platform/wx/PopupMenuWx.cpp:
2477         (WebCore::PopupMenu::OnMenuItemSelected):
2478         Call popupDidHide.
2479         
2480         * rendering/RenderMenuList.cpp:
2481         (WebCore::RenderMenuList::hidePopup):
2482         (WebCore::RenderMenuList::popupDidHide):
2483         * rendering/RenderMenuList.h:
2484         Set the "popup is visible" flag in popupDidHide.
2485         
2486         * rendering/RenderTextControlSingleLine.cpp:
2487         (WebCore::RenderTextControlSingleLine::hidePopup):
2488         (WebCore::RenderTextControlSingleLine::popupDidHide):
2489         * rendering/RenderTextControlSingleLine.h:
2490         Ditto.
2491
2492 2009-09-14  Anders Carlsson  <andersca@apple.com>
2493
2494         Reviewed by David Hyatt.
2495
2496         - Fix <rdar://problem/7182275>.
2497
2498         Make sure that the newly created scrollbar's style is up to date.
2499         
2500         * platform/win/PopupMenuWin.cpp:
2501         (WebCore::PopupMenu::~PopupMenu):
2502         Call setParent so that the scrollbar's parts are torn down correctly.
2503         
2504         (WebCore::PopupMenu::show):
2505         Call styleChanged.
2506
2507 2009-09-11  Jon Honeycutt  <jhoneycutt@apple.com>
2508
2509         <rdar://problem/7197644> WebKit should broadcast an MSAA event when
2510         jumping to a named anchor
2511
2512         https://bugs.webkit.org/show_bug.cgi?id=28899
2513
2514         Reviewed by Adam Roben.
2515
2516         * accessibility/AXObjectCache.h:
2517         (WebCore::AXObjectCache::):
2518         Added declaration for handleScrolledToAnchor(). Added a new entry to
2519         the enum of accessibility notifications.
2520
2521         * accessibility/AccessibilityObject.cpp:
2522         (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
2523         Code moved from AccessibilityRenderObject::internalLinkElement() and
2524         refactored slightly; walks the tree until it finds a Node (with a
2525         renderer) whose accessibility is not ignored.
2526
2527         * accessibility/AccessibilityObject.h:
2528         Added a declaration for firstAccessibleObjectFromNode().
2529
2530         * accessibility/AccessibilityRenderObject.cpp:
2531         (WebCore::AccessibilityRenderObject::internalLinkElement):
2532         Code moved to AccessibilityObject::firstAccessibleObjectFromNode().
2533
2534         * accessibility/chromium/AXObjectCacheChromium.cpp:
2535         (WebCore::AXObjectCache::handleScrolledToAnchor):
2536         Stubbed.
2537
2538         * accessibility/gtk/AXObjectCacheAtk.cpp:
2539         (WebCore::AXObjectCache::handleScrolledToAnchor):
2540         Stubbed.
2541
2542         * accessibility/mac/AXObjectCacheMac.mm:
2543         (WebCore::AXObjectCache::postPlatformNotification):
2544         Add a default case that returns early for notifications that Mac
2545         doesn't handle.
2546         (WebCore::AXObjectCache::handleScrolledToAnchor):
2547         Stubbed.
2548
2549         * accessibility/win/AXObjectCacheWin.cpp:
2550         (WebCore::AXObjectCache::handleScrolledToAnchor):
2551         Post an AXScrolledToAnchor notification for the first accessible from
2552         the anchor Node.
2553         (WebCore::AXObjectCache::postPlatformNotification):
2554         If the notification is AXFocusedUIElementChanged, fire an
2555         EVENT_OBJECT_FOCUS. If the notification is AXScrolledToAnchor, fire
2556         EVENT_SYSTEM_SCROLLINGSTART, matching Firefox.
2557         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2558         Code moved to postPlatformNotification().
2559
2560         * page/FrameView.cpp:
2561         (WebCore::FrameView::scrollToAnchor):
2562         Call AXObjectCache::handleScrolledToAnchor().
2563
2564 2009-09-14  Anthony Ricaud  <rik@webkit.org>
2565
2566         Reviewed by Timothy Hatcher.
2567
2568         Cookies are not inspectable after reloading a page
2569         https://bugs.webkit.org/show_bug.cgi?id=29222
2570
2571         Create the cookieTreeElement on initialization instead of when the view is shown.
2572         Reset the selected element of the sidebar on reset.
2573
2574         * inspector/front-end/StoragePanel.js:
2575         (WebInspector.StoragePanel):
2576         (WebInspector.StoragePanel.prototype.show):
2577         (WebInspector.StoragePanel.prototype.reset):
2578
2579
2580 2009-09-14  Brady Eidson  <beidson@apple.com>
2581
2582         Windows build fix.
2583
2584         * platform/network/cf/ResourceHandleCFNet.cpp:
2585         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2586         (WebCore::ResourceHandle::receivedCredential):
2587         (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
2588         (WebCore::WebCoreSynchronousLoader::load):
2589
2590 2009-09-14  Brady Eidson  <beidson@apple.com>
2591
2592         Reviewed by Alexey Proskuryakov.
2593
2594         Safari 4 cannot be used to update firmware on Linksys routers.
2595         <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
2596
2597         In http://trac.webkit.org/changeset/42483, we disabled CFNetwork's session credential storage and 
2598         implemented our own in WebCore.
2599
2600         One feature we lost is that CFNetwork would automatically send previously authenticated credentials
2601         with new connections when the paths match, as allowed by RFC 2617 for HTTP Basic and Digest Authentication.  
2602
2603         Even though it's optional for User Agents to do this, (some?) Linksys routers rely on this behavior for
2604         HTTP Basic Authentication.  So now WebCore's CredentialStorage will track URL paths for Basic credentials.
2605
2606         We're not making this enhancement for Digest at this time, since we don't know of anything that broke
2607         due to the change in Digest behavior.
2608
2609         Test: http/tests/loading/basic-credentials-sent-automatically.html
2610               http/tests/loading/basic-auth-resend-wrong-credentials.html
2611
2612         * WebCore.base.exp:
2613         * WebCore.vcproj/WebCore.vcproj:
2614         * WebCore.xcodeproj/project.pbxproj:
2615
2616         * platform/network/Credential.cpp:
2617         (WebCore::Credential::isEmpty):
2618         * platform/network/Credential.h:
2619
2620         Add a slightly more full featured CredentialStore that will track URL paths a credential belongs to:
2621         * platform/network/CredentialStorage.cpp: Added.
2622         (WebCore::protectionSpaceToCredentialMap):
2623         (WebCore::originToDefaultCredentialMap):
2624         (WebCore::originStringFromURL):
2625         (WebCore::CredentialStorage::set):
2626         (WebCore::CredentialStorage::get):
2627         (WebCore::CredentialStorage::getDefaultAuthenticationCredential):
2628         * platform/network/CredentialStorage.h: Added.
2629
2630         Allow ProtectionSpace to be a hash key:
2631         * platform/network/ProtectionSpace.cpp:
2632         (WebCore::ProtectionSpace::ProtectionSpace):
2633         * platform/network/ProtectionSpace.h:
2634         (WebCore::ProtectionSpace::ProtectionSpace):
2635         (WebCore::ProtectionSpace::isHashTableDeletedValue):
2636         * platform/network/ProtectionSpaceHash.h: Added.
2637         (WebCore::ProtectionSpaceHash::hash):
2638         (WebCore::ProtectionSpaceHash::equal):
2639
2640         Allow ResourceHandles to remember the initial credential they used:
2641         * platform/network/ResourceHandleInternal.h:
2642
2643         Allow mutable ResourceRequests to update their platform object if HTTP header fields change:
2644         * platform/network/ResourceRequestBase.cpp:
2645         (WebCore::ResourceRequestBase::addHTTPHeaderField):
2646
2647         Remove WebCoreCredentialStorage:
2648         * platform/network/cf/AuthenticationCF.cpp:
2649         * platform/network/cf/AuthenticationCF.h:
2650         * platform/network/mac/AuthenticationMac.h:
2651         * platform/network/mac/AuthenticationMac.mm:
2652
2653         Change ResourceHandleCFNet to try to use stored credentials on new connections, if appropriate:
2654         * platform/network/cf/ResourceHandleCFNet.cpp:
2655         (WebCore::ResourceHandle::start):
2656         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Only try the ProtectionSpace key'ed
2657           Credential if it does not match the initially used Credential.
2658         (WebCore::ResourceHandle::receivedCredential):
2659         (WebCore::WebCoreSynchronousLoader::didReceiveChallenge): Only try the ProtectionSpace key'ed
2660           Credential if it does not match the initially used Credential.
2661         (WebCore::WebCoreSynchronousLoader::load):
2662
2663         Change ResourceHandleMac to try to use stored credentials on new connections, if appropriate:
2664         * platform/network/mac/ResourceHandleMac.mm:
2665         (WebCore::ResourceHandle::start):
2666         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Only try the ProtectionSpace key'ed
2667           Credential if it does not match the initially used Credential.
2668         (WebCore::ResourceHandle::receivedCredential):
2669         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Only try the 
2670           ProtectionSpace key'ed Credential if it does not match the initially used Credential.
2671         (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):
2672
2673         Add base64-ability to CString:
2674         * platform/text/CString.cpp:
2675         (WebCore::CStringBuffer::base64Encode):
2676         (WebCore::CString::base64Encode):
2677         * platform/text/CString.h:
2678         (WebCore::CStringBuffer::create):
2679         (WebCore::CStringBuffer::CStringBuffer):
2680
2681 2009-09-12  Mark Rowe  <mrowe@apple.com>
2682
2683         Reviewed by Dan Bernstein.
2684
2685         Fix <rdar://problem/6954546> Crashes in WebCore::RenderPart::setWidget below FrameLoader::loadPlugin.
2686
2687         The calls to FrameLoader::requestObject within RenderPartObject::updateWidget can result in a plug-in
2688         being initialized.  This can run cause arbitrary JavaScript to run and may result in the RenderPartObject
2689         being detached from the render tree and destroyed, causing a crash like <rdar://problem/6954546>.
2690
2691         No test is possible until <rdar://problem/7090444> is fixed.
2692
2693         * rendering/RenderPartObject.cpp:
2694         (WebCore::RenderPartObject::updateWidget): Ensure that we stay alive for the duration of plug-in initialization.
2695
2696 2009-09-12  Mark Rowe  <mrowe@apple.com>
2697
2698         Reviewed by Dan Bernstein.
2699
2700         Add RenderWidgetProtector to simplify protecting a RenderWidget from destruction for the
2701         duration of a function.  Deploy it within RenderWidget.
2702
2703         * rendering/RenderWidget.cpp:
2704         (WebCore::RenderWidget::setWidgetGeometry):
2705         (WebCore::RenderWidget::updateWidgetPosition): Use a RefPtr rather than explicitly
2706         ref'ing and deref'ing the node.
2707         * rendering/RenderWidget.h:
2708         * rendering/RenderWidgetProtector.h:
2709         (WebCore::RenderWidgetProtector::RenderWidgetProtector):
2710         (WebCore::RenderWidgetProtector::~RenderWidgetProtector):
2711
2712 2009-09-14  Cameron McCormack  <cam@mcc.id.au>
2713
2714         Reviewed by Eric Seidel.
2715
2716         CodeGenerator.pm needs some cleaning up
2717         https://bugs.webkit.org/show_bug.cgi?id=29238
2718
2719         * bindings/scripts/CodeGenerator.pm:
2720         (FindParentsRecursively): Removed; its functionality is now handled in
2721         AddMethodsConstantsAndAttributesFromParentClasses.
2722         (ForAllParents): New function that visits an interface's ancestors and
2723         invokes a callback for each one.
2724         (AddMethodsConstantsAndAttributesFromParentClasses): Simplified by using
2725         ForAllParents.
2726         (GetMethodsAndAttributesFromParentClasses): Ditto.
2727         (IDLFileForInterface): Factored out previous calls to ScanDirectory into
2728         this new function, which returns the filename containing a given IDL
2729         interface definition.
2730         (ParseInterface): Simplified by using IDLFileForInterface.
2731         (ScanDirectory): Removed in lieu of IDLFileForInterface.
2732         * bindings/scripts/CodeGeneratorV8.pm: Drop call to
2733         FindParentsRecursively and get the list of parents from the
2734         AddMethodsConstantsAndAttributesFromParentClasses call instead.
2735
2736 2009-09-14  Yael Aharon  <yael.aharon@nokia.com>
2737
2738         Reviewed by Tor Arne Vestbø.
2739
2740         [Qt] Assert hit when dropping a file in QtLauncher
2741         https://bugs.webkit.org/show_bug.cgi?id=29242
2742
2743         Qt's implementation of DropData::asURL does not return a URL encoded string
2744         as expected.
2745
2746         * platform/qt/DragDataQt.cpp:
2747         (WebCore::DragData::asURL):
2748
2749 2009-09-13  Kevin Ollivier  <kevino@theolliviers.com>
2750
2751         wx build fix, file was missed during TLS.cpp removal.
2752
2753         * page/wx/FrameWx.cpp: Added.
2754         (WebCore::Frame::dragImageForSelection):
2755
2756 2009-09-13  Anthony Ricaud  <rik@webkit.org>
2757
2758         Reviewed by Oliver Hunt.
2759
2760         Web Inspector: Add "New Style Rule" to the localizedStrings
2761         https://bugs.webkit.org/show_bug.cgi?id=29237
2762
2763         * English.lproj/localizedStrings.js:
2764
2765 2009-09-13  Kevin Watters  <kevinwatters@gmail.com>
2766
2767         Reviewed by Kevin Ollivier.
2768
2769         [wx] Implement filesystem functions.
2770
2771         https://bugs.webkit.org/show_bug.cgi?id=29196
2772
2773         * platform/wx/FileSystemWx.cpp:
2774         (WebCore::fileExists):
2775         (WebCore::deleteFile):
2776         (WebCore::deleteEmptyDirectory):
2777         (WebCore::getFileSize):
2778         (WebCore::getFileModificationTime):
2779         (WebCore::makeAllDirectories):
2780         (WebCore::pathByAppendingComponent):
2781         (WebCore::homeDirectoryPath):
2782         (WebCore::directoryName):
2783
2784 2009-09-12  Kevin Ollivier  <kevino@theolliviers.com>
2785
2786         wx build fixes for wx 2.9.
2787
2788         * platform/wx/ScrollbarThemeWx.cpp:
2789         * platform/wx/wxcode/gtk/scrollbar_render.cpp:
2790         (wxGetGdkWindowForDC):
2791
2792 2009-09-12  Oliver Hunt  <oliver@apple.com>
2793
2794         Reviewed by Maciej Stachowiak.
2795
2796         [ES5] Implement Object.keys
2797         https://bugs.webkit.org/show_bug.cgi?id=29170
2798
2799         Switch from getPropertyNames to getOwnPropertyNames, and provide custom
2800         getPropertyNames to DOMWindow, DOMWindowShell and QuarantinedObjectWrapper
2801         in order to ensure correct semantics are maintained.
2802
2803         Test: fast/js/Object-keys.html
2804
2805         * bindings/js/JSDOMWindowCustom.cpp:
2806         (WebCore::JSDOMWindow::getOwnPropertyNames):
2807         * bindings/js/JSDOMWindowShell.cpp:
2808         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
2809         * bindings/js/JSDOMWindowShell.h:
2810         * bindings/js/JSHistoryCustom.cpp:
2811         (WebCore::JSHistory::getOwnPropertyNames):
2812         * bindings/js/JSLocationCustom.cpp:
2813         (WebCore::JSLocation::getOwnPropertyNames):
2814         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2815         (WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
2816         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyNames):
2817         * bindings/js/JSQuarantinedObjectWrapper.h:
2818         * bindings/js/JSStorageCustom.cpp:
2819         (WebCore::JSStorage::getOwnPropertyNames):
2820         * bindings/scripts/CodeGeneratorJS.pm:
2821         * bridge/runtime_object.cpp:
2822         (JSC::RuntimeObjectImp::getPropertyNames):
2823         (JSC::RuntimeObjectImp::getOwnPropertyNames):
2824         * bridge/runtime_object.h:
2825
2826 2009-09-12  Sam Weinig  <sam@webkit.org>
2827
2828         Reviewed by Anders Carlsson.
2829
2830         Fix for https://bugs.webkit.org/show_bug.cgi?id=29219
2831         Document.elementFromPoint() should take page scroll into consideration
2832
2833         Test: fast/dom/elementFromPoint-relative-to-viewport.html
2834
2835         * dom/Document.cpp:
2836         (WebCore::Document::elementFromPoint):
2837         (WebCore::Document::caretRangeFromPoint):
2838
2839 2009-09-12  Sam Weinig  <sam@webkit.org>
2840
2841         Reviewed by Maciej Stachowiak.
2842
2843         Fix for https://bugs.webkit.org/show_bug.cgi?id=29217
2844         Document.caretRangeFromPoint should take the scroll offset into account before hit testing
2845
2846         In accordance with the CSSOM View Module spec, Document.caretRangeFromPoint should interpret
2847         the point passed to it as relative to the viewport, not the document.
2848
2849         Test: fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport.html
2850
2851         * dom/Document.cpp:
2852         (WebCore::Document::caretRangeFromPoint):
2853
2854 2009-09-11  Chris Marrin  <cmarrin@apple.com>
2855
2856         Reviewed by Oliver Hunt.
2857
2858         Added some manual tests to show WebGL in action
2859         https://bugs.webkit.org/show_bug.cgi?id=29215
2860
2861         * manual-tests/webgl: Added.
2862         * manual-tests/webgl/Earth.html: Added.
2863         * manual-tests/webgl/ManyPlanetsDeep.html: Added.
2864         * manual-tests/webgl/SpinningBox.html: Added.
2865         * manual-tests/webgl/TeapotPerPixel.html: Added.
2866         * manual-tests/webgl/TeapotPerVertex.html: Added.
2867         * manual-tests/webgl/resources: Added.
2868         * manual-tests/webgl/resources/CanvasMatrix.js: Added.
2869         * manual-tests/webgl/resources/earthmap1k.jpg: Added.
2870         * manual-tests/webgl/resources/mars500x250.png: Added.
2871         * manual-tests/webgl/resources/teapot.obj: Added.
2872         * manual-tests/webgl/resources/utils3d.js: Added.
2873  
2874 2009-09-10  Chris Fleizach  <cfleizach@apple.com>
2875
2876         Reviewed by Darin Adler.
2877
2878         aria definition role spelled wrong "defintion"
2879         https://bugs.webkit.org/show_bug.cgi?id=28840
2880
2881         Test: accessibility/aria-slider-value-change.html
2882
2883         * accessibility/AccessibilityRenderObject.cpp:
2884         (WebCore::RoleEntry::):
2885
2886 2009-09-11  Erik Arvidsson  <arv@chromium.org>
2887
2888         Reviewed by Eric Seidel.
2889
2890         Fixes an assert in Node::isFocusable which was causing crashes in certain cases.
2891         https://bugs.webkit.org/show_bug.cgi?id=29210
2892
2893         * dom/Node.cpp:
2894         (WebCore::Node::isFocusable):
2895
2896 2009-09-11  Chris Marrin  <cmarrin@apple.com>
2897
2898         Reviewed by Oliver Hunt.
2899
2900         Added variants to uniform* and vertexAttrib* calls which take sequence<> in place of CanvasArray
2901         https://bugs.webkit.org/show_bug.cgi?id=29139
2902         
2903         I also added a data() call to each of the CanvasArray subclasses to give back a types pointer
2904         to the baseAddress().
2905
2906         * Configurations/FeatureDefines.xcconfig:
2907         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
2908         (WebCore::toArray):
2909         (WebCore::):
2910         (WebCore::dataFunctionf):
2911         (WebCore::dataFunctioni):
2912         (WebCore::dataFunctionMatrix):
2913         (WebCore::JSCanvasRenderingContext3D::uniform1fv):
2914         (WebCore::JSCanvasRenderingContext3D::uniform1iv):
2915         (WebCore::JSCanvasRenderingContext3D::uniform2fv):
2916         (WebCore::JSCanvasRenderingContext3D::uniform2iv):
2917         (WebCore::JSCanvasRenderingContext3D::uniform3fv):
2918         (WebCore::JSCanvasRenderingContext3D::uniform3iv):
2919         (WebCore::JSCanvasRenderingContext3D::uniform4fv):
2920         (WebCore::JSCanvasRenderingContext3D::uniform4iv):
2921         (WebCore::JSCanvasRenderingContext3D::uniformMatrix2fv):
2922         (WebCore::JSCanvasRenderingContext3D::uniformMatrix3fv):
2923         (WebCore::JSCanvasRenderingContext3D::uniformMatrix4fv):
2924         (WebCore::JSCanvasRenderingContext3D::vertexAttrib1fv):
2925         (WebCore::JSCanvasRenderingContext3D::vertexAttrib2fv):
2926         (WebCore::JSCanvasRenderingContext3D::vertexAttrib3fv):
2927         (WebCore::JSCanvasRenderingContext3D::vertexAttrib4fv):
2928         * html/canvas/CanvasByteArray.h:
2929         (WebCore::CanvasByteArray::data):
2930         * html/canvas/CanvasFloatArray.h:
2931         (WebCore::CanvasFloatArray::data):
2932         * html/canvas/CanvasIntArray.h:
2933         (WebCore::CanvasIntArray::data):
2934         * html/canvas/CanvasRenderingContext3D.cpp:
2935         (WebCore::CanvasRenderingContext3D::uniform1fv):
2936         (WebCore::CanvasRenderingContext3D::uniform1iv):
2937         (WebCore::CanvasRenderingContext3D::uniform2fv):
2938         (WebCore::CanvasRenderingContext3D::uniform2iv):
2939         (WebCore::CanvasRenderingContext3D::uniform3fv):
2940         (WebCore::CanvasRenderingContext3D::uniform3iv):
2941         (WebCore::CanvasRenderingContext3D::uniform4fv):
2942         (WebCore::CanvasRenderingContext3D::uniform4iv):
2943         (WebCore::CanvasRenderingContext3D::uniformMatrix2fv):
2944         (WebCore::CanvasRenderingContext3D::uniformMatrix3fv):
2945         (WebCore::CanvasRenderingContext3D::uniformMatrix4fv):
2946         (WebCore::CanvasRenderingContext3D::vertexAttrib1fv):
2947         (WebCore::CanvasRenderingContext3D::vertexAttrib2fv):
2948         (WebCore::CanvasRenderingContext3D::vertexAttrib3fv):
2949         (WebCore::CanvasRenderingContext3D::vertexAttrib4fv):
2950         * html/canvas/CanvasRenderingContext3D.h:
2951         * html/canvas/CanvasRenderingContext3D.idl:
2952         * html/canvas/CanvasShortArray.h:
2953         (WebCore::CanvasShortArray::data):
2954         * html/canvas/CanvasUnsignedByteArray.h:
2955         (WebCore::CanvasUnsignedByteArray::data):
2956         * html/canvas/CanvasUnsignedIntArray.h:
2957         (WebCore::CanvasUnsignedIntArray::data):
2958         * html/canvas/CanvasUnsignedShortArray.h:
2959         (WebCore::CanvasUnsignedShortArray::data):
2960         * platform/graphics/GraphicsContext3D.h:
2961         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2962         (WebCore::GraphicsContext3D::uniform1fv):
2963         (WebCore::GraphicsContext3D::uniform2fv):
2964         (WebCore::GraphicsContext3D::uniform3fv):
2965         (WebCore::GraphicsContext3D::uniform4fv):
2966         (WebCore::GraphicsContext3D::uniform1iv):
2967         (WebCore::GraphicsContext3D::uniform2iv):
2968         (WebCore::GraphicsContext3D::uniform3iv):
2969         (WebCore::GraphicsContext3D::uniform4iv):
2970         (WebCore::GraphicsContext3D::uniformMatrix2fv):
2971         (WebCore::GraphicsContext3D::uniformMatrix3fv):
2972         (WebCore::GraphicsContext3D::uniformMatrix4fv):
2973         (WebCore::GraphicsContext3D::vertexAttrib1fv):
2974         (WebCore::GraphicsContext3D::vertexAttrib2fv):
2975         (WebCore::GraphicsContext3D::vertexAttrib3fv):
2976         (WebCore::GraphicsContext3D::vertexAttrib4fv):
2977
2978 2009-09-11  Fumitoshi Ukai  <ukai@chromium.org>
2979
2980         Reviewed by Eric Seidel.
2981
2982         Add ENABLE(WEB_SOCKETS) guards.
2983         https://bugs.webkit.org/show_bug.cgi?id=29174
2984
2985         * bindings/v8/custom/V8WebSocketCustom.cpp:
2986
2987 2009-09-11  Eric Seidel  <eric@webkit.org>
2988
2989         No review, rolling out r48229.
2990         http://trac.webkit.org/changeset/48229
2991
2992         * WebCore.base.exp:
2993         * dom/Clipboard.cpp:
2994         (WebCore::Clipboard::Clipboard):
2995         (WebCore::Clipboard::sourceOperation):
2996         * page/DragController.cpp:
2997         (WebCore::DragController::DragController):
2998         (WebCore::DragController::dragExited):
2999         (WebCore::DragController::performDrag):
3000         (WebCore::DragController::dragEnteredOrUpdated):
3001         (WebCore::DragController::tryDHTMLDrag):
3002         (WebCore::DragController::startDrag):
3003         * page/DragController.h:
3004         * page/EventHandler.cpp:
3005         (WebCore::EventHandler::updateDragAndDrop):
3006         (WebCore::EventHandler::dragSourceMovedTo):
3007         (WebCore::EventHandler::handleDrag):
3008         * page/EventHandler.h:
3009
3010 2009-09-11  Michelangelo De Simone  <micdesim@gmail.com>
3011
3012         Fix the build.
3013
3014         * html/ValidityState.cpp:
3015         (WebCore::ValidityState::typeMismatch):
3016
3017 2009-09-11  Michelangelo De Simone  <micdesim@gmail.com>
3018
3019         Reviewed by Antti Koivisto.
3020
3021         https://bugs.webkit.org/show_bug.cgi?id=27456
3022         Added support for static validation of url in
3023         ValidityState, for url state inputs.
3024         From HTML5 specs:
3025         http://www.whatwg.org/specs/web-apps/current-work/#url-state
3026
3027         Test: fast/forms/ValidityState-typeMismatch-url.html
3028
3029         * html/ValidityState.cpp:
3030         (WebCore::ValidityState::typeMismatch):
3031
3032 2009-09-11  Evan Stade  <estade@chromium.org>
3033
3034         Reviewed by Darin Adler.
3035
3036         Revert r47992: Expose functions to change the focus ring color for
3037         Linux Chromium.
3038
3039         As Darin Fisher has pointed out, there is a better way to do this.
3040
3041         * rendering/RenderThemeChromiumLinux.cpp:
3042         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
3043         * rendering/RenderThemeChromiumLinux.h:
3044
3045 2009-09-11  Alexey Proskuryakov  <ap@webkit.org>
3046
3047         Reviewed by Geoff Garen.
3048
3049         https://bugs.webkit.org/show_bug.cgi?id=29207
3050         Add checks for using WebCore JS context on secondary threads
3051
3052         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData):
3053         Set the new debug-only mainThreadOnly flag.
3054
3055 2009-09-11  Brian Weinstein  <bweinstein@apple.com>
3056
3057         Reviewed by Timothy Hatcher.
3058
3059         The inspector should have scope bars.
3060         https://bugs.webkit.org/show_bug.cgi?id=14353
3061         
3062         Add scope bars to the console, so the user can choose which category
3063         of messages they want to see (All, Errors, Warnings, Logs), and they
3064         can choose from one or more of {Errors, Warnings, Logs}.
3065
3066         * inspector/front-end/ConsoleView.js:
3067         (WebInspector.ConsoleView.createFilterElement):
3068         (WebInspector.ConsoleView):
3069         (WebInspector.ConsoleView.prototype._updateFilter):
3070         (WebInspector.ConsoleView.prototype.filter):
3071         (WebInspector.ConsoleView.prototype.attach):
3072         * inspector/front-end/inspector.css:
3073         * inspector/front-end/inspector.html:
3074
3075 2009-09-11  Yusuke Sato  <yusukes@chromium.org>
3076
3077         Reviewed by Darin Fisher.
3078
3079         [Chromium] Complex text doesn't show up with text stroking
3080         https://bugs.webkit.org/show_bug.cgi?id=28707
3081
3082         Added extra NULL checks for HDC. This is the second fix for issue 28707,
3083         and the fix is similar to http://trac.webkit.org/changeset/45482.
3084
3085         * platform/graphics/chromium/FontChromiumWin.cpp:
3086         (WebCore::Font::drawComplexText):
3087         * platform/graphics/chromium/UniscribeHelper.cpp:
3088         (WebCore::UniscribeHelper::draw):
3089
3090 2009-09-11  Cameron McCormack  <cam@mcc.id.au>
3091
3092         Reviewed by Eric Seidel.
3093
3094         Make ElementTimeControl methods return void and not throw.
3095         https://bugs.webkit.org/show_bug.cgi?id=28831
3096
3097         SVG 1.1 erratum:
3098         http://www.w3.org/2003/01/REC-SVG11-20030114-errata#elementtimecontrol-interface
3099
3100         Test: svg/dom/smil-methods.svg
3101
3102         * svg/ElementTimeControl.h: Change return type from bool to void and remove exception argument.
3103         * svg/ElementTimeControl.idl: Change return type from bool to void and remove raises claus.
3104         * svg/SVGAnimationElement.cpp:
3105         (WebCore::SVGAnimationElement::beginElement): Change return type from bool to void and remove exception argument.
3106         (WebCore::SVGAnimationElement::beginElementAt): Ditto.
3107         (WebCore::SVGAnimationElement::endElement): Ditto.
3108         (WebCore::SVGAnimationElement::endElementAt): Ditto.
3109         * svg/SVGAnimationElement.h: Ditto.
3110
3111 2009-09-11  Chris Marrin  <cmarrin@apple.com>
3112
3113         Reviewed by Oliver Hunt.
3114
3115         Added support for texImage2D which takes CanvasArray
3116         https://bugs.webkit.org/show_bug.cgi?id=29191
3117
3118         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
3119         (WebCore::JSCanvasRenderingContext3D::texImage2D):
3120         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3121         (WebCore::GraphicsContext3D::texImage2D):
3122
3123 2009-09-11  Steve Falkenburg  <sfalken@apple.com>
3124
3125         Reviewed by Darin Adler.
3126
3127         Allow WebKit clients to opt out of high resolution timers on Windows.
3128         https://bugs.webkit.org/show_bug.cgi?id=29192
3129
3130         * page/Settings.cpp:
3131         (WebCore::Settings::setShouldUseHighResolutionTimers): Added.
3132         * page/Settings.h: Added getter/setter for shouldUseHighResolutionTimers.
3133         (WebCore::Settings::shouldUseHighResolutionTimers): Added.
3134         * platform/win/SharedTimerWin.cpp:
3135         (WebCore::setSharedTimerFireTime): Don't run high resolution timer code if it is disabled.
3136
3137 2009-09-11  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
3138
3139         Reviewed by Adam Barth.
3140
3141         [v8] Share persistent context handles between events        
3142         Change events to use a single ref-counted shared persistent handle
3143         to the context in which to run, rather than create a new
3144         persistent handle for each new event which puts pressure on the
3145         gc.
3146         
3147         https://bugs.webkit.org/show_bug.cgi?id=29077
3148
3149         * bindings/v8/ScheduledAction.cpp:
3150         (WebCore::ScheduledAction::execute):
3151         * bindings/v8/SharedPersistent.h: Added.
3152         (WebCore::SharedPersistent::set):
3153         (WebCore::SharedPersistent::get):
3154         (WebCore::SharedPersistent::disposeHandle):
3155         (WebCore::SharedPersistent::create):
3156         (WebCore::SharedPersistent::SharedPersistent):
3157         * bindings/v8/V8AbstractEventListener.cpp:
3158         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
3159         (WebCore::V8AbstractEventListener::handleEvent):
3160         * bindings/v8/V8AbstractEventListener.h:
3161         * bindings/v8/V8IsolatedWorld.cpp:
3162         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
3163         (WebCore::V8IsolatedWorld::~V8IsolatedWorld):
3164         * bindings/v8/V8IsolatedWorld.h:
3165         (WebCore::V8IsolatedWorld::context):
3166         (WebCore::V8IsolatedWorld::shared_context):
3167         * bindings/v8/V8Proxy.cpp:
3168         (WebCore::V8Proxy::evaluateInNewContext):
3169         (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
3170         (WebCore::V8Proxy::isContextInitialized):
3171         (WebCore::V8Proxy::updateDocumentWrapperCache):
3172         (WebCore::V8Proxy::clearDocumentWrapperCache):
3173         (WebCore::V8Proxy::disposeContextHandles):
3174         (WebCore::V8Proxy::clearForClose):
3175         (WebCore::V8Proxy::clearForNavigation):
3176         (WebCore::V8Proxy::setSecurityToken):
3177         (WebCore::V8Proxy::updateDocument):
3178         (WebCore::V8Proxy::initContextIfNeeded):
3179         (WebCore::V8Proxy::shared_context):
3180         (WebCore::V8Proxy::mainWorldContext):
3181         (WebCore::V8Proxy::setContextDebugId):
3182         * bindings/v8/V8Proxy.h:
3183         (WebCore::V8Proxy::V8Proxy):
3184         (WebCore::V8Proxy::context):
3185         (WebCore::V8Proxy::shared_context):
3186
3187 2009-09-11  Anton Muhin  <antonm@chromium.org>
3188
3189         Reviewed by David Levin.
3190
3191         Create a real handle (one which would save an object from GC).
3192         https://bugs.webkit.org/show_bug.cgi?id=29150
3193
3194         * bindings/v8/V8Binding.cpp:
3195         (WebCore::v8ExternalString):
3196
3197 2009-09-11  Anton Muhin  <antonm@chromium.org>
3198
3199         Reviewed by David Levin.
3200
3201         Inline WebCore::v8String as it only invokes WebCore::v8ExternalString.
3202         https://bugs.webkit.org/show_bug.cgi?id=29152
3203
3204         * bindings/v8/V8Binding.cpp:
3205         * bindings/v8/V8Binding.h:
3206         (WebCore::v8String):
3207
3208 2009-09-11  Ariya Hidayat  <ariya.hidayat@nokia.com>
3209
3210         Reviewed by Simon Hausmann.
3211
3212         Changed URLs from qtsoftware.com to qt.nokia.com, as part of a general
3213         renaming.
3214
3215         * ChangeLog-2009-06-16:
3216
3217 2009-09-11  Thiago Macieira  <thiago.macieira@nokia.com>
3218
3219         Reviewed by Simon Hausmann.
3220
3221         Use LIBS_PRIVATE on Qt/Mac.
3222
3223         On the Mac, it means "-framework ApplicationServices -framework Carbon
3224         -framework AppKit" are no longer part of the default LIBS in Qt
3225         applications. This required a lot of fixes where we used Mac-specific
3226         code in Qt.
3227
3228         * WebCore.pro:
3229
3230 2009-09-11  Cameron McCormack  <cam@mcc.id.au>
3231
3232         Reviewed by Eric Seidel.
3233
3234         Remove duplicated WK_{u,l}cfirst subs from CodeGeneratorV8.pm
3235         https://bugs.webkit.org/show_bug.cgi?id=29165
3236
3237         * bindings/scripts/CodeGeneratorV8.pm: Remove WK_ucfirst and
3238         WK_lcfirst, and call the ones in CodeGenerator.pm instead.
3239
3240 2009-09-11  Yongjun Zhang  <yongjun.zhang@nokia.com>
3241
3242         Reviewed by Darin Adler.
3243
3244         https://bugs.webkit.org/show_bug.cgi?id=29132
3245         Symbian winscw compiler fails compiling WebCore/text/RegularExpression.cpp.
3246
3247         Add RegularExpression class qualifier before Private.
3248
3249         * platform/text/RegularExpression.cpp:
3250
3251 2009-09-11  Yongjun Zhang  <yongjun.zhang@nokia.com>
3252
3253         Reviewed by Darin Adler.
3254
3255         https://bugs.webkit.org/show_bug.cgi?id=29131
3256         Use a different variadic macro format for Symbian compiler.
3257         
3258         Use arg... instead of ellipsis in variadic macro.        
3259
3260         * platform/StaticConstructors.h:
3261
3262 2009-09-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3263
3264         Reviewed by Simon Hausmann.
3265
3266         https://bugs.webkit.org/show_bug.cgi?id=28806
3267
3268         [Qt] Make the WebInspector available as a QWidget.
3269
3270         * WebCore.pro:
3271
3272 2009-09-11  Simon Hausmann  <simon.hausmann@nokia.com>
3273
3274         Unreviewed fix for the Web Inspector with the Qt build.
3275
3276         Re-generate the Qt resource file by running
3277         WebKitTools/Scripts/generate-qt-inspector-resource
3278
3279         * inspector/front-end/WebKit.qrc:
3280
3281 2009-09-11  Simon Hausmann  <simon.hausmann@nokia.com>
3282
3283         Fix the Qt build, remove stray semicolon from function definition.
3284
3285         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3286         (WebCore::MediaPlayerPrivate::buffered):
3287
3288 2009-09-10  Adam Barth  <abarth@webkit.org>
3289
3290         Reviewed by Sam Weinig.
3291
3292         Detect mixed content
3293         https://bugs.webkit.org/show_bug.cgi?id=29003
3294
3295         Detect some basic kinds of mixed content (HTTP content loaded into an
3296         HTTPS context).  This new detection logic isn't perfect, but it's a
3297         place to start.
3298
3299         Tests: http/tests/security/mixedContent/about-blank-iframe-in-main-frame.html
3300                http/tests/security/mixedContent/data-url-iframe-in-main-frame.html
3301                http/tests/security/mixedContent/data-url-script-in-iframe.html
3302                http/tests/security/mixedContent/insecure-css-in-iframe.html
3303                http/tests/security/mixedContent/insecure-css-in-main-frame.html
3304                http/tests/security/mixedContent/insecure-iframe-in-iframe.html
3305                http/tests/security/mixedContent/insecure-iframe-in-main-frame.html
3306                http/tests/security/mixedContent/insecure-image-in-iframe.html
3307                http/tests/security/mixedContent/insecure-image-in-main-frame.html
3308                http/tests/security/mixedContent/insecure-script-in-iframe.html
3309                http/tests/security/mixedContent/redirect-http-to-https-iframe-in-main-frame.html
3310                http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe.html
3311                http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame.html
3312                http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html
3313
3314         * loader/DocLoader.cpp:
3315         (WebCore::DocLoader::canRequest):
3316         (WebCore::DocLoader::requestResource):
3317         (WebCore::DocLoader::checkCacheObjectStatus):
3318         * loader/FrameLoader.cpp:
3319         (WebCore::FrameLoader::isMixedContent):
3320         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
3321         (WebCore::FrameLoader::checkIfRunInsecureContent):
3322         * loader/FrameLoader.h:
3323         * loader/MainResourceLoader.cpp:
3324         (WebCore::MainResourceLoader::willSendRequest):
3325
3326 2009-09-10  Mark Rowe  <mrowe@apple.com>
3327
3328         Fix the Windows build.
3329
3330         Restore platform/mock to the header search path after it was removed in r48270.
3331
3332         * WebCore.vcproj/WebCoreCommon.vsprops:
3333
3334 2009-09-08  Timothy Hatcher  <timothy@apple.com>
3335
3336         Web Inspector: Move the option to create a new style rule under the Styles' gear menu.
3337
3338         https://bugs.webkit.org/show_bug.cgi?id=29039
3339
3340         Reviewed by Sam Weinig.
3341
3342         * inspector/front-end/StylesSidebarPane.js:
3343         (WebInspector.StylesSidebarPane): Add "New Style Rule" option to the gear menu.
3344         (WebInspector.StylesSidebarPane.prototype._update): Check instanceof BlankStylePropertiesSection instead.
3345         (WebInspector.StylesSidebarPane.prototype._changeSetting): Added. Keeps the color format setting selected
3346         while calling the correct action.
3347         (WebInspector.StylesSidebarPane.prototype._createNewRule): Creates a new section and edits the selector.
3348         (WebInspector.StylesSidebarPane.prototype.addBlankSection): Insert the section in a cleaner way.
3349         (WebInspector.StylesSidebarPane.prototype.removeSection): Added. Removes the passed in section.
3350         (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): Return an empty string if there is no node.
3351         (WebInspector.StylePropertiesSection.prototype.expand): Removed the check for _blank.
3352         (WebInspector.StylePropertiesSection.prototype.startEditingSelector): No need for the context, the original selector
3353         is remembered by the editing code.
3354         (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled): Do nothing. The original text is already
3355         restored by the editing code.
3356         (WebInspector.BlankStylePropertiesSection): Call the StylePropertiesSection constructor with appropriate data.
3357         Remove event listener code.
3358         (WebInspector.BlankStylePropertiesSection.prototype.expand): Added. Does nothing to prevent expanding.
3359         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.callback): Correctly construct the
3360         WebInspector.CSSStyleDeclaration. Call editingSelectorCancelled instead of editingCancelled.
3361         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): Renamed from editingCommitted to
3362         override the base class.
3363         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCancelled): Remove the section.
3364         (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): Removed event listener code. Removed the delete lines
3365         since they were doing nothing (deleting nonexistent properties that exist only on the prototype.) Change prototypes at
3366         the end to correctly swtich to a real StylePropertiesSection.
3367         * inspector/front-end/inspector.js:
3368         (WebInspector.startEditing.editingCancelled): Ceck for null/undefined callbacks.
3369         (WebInspector.startEditing.editingCommitted): Ditto.
3370
3371 2009-09-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3372
3373         Reviewed by Eric Seidel.
3374
3375         [Qt] Fix comparison between signed and unsigned integer warnings
3376         https://bugs.webkit.org/show_bug.cgi?id=29162
3377
3378         No functional change.
3379
3380         * bridge/qt/qt_runtime.cpp:
3381         (JSC::Bindings::findMethodIndex):
3382         * platform/MIMETypeRegistry.cpp:
3383         (WebCore::initializeSupportedImageMIMETypes):
3384         (WebCore::initializeSupportedImageMIMETypesForEncoding):
3385         * platform/graphics/qt/GraphicsContextQt.cpp:
3386         (WebCore::GraphicsContext::drawFocusRing):
3387         * platform/graphics/qt/ImageDecoderQt.cpp:
3388         (WebCore::ImageDecoderQt::duration):
3389         (WebCore::ImageDecoderQt::imageAtIndex):
3390         * plugins/qt/PluginPackageQt.cpp:
3391         (WebCore::PluginPackage::fetchInfo):
3392
3393 2009-09-10  Martin Robinson  <martin.james.robinson@gmail.com>
3394
3395         Reviewed by Gustavo Noronha.
3396
3397         Build fix for GTK+ after r48267.
3398
3399         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3400         (WebCore::MediaPlayerPrivate::buffered):
3401
3402 2009-09-08  John Abd-El-Malek  <jam@chromium.org>
3403
3404         Reviewed by Dimitri Glazkov.
3405
3406         Remove unneeded define for ActiveX.
3407         https://bugs.webkit.org/show_bug.cgi?id=29054
3408
3409         * rendering/RenderPartObject.cpp:
3410         (WebCore::createClassIdToTypeMap):
3411         (WebCore::serviceTypeForClassId):
3412         (WebCore::RenderPartObject::updateWidget):
3413
3414 2009-09-10  Mark Rowe  <mrowe@apple.com>
3415
3416         Rubber-stamped by Sam Weinig.
3417
3418         Don't copy IDL files in to the built framework.
3419
3420         * WebCore.xcodeproj/project.pbxproj:
3421
3422 2009-09-10  Xiaomei Ji  <xji@chromium.org>
3423
3424         Reviewed by Eric Seidel.
3425
3426         Implment Range.expand().
3427         https://bugs.webkit.org/show_bug.cgi?id=27632
3428
3429         Test: fast/dom/Range/range-expand.html
3430
3431         * dom/Range.cpp:
3432         (WebCore::Range::expand):
3433         * dom/Range.h:
3434         * dom/Range.idl:
3435
3436 2009-09-10  Fumitoshi Ukai  <ukai@chromium.org>
3437
3438         Reviewed by Alexey Proskuryakov.
3439
3440         WebSocket API implementation.
3441         https://bugs.webkit.org/show_bug.cgi?id=28038
3442         
3443         Add build systems for GNUmakefile.am, WebCore.xcodeproj and
3444         WebCore.vcproj.
3445         Add websockets directory and WebSocket.idl in qt build system.
3446         Tests will be landed once the code is completed and functional.
3447
3448         * DerivedSources.cpp:
3449         * GNUmakefile.am:
3450         * WebCore.pro:
3451         * WebCore.vcproj/WebCore.vcproj:
3452         * WebCore.vcproj/WebCoreCommon.vsprops:
3453         * WebCore.xcodeproj/project.pbxproj:
3454         * bindings/js/JSDOMWindowCustom.cpp:
3455         (WebCore::JSDOMWindow::webSocket):
3456         * bindings/js/JSEventTarget.cpp:
3457         (WebCore::toJS):
3458         (WebCore::toEventTarget):
3459         * dom/EventTarget.cpp:
3460         (WebCore::EventTarget::toWebSocket):
3461         * dom/EventTarget.h:
3462         * page/DOMWindow.idl:
3463         * websockets/WebSocket.cpp:
3464         (WebCore::ProcessWebSocketEventTask::create):
3465         (WebCore::ProcessWebSocketEventTask::performTask):
3466         (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
3467         (WebCore::isValidProtocolString):
3468         (WebCore::WebSocket::connect):
3469         (WebCore::WebSocket::send):
3470         (WebCore::WebSocket::close):
3471         (WebCore::WebSocket::bufferedAmount):
3472         (WebCore::WebSocket::addEventListener):
3473         (WebCore::WebSocket::removeEventListener):
3474         (WebCore::WebSocket::dispatchEvent):
3475         (WebCore::WebSocket::didConnect):
3476         (WebCore::WebSocket::didReceiveMessage):
3477         (WebCore::WebSocket::didClose):
3478         (WebCore::WebSocket::dispatchOpenEvent):
3479         (WebCore::WebSocket::dispatchMessageEvent):
3480         (WebCore::WebSocket::dispatchCloseEvent):
3481         * websockets/WebSocket.h:
3482         (WebCore::WebSocket::create):
3483         (WebCore::WebSocket::):
3484         (WebCore::WebSocket::setOnopen):
3485         (WebCore::WebSocket::onopen):
3486         (WebCore::WebSocket::setOnmessage):
3487         (WebCore::WebSocket::onmessage):
3488         (WebCore::WebSocket::setOnclose):
3489         (WebCore::WebSocket::onclose):
3490         (WebCore::WebSocket::toWebSocket):
3491         (WebCore::WebSocket::eventListeners):
3492         (WebCore::WebSocket::refEventTarget):
3493         (WebCore::WebSocket::derefEventTarget):
3494         * websockets/WebSocketChannel.cpp: Added.
3495         * websockets/WebSocketChannel.h: Added.
3496         * websockets/WebSocketChannelClient.h: Added.
3497         * websockets/WebSocketHandshake.cpp: Added.
3498         * websockets/WebSocketHandshake.h: Added.
3499
3500 2009-09-10  Albert J. Wong  <ajwong@chromium.org>
3501
3502         No review, windows build fix only.
3503         
3504         Spurious semicolon causing parse error in chromium build on windows.
3505
3506         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3507         (WebCore::MediaPlayerPrivate::buffered):
3508
3509 2009-09-10  Albert J. Wong  <ajwong@chromium.org>
3510
3511         No review, build fix only.
3512
3513         Adding in a missed include from the last patch that is breaking the
3514         chromium build.
3515
3516         * rendering/RenderThemeChromiumMac.mm: include TimeRanges.h
3517
3518 2009-09-10  Alpha Lam  <hclam@chromium.org>
3519
3520         Reviewed by Eric Carlson.
3521
3522         HTMLMediaElement buffered attribute should report a list of time ranges
3523         https://bugs.webkit.org/show_bug.cgi?id=29041
3524
3525         Changed MediaPlayerPrivateInterface and MediaPlayer's definition to
3526         report a list of buffered time ranges as WebCore::TimeRanges. This
3527         change also got rid of the maxTimeBuffered() method.
3528
3529         No new tests since this is a API change.
3530
3531         * html/HTMLMediaElement.cpp:
3532         (WebCore::HTMLMediaElement::percentLoaded):
3533         Use MediaPlaier::buffered() instead of maxTimeBuffered().
3534         (WebCore::HTMLMediaElement::buffered):
3535         ditto.
3536         * platform/graphics/MediaPlayer.cpp:
3537         (WebCore::NullMediaPlayerPrivate::buffered):
3538         Use MediaPlayerPrivateInterface::buffered() instead of maxTimeBuffered().
3539         (WebCore::MediaPlayer::buffered):
3540         ditto.
3541         * platform/graphics/MediaPlayer.h:
3542         Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
3543         * platform/graphics/MediaPlayerPrivate.h:
3544         ditto.
3545         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3546         Implements PassRefPtr<TimeRanges> buffered();
3547         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3548         Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
3549         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3550         Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
3551         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3552         (WebCore::MediaPlayerPrivate::buffered):
3553         Implementation of buffered().
3554         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3555         Implements PassRefPtr<TimeRanegs> buffered().
3556         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
3557         Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
3558         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3559         Implements PassRefPtr<TimeRanges> buffered().
3560         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
3561         Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
3562         * platform/graphics/wince/MediaPlayerPrivateWince.h:
3563         ditto.
3564         * rendering/RenderThemeChromiumMac.mm:
3565         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
3566         Use buffered() instead of maxTimeBuffered().
3567         * rendering/RenderThemeChromiumSkia.cpp:
3568         ditto.
3569         * rendering/RenderThemeMac.mm:
3570         (WebCore::RenderThemeMac::paintMediaSliderTrack):
3571         ditto.
3572
3573 2009-09-10  Cameron McCormack  <cam@mcc.id.au>
3574
3575         Reviewed by Eric Seidel.
3576
3577         Make bindings generators more aware of IDL dependencies
3578         https://bugs.webkit.org/show_bug.cgi?id=29114
3579
3580         Make the JS and ObjC bindings generators able to output dependency
3581         rules for DerivedSources.make to consume.  These rules make a given
3582         generated binding class file header, JSWhatever.h, depend on Whatever's
3583         ancestor interfaces.
3584
3585         * DerivedSources.make: Pass --write-dependencies to generate-bindings.pl
3586         when generating JS and ObjC bindings.  Include dependency fies that are
3587         generated due to that.
3588         * bindings/scripts/CodeGenerator.pm: Make
3589         AddMethodsConstantsAndAttributesFromParentClasses accumulate a list of
3590         the ancestor interfaces that were visited.
3591         * bindings/scripts/CodeGeneratorJS.pm: Optionally write out a dependency
3592         file.
3593         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
3594         * bindings/scripts/generate-bindings.pl: Add a --write-dependencies
3595         option.
3596
3597 2009-09-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3598
3599         Reviewed by Xan Lopez and Dan Winship.
3600
3601         Give all requests to libsoup, to let it queue, and schedule them
3602     &nbs