Adding myself to committers.py.
[WebKit-https.git] / WebCore / ChangeLog
1 2009-10-19  Dmitry Titov  <dimich@chromium.org>
2
3         Reviewed by Darin Adler.
4
5         Manual Test for crash caused by JS accessing DOMWindow which is disconnected from the Frame.
6         https://bugs.webkit.org/show_bug.cgi?id=30544
7
8         * manual-tests/crash-on-accessing-domwindow-without-frame.html: Added.
9
10 2009-10-19  Simon Fraser  <simon.fraser@apple.com>
11
12         Reviewed by Darin Adler.
13
14         Flash at end of opacity/transform transition sometimes
15         https://bugs.webkit.org/show_bug.cgi?id=30501
16         
17         When a transition finishes, there window of time between when the animation is
18         removed, and the final style set on the GraphicsLayer. This caused the layer to revert
19         to its old appearance for one or two frames. To avoid this, we set the final
20         transform or opacity at the start of the transition; we know that the animation
21         will override the final value for as long as its running.
22         
23         No test because this is a very transient effect that can't be captured
24         in a test.
25
26         * rendering/RenderLayerBacking.cpp:
27         (WebCore::RenderLayerBacking::createGraphicsLayer):
28         (WebCore::RenderLayerBacking::updateLayerOpacity):
29         (WebCore::RenderLayerBacking::updateLayerTransform):
30         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
31         (WebCore::RenderLayerBacking::startTransition):
32         * rendering/RenderLayerBacking.h:
33
34 2009-10-19  Pavel Feldman  <pfeldman@chromium.org>
35
36         Reviewed by Timothy Hatcher.
37
38         Web Inspector: Add more stop characters into console completions.
39
40         https://bugs.webkit.org/show_bug.cgi?id=30477
41
42         * inspector/front-end/ConsoleView.js:
43         (WebInspector.ConsoleView.prototype.completions):
44         (WebInspector.ConsoleView.prototype._reportCompletions):
45
46 2009-10-19  Marshall Culpepper  <mculpepper@appcelerator.com>
47
48         Reviewed by Adam Roben.
49
50         implemented ClipboardWin::files()
51         https://bugs.webkit.org/show_bug.cgi?id=29666
52
53         * platform/win/ClipboardWin.cpp:
54         (WebCore::ClipboardWin::files):
55
56 2009-10-19  Nate Chapin  <japhet@chromium.org>
57
58         Reviewed by Alexey Proskuryakov.
59
60         Add support for link relations in HTMLAnchorElement and implement rel="noreferrer".
61
62         https://bugs.webkit.org/show_bug.cgi?id=28986
63
64         Tests: http/tests/navigation/no-referrer-reset.html
65                http/tests/navigation/no-referrer-same-window.html
66                http/tests/navigation/no-referrer-subframe.html
67                http/tests/navigation/no-referrer-target-blank.html
68
69         * WebCore.base.exp: Update FrameLoader::loadFrameRequest export symbol
70         * html/HTMLAnchorElement.cpp: Add support for link relations and implement noreferrer
71         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
72         (WebCore::HTMLAnchorElement::defaultEventHandler):
73         (WebCore::HTMLAnchorElement::parseMappedAttribute):
74         (WebCore::HTMLAnchorElement::hasRel):
75         (WebCore::HTMLAnchorElement::setRel):
76         * html/HTMLAnchorElement.h: Add support for link relations and implement noreferrer
77         * loader/FrameLoader.cpp:
78         (WebCore::FrameLoader::FrameLoader):
79         (WebCore::FrameLoader::createWindow):
80         (WebCore::FrameLoader::changeLocation):
81         (WebCore::FrameLoader::urlSelected): Add parameter for referrer policy
82         (WebCore::FrameLoader::loadFrameRequest): Add parameter for referrer policy
83         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Suppress opener if requested by ReferrerPolicy
84         * loader/FrameLoader.h: Update urlSelected and loadFrameRequest prototypes
85         * loader/FrameLoaderTypes.h: Add enum for referrer policy
86         * loader/RedirectScheduler.cpp:
87         (WebCore::RedirectScheduler::timerFired):
88         * page/ContextMenuController.cpp:
89         (WebCore::ContextMenuController::contextMenuItemSelected): Update call to urlSelected()
90         * svg/SVGAElement.cpp:
91         (WebCore::SVGAElement::defaultEventHandler): Update call to urlSelected()
92
93
94 2009-10-19  Alpha Lam  <hclam@chromium.org>
95
96         Reviewed by Dimitri Glazkov (dglazkov@chromium.org).
97
98         [v8] typeof(HTMLMediaElement) should return undefined if media
99         engine is not available
100         https://bugs.webkit.org/show_bug.cgi?id=30343
101
102         Check for availability of the media engine to disable
103         HTMLMediaElement, HTMLAudioElement, HTMLVideoElement, MediaError
104         in runtime.
105
106         Try runs and review in Chromium:
107         http://codereview.chromium.org/276011
108
109         Test: manual-tests/chromium/media-player-not-available.html
110
111         The above test can work work in Chromium. Testing procedures:
112         1. Remove all media support libraries in Chromium (e.g. ffmpeg libraries)
113         2. Open Chromium with above test page
114         3. Verify the test results according to the test page
115
116         * bindings/v8/custom/V8CustomBinding.h:
117         Declare enabler methods.
118         * bindings/v8/custom/V8DOMWindowCustom.cpp:
119         Report enabled only if media player is available.
120         * manual-tests/chromium/media-player-not-available.html: Added.
121         Manual test, following instruction in this test for procedures.
122         * page/DOMWindow.idl:
123         Mark HTMLMediaElement, HTMLAudioElement, HTMLVideElement, MediaError
124         as enabled at runtime.
125
126 2009-10-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
127
128         Reviewed by David Hyatt.
129
130         Refactor out some of the code in paint() into paintPanScrollIcon()
131         and paintScrollbars() in preparation of some Qt API changes.
132
133         * platform/ScrollView.cpp:
134         (WebCore::ScrollView::paint):
135         * platform/ScrollView.h:
136
137 2009-10-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
138
139         Reviewed by Adam Roben.
140
141         Make the local static panScrollIcon into a Image* instead
142         of a RefPtr<Image>.
143
144         * platform/ScrollView.cpp:
145         (WebCore::ScrollView::wheelEvent):
146
147 2009-10-19  Andrew Scherkus  <scherkus@chromium.org>
148
149         Reviewed by David Levin.
150
151         Forcefully set antialiasing for Chromium media controls.
152
153         https://bugs.webkit.org/show_bug.cgi?id=30521
154
155         Before it was nondeterministiacally being enabled based on the previous state of GraphicsContext.
156
157         Covered by existing layout tests.
158
159         * rendering/RenderMediaControlsChromium.cpp:
160         (WebCore::paintMediaSlider): Added setShouldAntialias(true).
161
162 2009-10-19  Jens Alfke  <jens@mooseyard.com>
163
164         Reviewed by Darin Adler.
165
166         Optimize string upper/lowercasing
167         https://bugs.webkit.org/show_bug.cgi?id=30261
168         
169         - Added AtomicString::upper() and lower()
170         - Further optimized StringImpl::lower()
171         - Removed StringImpl::isLower()
172         - Added QualifiedName::localNameUpper(), which is cached, thereby saving
173           thousands of upper() calls and string allocations.
174  
175          * dom/Element.cpp:
176          (WebCore::Element::setAttribute): Call AtomicString::lower()
177          * dom/QualifiedName.cpp:
178          (WebCore::QualifiedName::localNameUpper): New method
179          * dom/QualifiedName.h: Added localNameUpper() method
180          * dom/StyledElement.cpp:
181          (WebCore::StyledElement::parseMappedAttribute):  Call AtomicString::lower()
182          * html/HTMLDocument.cpp:
183          (WebCore::HTMLDocument::createElement): Call AtomicString::lower()
184          * html/HTMLElement.cpp:
185          (WebCore::HTMLElement::nodeName): Call localNameUpper()
186          * platform/text/AtomicString.cpp:
187          (WebCore::AtomicString::lower): New method
188          (WebCore::AtomicString::upper): New method
189          * platform/text/AtomicString.h: Added lower() and upper()
190          * platform/text/StringImpl.cpp: Removed isLower()
191          (WebCore::StringImpl::lower): Further optimization of initial loop
192          * platform/text/StringImpl.h: Removed isLower()
193  
194 2009-10-19  Nate Chapin  <japhet@chromium.org>
195
196         Reviewed by Adam Barth.
197
198         If a call to a plugin's invokeMethod, invokeDefault or construct
199         returns false, throw an exception into JS.        
200
201         https://bugs.webkit.org/show_bug.cgi?id=30239
202
203         Test: plugins/netscape-invoke-failure.html
204
205         * bindings/v8/V8NPObject.cpp: Check return values of invokeMethod, invokeDefault and construct.
206         (npObjectInvokeImpl):
207         * bridge/c/c_instance.cpp:
208         (JSC::Bindings::CInstance::invokeMethod): Check return value
209         (JSC::Bindings::CInstance::invokeDefaultMethod): Check return value
210         (JSC::Bindings::CInstance::invokeConstruct): Check return value
211
212 2009-10-16  Stephen White  <senorblanco@chromium.org>
213
214         Reviewed by Adam Barth.
215
216         Fix for chromium/skia canvas arc start/end positions, when the arc is
217         >= 360 degrees.
218         https://bugs.webkit.org/show_bug.cgi?id=30449
219
220         Covered by new test:
221         LayoutTests/fast/canvas/arc360.html
222
223         * platform/graphics/skia/PathSkia.cpp:
224         (WebCore::Path::addArc):
225
226 2009-10-19  Kent Tamura  <tkent@chromium.org>
227
228         Reviewed by Alexey Proskuryakov.
229
230         Fix uninitialized variable reference in Element::removeAttribute().
231         https://bugs.webkit.org/show_bug.cgi?id=30502
232
233         * dom/Element.cpp:
234         (WebCore::Element::removeAttribute):
235
236 2009-10-19  Eric Carlson  <eric.carlson@apple.com>
237
238         Reviewed by Simon Fraser.
239
240         https://bugs.webkit.org/show_bug.cgi?id=30463
241         Remove HTML5 media element 'loadend' event
242
243         * dom/EventNames.h:
244         * html/HTMLMediaElement.cpp:
245         (WebCore::HTMLMediaElement::parseMappedAttribute): Remove 'loadend'.
246         (WebCore::HTMLMediaElement::loadInternal): Ditto.
247         (WebCore::HTMLMediaElement::noneSupported): Ditto.
248         (WebCore::HTMLMediaElement::mediaEngineError): Ditto.
249         (WebCore::HTMLMediaElement::setNetworkState): Ditto.
250         (WebCore::HTMLMediaElement::userCancelledLoad): Ditto.
251
252 2009-10-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
253
254         Reviewed by Adam Barth.
255
256         [Qt] Remove deletion of outgoing FormData object when reply is finished.
257         The buffers will be destroyed a bit later, when the QNetworkReply is deleted.
258         Bug: https://bugs.webkit.org/show_bug.cgi?id=29551
259
260         * platform/network/qt/QNetworkReplyHandler.cpp:
261         * platform/network/qt/QNetworkReplyHandler.h:
262
263 2009-10-19  Dimitri Glazkov  <dglazkov@chromium.org>
264
265         Reviewed by Darin Adler.
266
267         Fix hard-to-reproduce crash in HTMLTokenizer by avoiding a rare
268         fastRealloc edge case.
269         https://bugs.webkit.org/show_bug.cgi?id=29313
270
271         No test, the crash shows up occasionally in crash dumps, we weren't able
272         to reproduce it locally.
273
274         * html/HTMLTokenizer.cpp:
275         (WebCore::HTMLTokenizer::enlargeScriptBuffer): Added an early exit to
276             avoid calling fastRealloc with the size of 0.
277
278 2009-10-19  Andrew Scherkus  <scherkus@chromium.org>
279
280         Reviewed by Eric Seidel.
281
282         Use fillRect() instead of drawRect() to fix Chromium media controls rendering.
283
284         https://bugs.webkit.org/show_bug.cgi?id=30371
285
286         Chromium Mac layout tests will need to be rebaselined.  Existing layout tests for Linux/Win still pass.
287
288         * rendering/RenderMediaControlsChromium.cpp:
289         (WebCore::paintMediaSlider): Use fillRect() instead of drawRect().
290
291 2009-10-19  Dmitry Titov  <dimich@chromium.org>
292
293         Reviewed by Adam Barth.
294
295         Crash in DOMWindow::clearTimeout etc when DOMWindow is not connected to a frame.
296         https://bugs.webkit.org/show_bug.cgi?id=29832
297
298         Need to make sure the script caches are reset when frame gets disconnected from still-alive DOMWindow.
299         This will prevent JS from calling DOMWindow methods that can not be completed w/o the frame.
300
301         I am not sure it's possible to test this since the only file that repros the problem need ~10 seconds to cause crash.
302
303         * page/Frame.cpp:
304         (WebCore::Frame::~Frame): Right after frame disconnects from DOMWindow, clear WindowShell.
305
306 2009-10-19  Csaba Osztrogonác  <ossy@webkit.org>
307
308         Unreviewed build warning fix.
309         [Qt] Apply changes to WebCore.pro introduced in r49778
310
311         * WebCore.pro: Removed svg/graphics/filters/SVGFEGaussianBlur.h from HEADERS
312
313 2009-10-19  Dirk Schulze  <krit@webkit.org>
314
315         Reviewed by Darin Adler.
316
317         Move feGaussianBlur from WebCore/svg to WebCore/platform
318         [https://bugs.webkit.org/show_bug.cgi?id=30495]
319
320         This patch moves SVGFRGaussianBlur from svg/graphics/filters
321         to platform/graphics/filters/FEGaussianBlur. This is needed
322         for shadow support on Qt and Cairo.
323         No change in functionality, therfore no new test case needed.
324
325         * GNUmakefile.am:
326         * WebCore.gypi:
327         * WebCore.pro:
328         * WebCore.vcproj/WebCore.vcproj:
329         * WebCore.xcodeproj/project.pbxproj:
330         * platform/graphics/filters/FEGaussianBlur.cpp: Added.
331         * platform/graphics/filters/FEGaussianBlur.h: Added.
332         * svg/SVGFEGaussianBlurElement.h:
333         * svg/graphics/filters/SVGFEGaussianBlur.cpp: Removed.
334         * svg/graphics/filters/SVGFEGaussianBlur.h: Removed.
335
336 2009-10-19  Yael Aharon  <yael.aharon@nokia.com>
337
338         Unreviewed.
339
340         Added reviewer name to r49574.
341
342 2009-10-19  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
343
344         Reviewed by Xan Lopez.
345
346         https://bugs.webkit.org/show_bug.cgi?id=30489
347         [Gtk] The document frame/html container claims to be parentless
348
349         Work around for the parentless claim made by the accessible associated
350         with the embedded WebView. When we identify this condition, get the
351         widget's parent, and then get the AtkObject from that. Admittedly an ugly
352         hack, but we'll need it for Yelp and other Gtk+/GNOME applications which
353         plan to switch over to WebKit.
354
355         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
356         (webkit_accessible_get_parent):
357
358 2009-10-19  Benjamin Otte  <otte@gnome.org>
359
360         Reviewed by Jan Alonzo.
361
362         Handle duration queries properly
363         https://bugs.webkit.org/show_bug.cgi?id=29999
364
365         Previously duration queries failed to handle unknown duration
366         and didn't treat the returned duration as an unsigned.
367
368         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
369         (WebCore::MediaPlayerPrivate::duration):
370
371 2009-10-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
372
373         Reviewed by Tor Arne Vestbø.
374
375         [Qt] Fix build on Windows.
376
377         * plugins/win/PluginViewWin.cpp:
378         (windowHandleForPageClient):
379
380 2009-10-19  Girish Ramakrishnan  <girish@forwardbias.in>
381
382         Reviewed by Holger Freyther.
383
384         [Qt] Windowed Plugins: Don't crash when client is 0.
385         
386         Client is 0 when we use QWebPage without a QWebView or QGraphicsWebView.
387         In addition, setFrameRect()/updatePluginWidget() is called even if the
388         plugin was not succesfully loaded. updatePluginWidget() updates the
389         window rect which is, in theory, useful to draw something that indicates
390         that we didn't load successfully.
391         
392         So, a status check is added to setNPWindowIfNeeded.
393
394         https://bugs.webkit.org/show_bug.cgi?id=30380
395
396         * plugins/qt/PluginViewQt.cpp:
397         (WebCore::PluginView::setNPWindowIfNeeded):
398         (WebCore::PluginView::platformStart):
399
400 2009-10-19  Girish Ramakrishnan  <girish@forwardbias.in>
401
402         Reviewed by Holger Freyther.
403
404         [Qt] Windowed Plugins: Fix crash when QWebPage is deleted after QWebView.
405         
406         Fixes various sources of crashes:
407         1. The PluginContainer is a child of QWebView. When the view gets deleted,
408         the PluginView is not notified about the deletion of PluginContainer.
409         2. QWebView destructor does not set client to 0.
410         3. Sometimes pending paint events are sent after the plugin has died, so add
411         a check in PluginView::setNPWindowIfNeeded.
412
413         https://bugs.webkit.org/show_bug.cgi?id=30354
414
415         * plugins/qt/PluginContainerQt.cpp:
416         (PluginContainerQt::~PluginContainerQt):
417         * plugins/qt/PluginViewQt.cpp:
418         (WebCore::PluginView::setNPWindowIfNeeded):
419
420 2009-10-19  Jakob Truelsen  <antialize@gmail.com>
421
422         Reviewed by Adam Barth.
423
424         https://bugs.webkit.org/show_bug.cgi?id=29042
425         Allow one to customize the minimal and maximal shrink factors used when printing.
426
427         * page/PrintContext.cpp:
428         (WebCore::PrintContext::begin):
429         * page/Settings.cpp:
430         (WebCore::Settings::Settings):
431         (WebCore::Settings::setPrintingMinimumShrinkFactor):
432         (WebCore::Settings::setPrintingMaximumShrinkFactor):
433         * page/Settings.h:
434         (WebCore::Settings::printingMinimumShrinkFactor):
435         (WebCore::Settings::printingMaximumShrinkFactor):
436
437 2009-10-18  Erik Arvidsson  <arv@chromium.org>
438
439         Reviewed by Adam Barth.
440
441         Fixes issue where doubleclicking a word could select following adjacent newlines.
442         https://bugs.webkit.org/show_bug.cgi?id=30234
443
444         Tests: platform/mac/editing/selection/doubleclick-should-not-expand-across-lines.html
445                platform/mac/editing/selection/script-tests/TEMPLATE.html
446                platform/win/editing/selection/doubleclick-should-not-expand-across-lines.html
447                platform/win/editing/selection/script-tests/TEMPLATE.html
448
449         * editing/VisibleSelection.cpp:
450         (WebCore::VisibleSelection::appendTrailingWhitespace):
451
452 2009-10-18  Kevin Ollivier  <kevino@theolliviers.com>
453
454         CURL build fix, use proper header name.
455
456         * platform/network/curl/ResourceHandleManager.h:
457
458 2009-10-18  Pavel Feldman  <pfeldman@chromium.org>
459
460         Reviewed by Timothy Hatcher.
461
462         Web Inspector: Properties on Arrays and NodeLists are not logged correctly.
463
464         https://bugs.webkit.org/show_bug.cgi?id=30485
465
466         * inspector/front-end/ConsoleView.js:
467         (WebInspector.ConsoleView.prototype._formatarray):
468         (WebInspector.ConsoleView.prototype._printArray):
469
470 2009-10-18  Pavel Feldman  <pfeldman@chromium.org>
471
472         Not reviewed: touching WebCore so that it
473         initiated inspector frontend deployment on Windows.
474
475         Web Inspector: frontend files are not deployed in Windows
476         incremental build.
477
478         * inspector/InspectorDOMAgent.cpp:
479         (WebCore::InspectorDOMAgent::unbind):
480
481 2009-10-18  Pavel Feldman  <pfeldman@chromium.org>
482
483         Reviewed by Timothy Hatcher.
484
485         Web Inspector: Title of dir(["test", "test2"]) should be Array
486
487         https://bugs.webkit.org/show_bug.cgi?id=30486
488
489         Test: inspector/console-tests.html
490
491         * inspector/front-end/InjectedScript.js:
492
493 2009-10-18  Dirk Schulze  <krit@webkit.org>
494
495         Reviewed by Nikolas Zimmermann.
496
497         REGRESSION: SVG Mask doesn't work for maskContentUnits="objectBoundingBox"
498         [https://bugs.webkit.org/show_bug.cgi?id=30480]
499
500         Patch for SVGMaskElement landed in r49598 should correct the location of
501         the mask image graphics context. It only corrects the location for userSpaceOnUse
502         mode in maskContentUnits but breaks objectBoundingBoxMode.
503         The maskDestRect shouldn't be moved. It is not responsible for the correct context
504         postioin but for the correct position of the mask image.
505         This patch calculates the context postion independently from the maskDestRect.
506         It also uses lineareRGB color space for masking on CG now. This is the default
507         color space for masking operations.
508         We already have tests for both maskContentUnits modes.
509
510             *svg/W3C-SVG-1.1/masking-intro-01-f.svg
511             *svg/custom/mask-with-default-value.svg
512
513         Some tests needed new pixel tests because of the new color space.
514
515         * svg/SVGMaskElement.cpp:
516         (WebCore::SVGMaskElement::drawMaskerContent):
517
518 2009-10-18  Anton Muhin  <antonm@chromium.org>
519
520         Reviewed by Adam Barth.
521
522         Use v8::Integer::NewFromUnsigned when converting unsigneds into V8's numbers.
523         That is notably faster for small numbers (most common case).
524         https://bugs.webkit.org/show_bug.cgi?id=30493
525
526         * bindings/scripts/CodeGeneratorV8.pm:
527
528 2009-10-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
529
530         Reviewed by Holger Freyther.
531
532         [GTK] Add MathML to the build system
533         https://bugs.webkit.org/show_bug.cgi?id=30487
534
535         Add MathML sources if MathML support is enabled.
536
537         * GNUmakefile.am:
538
539 2009-10-18  Kevin Ollivier  <kevino@theolliviers.com>
540
541         Non-PCH build fix. Added missing header.
542
543         * bridge/runtime_root.h:
544
545 2009-10-18  Simon Fraser  <simon.fraser@apple.com>
546
547         Reviewed by Dan Bernstein.
548
549         Compositing layers not correctly updated after partial layout
550         https://bugs.webkit.org/show_bug.cgi?id=30425
551         
552         When a partial layout happened, for example as the result of a postion-change-only
553         layout, then some compositing layer positions were not correctly updated. To fix
554         this, updateLayerPositions() now carries along a flag that is set at the rootmost
555         layer being updated, and used to determine when we hit the first compositing layer
556         in this update. RenderLayerBacking::updateAfterLayout() makes use of this information
557         to do a full geometry update on that layer, which is thus the rootmost compositing
558         layer that is being updated.
559
560         Test: compositing/geometry/partial-layout-update.html
561
562         * page/FrameView.cpp:
563         (WebCore::FrameView::layout):
564         * rendering/RenderLayer.cpp:
565         (WebCore::RenderLayer::updateLayerPositions):
566         (WebCore::RenderLayer::scrollToOffset):
567         * rendering/RenderLayer.h:
568         (WebCore::RenderLayer::):
569         * rendering/RenderLayerBacking.cpp:
570         (WebCore::RenderLayerBacking::updateAfterLayout):
571         * rendering/RenderLayerBacking.h:
572
573 2009-09-13  Kevin Watters  <kevinwatters@gmail.com>
574
575         Reviewed by Kevin Ollivier.
576
577         Add support for proxies in CURL.
578  
579         https://bugs.webkit.org/show_bug.cgi?id=30446
580
581         * platform/network/curl/ResourceHandleManager.cpp:
582         (WebCore::ResourceHandleManager::setProxyInfo):
583         (WebCore::ResourceHandleManager::initializeHandle):
584         * platform/network/curl/ResourceHandleManager.h:
585         (WebCore::ResourceHandleManager::):
586
587 2009-10-18  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
588
589         Reviewed by Xan Lopez
590
591         https://bugs.webkit.org/show_bug.cgi?id=25901
592         Use ATK_ROLE_SECTION for divTag and ATK_ROLE_LABEL for labelTag
593
594         Replaces the use of ATK_ROLE_PANEL with the expected accessible roles.
595
596         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
597         (webkit_accessible_get_role):
598
599 2009-10-17  Nikolas Zimmermann  <nzimmermann@rim.com>
600
601         Reviewed by George Staikos.
602
603         Cleanup SVGElement code, preparing for animVal support
604         https://bugs.webkit.org/show_bug.cgi?id=30466
605
606         Add new SynchronizablePropertyController and move the code for SVG property <-> XML attribute synchronization
607         from SVGElement. This is a further preparation for animVal support, where SynchronizablePropertyController will
608         be used to control the start/end state of an animated property.
609
610         We're currently tracking animated properties that need synchronization, generalize this concept and use
611         it to track their creation (bound to certain SVG*Element classes) as well as a flag determing the need
612         of synchronization (no SVG DOM object wrappers, no synchronization needed).
613
614         No change in functionality, thus no tests.
615
616         * GNUmakefile.am: Add 'SynchronizablePropertyController.cpp/h' to build
617         * WebCore.gypi: Ditto.
618         * WebCore.pro: Ditto.
619         * WebCore.vcproj/WebCore.vcproj: Ditto.
620         * WebCore.xcodeproj/project.pbxproj: Ditto.
621         * svg/SVGAllInOne.cpp: Ditto.
622         * svg/SVGAnimatedProperty.h: Add registerProperty() function 
623         (WebCore::::SVGAnimatedProperty): Call registerProperty() function  
624         (WebCore::::registerProperty): Add new registerProperty() function, announcing new properties to SynchronizablePropertyController.
625         * svg/SVGAnimatedTemplate.h: Use propertyController() method, to access the new functions moved from SVGElement.
626         (WebCore::lookupOrCreateWrapper):
627         * svg/SVGElement.cpp: Adapt to code moving to SynchronizablePropertyController.
628         (WebCore::SVGElement::updateAnimatedSVGAttribute):
629         * svg/SVGElement.h: Move handling SVG property synchronization to SynchronizablePropertyController.
630         (WebCore::SVGElement::propertyController): Expose reference to SynchronizablePropertyController object.
631         * svg/SVGViewSpec.cpp: Reorder initialization order of contextElement, leading to possible crashes.
632         (WebCore::SVGViewSpec::SVGViewSpec):
633         (WebCore::SVGViewSpec::viewTarget):
634         * svg/SVGViewSpec.h: Ditto.
635         (WebCore::SVGViewSpec::contextElement):
636         * svg/SynchronizablePropertyController.cpp: Added.
637         (WebCore::SynchronizablePropertyController::SynchronizablePropertyController):
638         (WebCore::SynchronizablePropertyController::registerProperty):
639         (WebCore::SynchronizablePropertyController::setPropertyNeedsSynchronization):
640         (WebCore::SynchronizablePropertyController::synchronizeProperty):
641         (WebCore::SynchronizablePropertyController::synchronizeAllProperties):
642         (WebCore::SynchronizablePropertyController::startAnimation):
643         (WebCore::SynchronizablePropertyController::stopAnimation):
644         * svg/SynchronizablePropertyController.h: Added.
645         (WebCore::SynchronizableProperty::SynchronizableProperty):
646         (WebCore::SynchronizableProperty::isHashTableDeletedValue):
647         (WebCore::SynchronizableProperty::operator==):
648         (WebCore::SynchronizablePropertyHash::hash):
649         (WebCore::SynchronizablePropertyHash::equal):
650         (WebCore::SynchronizablePropertyHashTraits::constructDeletedValue):
651         (WebCore::SynchronizablePropertyHashTraits::isDeletedValue):
652
653 2009-10-17  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
654
655         Reviewed by Xan Lopez.
656
657         https://bugs.webkit.org/show_bug.cgi?id=25413
658         [GTK] Please expose the level of headings
659
660         Exposes the heading level as an attribute of the AtkObject.
661
662         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
663         (addAttributeToSet):
664         (webkit_accessible_get_attributes):
665         (webkit_accessible_class_init):
666
667 2009-10-17  Kwang Yul Seo  <skyul@company100.net>
668
669         Reviewed by Eric Seidel.
670
671         EventHandler::eventLoopHandleMouseDragged needs ENABLE(DRAG_SUPPORT) guards
672         https://bugs.webkit.org/show_bug.cgi?id=30472
673
674         Put ENABLE(DRAG_SUPPORT) guards around EventHandler::eventLoopHandleMouseDragged
675         in EventHandler.cpp. MSVC fails to compile when DRAG_SUPPORT not enabled.
676
677         * page/EventHandler.cpp:
678
679 2009-10-17  Alpha Lam  <hclam@chromium.org>
680
681         Reviewed by Eric Seidel.
682
683         [chromium] Video controls not zoomed / transformed correctly
684         https://bugs.webkit.org/show_bug.cgi?id=30461
685
686         Draw the images in the controls scaled.
687
688         No new tests. With this change Chromium will pass the following tests:
689         LayoutTests/media/video-controls-zoomed.html
690         LayoutTests/media/video-controls-transformed.html
691
692         * rendering/RenderMediaControlsChromium.cpp:
693         (WebCore::paintMediaButton):
694         Pass along the target rect directly.
695         (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
696         Adjust the thumb slide applied with the scale factor.
697
698 2009-10-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
699
700         Unreviewed.
701
702         [Gtk] Build fix for WebKitGtk after r49723.
703
704         Add bindings/js/JSExceptionBase.* to the build.
705
706         * GNUmakefile.am:
707
708 2009-10-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
709
710         Unreviewed.
711
712         [Qt] Build fix for QtWebKit after r49723.
713
714         Add bindings/js/JSExceptionBase.cpp to the build.
715
716         * WebCore.pro:
717
718 2009-10-16  Steve Falkenburg  <sfalken@apple.com>
719
720         Reviewed by Dan Bernstein.
721
722         https://bugs.webkit.org/show_bug.cgi?id=30456
723         Fixes for new Debug_All Windows build configuration.
724
725         * platform/network/cf/ResourceRequestCFNet.cpp:
726         (WebCore::findCFNetworkModule): Ask for the correct library instead of guessing.
727         * platform/win/ScrollbarThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming.
728         * rendering/RenderMediaControls.cpp: Use new DEBUG_ALL preprocessor define for library naming.
729         * rendering/RenderThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming.
730
731 2009-10-16  Jon Honeycutt  <jhoneycutt@apple.com>
732
733         Add SPI to determine whether a plug-in has ever been halted.
734
735         Part of <rdar://problem/7312158>.
736
737         Reviewed by Dan Bernstein.
738
739         * plugins/PluginView.cpp:
740         (WebCore::PluginView::PluginView):
741         Initialize m_hasBeenHalted.
742
743         * plugins/PluginView.h:
744         (WebCore::PluginView::hasBeenHalted):
745         Return m_hasBeenHalted.
746
747         * plugins/win/PluginViewWin.cpp:
748         (WebCore::PluginView::halt):
749         Set m_hasBeenHalted.
750
751 2009-10-16  Adam Barth  <abarth@webkit.org>
752
753         Reviewed by Alexey Proskuryakov.
754
755         @charset rule after the first byte causes the rest of css to be ignored
756         https://bugs.webkit.org/show_bug.cgi?id=18265
757
758         Apparently we're supposed to tolerate whitespace before the charset
759         rule so folks can write code like this:
760
761         <style>
762         @charset "utf-8"
763         ...
764         </style>
765
766         I'm told this is one of the top compatability problems in China.
767         Tests: fast/css/comment-before-charset-external.html
768                fast/css/comment-before-charset.html
769                fast/css/many-spaces-before-charset.html
770                fast/css/space-before-charset-external.html
771                fast/css/space-before-charset.html
772
773         * css/CSSGrammar.y:
774
775 2009-10-16  Brian Weinstein  <bweinstein@apple.com>
776
777         Reviewed by Darin Adler.
778
779         Fixes part of <http://webkit.org/b/30412>.
780         Web Inspector should get human readable DOM Exceptions.
781
782         Add a description field to ExceptionBase, and call it through 
783         reportException which allows the user/developer to get a more detailed
784         and coherent error explanation through the Web Inspector.
785
786         This only applies to exceptions that come from a script on the page when
787         it is run. DOM Exceptions that come from the code run in the console, or DOM
788         exceptions that are caught and logged will come in a future patch.
789
790         Tests: inspector/uncaught-dom1-exception.html
791                inspector/uncaught-dom3-exception.html
792                inspector/uncaught-dom8-exception.html
793
794         * WebCore.gypi:
795         * WebCore.vcproj/WebCore.vcproj:
796         * WebCore.xcodeproj/project.pbxproj:
797         * bindings/js/JSDOMBinding.cpp:
798         (WebCore::reportException):
799         * bindings/js/JSExceptionBase.cpp: Added.
800         (WebCore::toExceptionBase):
801         * bindings/js/JSExceptionBase.h: Added.
802         * dom/ExceptionBase.cpp:
803         (WebCore::ExceptionBase::ExceptionBase):
804         * dom/ExceptionBase.h:
805         (WebCore::ExceptionBase::description):
806         * dom/ExceptionCode.cpp:
807         (WebCore::):
808         (WebCore::getExceptionCodeDescription):
809         * dom/ExceptionCode.h:
810
811 2009-10-16  Geoffrey Garen  <ggaren@apple.com>
812
813         Build fix: forgot to check in this #include.
814
815         * bridge/runtime_root.h:
816
817 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
818
819         Reviewed by Dan Bernstein.
820
821         Transform layer gets stuck with the wrong transform after an animation ends
822         <rdar://problem/7311662>
823
824         Work around a CoreAnimation bug which causes an animated transform layer to
825         end up with a stale transform.
826         
827         Test: compositing/animation/state-at-end-event-transform-layer.html
828
829         * platform/graphics/mac/GraphicsLayerCA.mm:
830         (WebCore::bug7311367Workaround):
831         (WebCore::GraphicsLayerCA::removeAnimationFromLayer):
832
833 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
834
835         Reviewed by Dan Bernstein.
836
837         After running a transition with an end event listener, can't change the transform
838         https://bugs.webkit.org/show_bug.cgi?id=30454
839         
840         Fix an issue where, if a document had any listener for webkitTransitionEnd or webkitAnimationEnd,
841         the animations would not get cleaned up correctly, which broke subsequent changes of transform.
842         
843         Now, we always clean up the animations right after queuing up the end events.
844
845         Tests: animations/state-at-end-event.html
846                transitions/move-after-transition.html
847
848         * page/animation/ImplicitAnimation.cpp:
849         (WebCore::ImplicitAnimation::onAnimationEnd):
850         * page/animation/KeyframeAnimation.cpp:
851         (WebCore::KeyframeAnimation::onAnimationEnd):
852
853 2009-10-15  Joseph Pecoraro  <joepeck@webkit.org>
854
855         Reviewed by Timothy Hatcher.
856
857         Web Inspector: Handle the Enter Key in the Elements Tree Hierarchy
858         https://bugs.webkit.org/show_bug.cgi?id=30428
859
860         TextNode => Edit Text Node
861         Has Attributes => Edit First Attribute
862         No Attributes => Start Editing New Attribute
863
864         * inspector/front-end/ElementsTreeOutline.js:
865         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): handle the "Enter" key
866         (WebInspector.ElementsTreeElement.prototype.set hovered): only add new attribute button on nodes with attributes
867         (WebInspector.ElementsTreeElement.prototype._addNewAttribute): prevent moving backwards where there are no attributes
868         (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): renamed to be clearer
869         (WebInspector.ElementsTreeElement.prototype._startEditing): transition to the appropriate edit state for a tree element
870
871 2009-10-16  Adam Barth  <abarth@webkit.org>
872
873         Reviewed by Eric Seidel.
874
875         Fix header indent style for FrameLoader and friends
876         https://bugs.webkit.org/show_bug.cgi?id=30430
877
878         * loader/FrameLoader.h:
879         (WebCore::FrameLoader::frame):
880         (WebCore::FrameLoader::policyChecker):
881         (WebCore::FrameLoader::history):
882         (WebCore::FrameLoader::notifier):
883         (WebCore::FrameLoader::isLoadingMainResource):
884         (WebCore::FrameLoader::documentLoader):
885         (WebCore::FrameLoader::policyDocumentLoader):
886         (WebCore::FrameLoader::provisionalDocumentLoader):
887         (WebCore::FrameLoader::state):
888         (WebCore::FrameLoader::client):
889         (WebCore::FrameLoader::url):
890         (WebCore::FrameLoader::isLoadingFromCachedPage):
891         (WebCore::FrameLoader::committingFirstRealLoad):
892         (WebCore::FrameLoader::committedFirstRealDocumentLoad):
893         (WebCore::FrameLoader::creatingInitialEmptyDocument):
894         * loader/HistoryController.h:
895         (WebCore::HistoryController::currentItem):
896         (WebCore::HistoryController::provisionalItem):
897         * loader/PolicyCallback.h:
898         (WebCore::PolicyCallback::request):
899         * loader/PolicyChecker.h:
900         (WebCore::PolicyChecker::loadType):
901         (WebCore::PolicyChecker::setLoadType):
902         (WebCore::PolicyChecker::delegateIsDecidingNavigationPolicy):
903         (WebCore::PolicyChecker::delegateIsHandlingUnimplementablePolicy):
904         * loader/RedirectScheduler.h:
905         * loader/ResourceLoadNotifier.h:
906
907 2009-10-16  Steve Falkenburg  <sfalken@apple.com>
908
909         Reviewed by Adam Roben.
910
911         Add a Debug_All configuration to build entire stack as debug.
912         Change Debug_Internal to:
913         - stop using _debug suffix for all WebKit/Safari binaries
914         - not use _debug as a DLL naming suffix
915         - use non-debug C runtime lib.
916
917         * WebCore.vcproj/QTMovieWin.vcproj: Add Debug_All configuration.
918         * WebCore.vcproj/WebCore.make: Debug build in makefile should build Debug_All.
919         * WebCore.vcproj/WebCore.sln: Add Debug_All configuration.
920         * WebCore.vcproj/WebCore.submit.sln: Add Debug_All configuration.
921         * WebCore.vcproj/WebCore.vcproj: Add Debug_All configuration.
922         * WebCore.vcproj/WebCoreGenerated.vcproj: Renamed single configuration from "Release" to "all".
923
924 2009-10-16  Dimitri Glazkov  <dglazkov@chromium.org>
925
926         No review, rolling out r49693, because it broke Chromium build.
927         http://trac.webkit.org/changeset/49693
928
929         * WebCore.gyp/WebCore.gyp:
930         * WebCore.gypi:
931
932 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
933
934         Reviewed by Eric Carlson.
935
936         Updated media resource selection algorithm to reflect latest HTML 5 specification.
937
938         Noticable changes:
939             -  Elements with no source should have their network state set to NETWORK_EMPTY as opposed to NETWORK_NO_SOURCE
940             -  Empty string ("") is now considered a valid URL resolving to the current page and will be loaded
941
942         Tests: media/video-src-empty.html
943                media/video-src-none.html
944
945         https://bugs.webkit.org/show_bug.cgi?id=30407
946
947         * html/HTMLMediaElement.cpp:
948         (WebCore::HTMLMediaElement::selectMediaResource): Updated code and comments to match spec.
949
950 2009-10-16  Adam Barth  <abarth@webkit.org>
951
952         Reviewed by Eric Seidel.
953
954         Insecure plug-ins don't trigger mixed content
955         https://bugs.webkit.org/show_bug.cgi?id=30431
956
957         Added the missing check.
958
959         Test: http/tests/security/mixedContent/insecure-plugin-in-iframe.html
960
961         * loader/FrameLoader.cpp:
962         (WebCore::FrameLoader::loadPlugin):
963
964 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
965
966         Reviewed by Eric Carlson.
967
968         Set autobuffer to true and schedule load in V8 audio element constructor.
969
970         https://bugs.webkit.org/show_bug.cgi?id=30448
971
972         Covered by existing tests.
973
974         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
975         (WebCore::CALLBACK_FUNC_DECL): Set autobuffer to true and schedule load.
976
977 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
978
979         Reviewed by Eric Seidel.
980
981         Remove FIXME in RenderMediaControlsChromium as bug was fixed upstream.
982
983         https://bugs.webkit.org/show_bug.cgi?id=30422
984
985         Covered by existing media layout tests.
986
987         * rendering/RenderMediaControlsChromium.cpp:
988         (WebCore::paintMediaSlider): Removed round() and FIXME.
989
990 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
991
992         Reviewed by Eric Seidel.
993
994         Fix Chromium media controls to render a disabled play button when the element is unintialized.
995
996         https://bugs.webkit.org/show_bug.cgi?id=30410
997
998         Covered by existing layout tests.
999
1000         * rendering/RenderMediaControlsChromium.cpp:
1001         (WebCore::paintMediaPlayButton): Include check for NETWORK_EMPTY to render disabled play button.
1002
1003 2009-10-16  Oliver Hunt  <oliver@apple.com>
1004
1005         Reviewed by Gavin Barraclough.
1006
1007         Make typeinfo flags default to false
1008         https://bugs.webkit.org/show_bug.cgi?id=30372
1009
1010         Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
1011         flag.
1012
1013         * bindings/js/JSDOMWindowShell.h:
1014         (WebCore::JSDOMWindowShell::createStructure):
1015         * bindings/js/JSHTMLAllCollection.h:
1016         (WebCore::JSHTMLAllCollection::createStructure):
1017         * bindings/js/JSQuarantinedObjectWrapper.h:
1018         (WebCore::JSQuarantinedObjectWrapper::createStructure):
1019         * bindings/scripts/CodeGeneratorJS.pm:
1020         * bridge/runtime_array.h:
1021         (JSC::RuntimeArray::createStructure):
1022         * bridge/runtime_object.h:
1023         (JSC::RuntimeObjectImp::createStructure):
1024
1025 2009-10-16  Steven Knight  <sgk@chromium.org>
1026
1027         Reviewed by David Levin.
1028
1029         https://bugs.webkit.org/show_bug.cgi?id=30447
1030         Handle long link lines by building .idl-generated bindings in a
1031         separate webcore_bindings library target.  Avoid Visual Studio
1032         dependency issues by building additional generated .cpp and .h files
1033         in a separate webcore_bindings_sources target.
1034
1035         Chrome should still build and test successfully.
1036
1037         * WebCore.gyp/WebCore.gyp:
1038         * WebCore.gypi:
1039
1040 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
1041
1042         Reviewed by Eric Carlson.
1043
1044         Transform transitions that used to be accelerated are no longer so
1045         https://bugs.webkit.org/show_bug.cgi?id=30453
1046
1047         The change in r49633, to not run accelerated animations/transitions on layers that
1048         are not attached, broke accelerated transitions/animations in many cases where they start
1049         as soon as the page loads. This change reverts the code that tests for the GraphicsLayer being
1050         attached.
1051         
1052         No test, because it's not possible from a test to know whether a transition is accelerated or not.
1053
1054         * rendering/RenderLayerBacking.cpp:
1055         (WebCore::RenderLayerBacking::startAnimation):
1056         (WebCore::RenderLayerBacking::startTransition):
1057
1058 2009-10-16  Kevin Ollivier  <kevino@theolliviers.com>
1059
1060         wxMSW build fix, build the MSW source to get methods that use the MSW version of
1061         PlatformModuleVersion.
1062
1063         * wscript:
1064
1065 2009-10-16  Adam Barth  <abarth@webkit.org>
1066
1067         Unreviewed build fix.  Add back MIMETypeRegistryChromium with the right
1068         casing.
1069
1070         * platform/chromium/MIMETypeRegistryChromium.cpp: Added.
1071         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1072         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
1073         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
1074         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
1075         (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
1076         (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
1077         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
1078         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
1079         (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
1080         (WebCore::MIMETypeRegistry::isJavaAppletMIMEType):
1081         (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension):
1082         (WebCore::dummyHashSet):
1083         (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes):
1084         (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes):
1085         (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding):
1086         (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes):
1087         (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
1088
1089 2009-10-16  Adam Barth  <abarth@webkit.org>
1090
1091         Reviewed by Darin Adler.
1092
1093         MimeTypeRegistryChromium is mis-casen
1094         https://bugs.webkit.org/show_bug.cgi?id=30441
1095
1096         Change the case of MimeTypeRegistryChromium to match other platforms.
1097
1098         * WebCore.gypi:
1099         * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp.
1100         * platform/chromium/MimeTypeRegistryChromium.cpp: Removed.
1101
1102 2009-10-16  Dimitri Glazkov  <dglazkov@chromium.org>
1103
1104         Reviewed by Eric Seidel.
1105
1106         Change EmptyPluginHalterClient in SVGImage to be non-static, to
1107         match changes made http://trac.webkit.org/changeset/49385.
1108         https://bugs.webkit.org/show_bug.cgi?id=30403
1109
1110         Run the following layout test sequence:
1111           LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t.svg
1112           LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t.svg
1113           LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t.svg
1114           LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b.svg
1115           LayoutTests/svg/W3C-SVG-1.1/struct-image-06-t.svg
1116           LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
1117           LayoutTests/svg/W3C-SVG-1.1/struct-image-08-t.svg
1118           LayoutTests/svg/W3C-SVG-1.1/struct-image-09-t.svg
1119           LayoutTests/svg/W3C-SVG-1.1/struct-image-10-t.svg
1120           LayoutTests/svg/carto.net/scrollbar.svg
1121           LayoutTests/svg/carto.net/selectionlist.svg
1122
1123         selectionlist.svg should not crash.
1124
1125         * svg/graphics/SVGImage.cpp:
1126         (WebCore::SVGImage::dataChanged): Made EmptyPluginHalterClient non-static.
1127
1128 2009-10-16  Victor Wang  <victorw@chromium.org>
1129
1130         Reviewed by David Levin.
1131
1132         Add beforeload event support to V8DOMWrapper
1133
1134         https://bugs.webkit.org/show_bug.cgi?id=30413
1135
1136         LayoutTests/fast/dom/beforeload/frame-before-load.html
1137
1138         * bindings/v8/V8DOMWrapper.cpp:
1139         (WebCore::V8DOMWrapper::convertEventToV8Object):
1140
1141 2009-10-16  Adam Barth  <abarth@webkit.org>
1142
1143         Reviewed by Darin Adler.
1144
1145         MimeTypeRegistryChromium is mis-casen
1146         https://bugs.webkit.org/show_bug.cgi?id=30441
1147
1148         Change the case of MimeTypeRegistryChromium to match other platforms.
1149
1150         * WebCore.gypi:
1151         * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp.
1152         * platform/chromium/MimeTypeRegistryChromium.cpp: Removed.
1153
1154 2009-10-16  Adam Barth  <abarth@webkit.org>
1155
1156         Reviewed by Mark Rowe.
1157
1158         Chrome doesn't set Content-Type for file upload when the file extension
1159         is not recognized
1160         https://bugs.webkit.org/show_bug.cgi?id=30433
1161
1162         Apparently, getMIMETypeForPath is supposed to return
1163         application/octet-stream when it doesn't have a better MIME type.
1164
1165         * platform/chromium/MimeTypeRegistryChromium.cpp:
1166         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
1167
1168 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1169
1170         Pull out r49676 as it caused build breakges on Symbian
1171
1172         * plugins/symbian/PluginViewSymbian.cpp:
1173
1174 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1175
1176         Reviewed by Ariya Hidayat.
1177
1178         Crash fix when loading NPAPI plugins on Qt/Mac
1179
1180         There's no guarantee that the plist will be valid even if we
1181         ask the plugin to create it. Crash obverved with iGetter.
1182
1183         * plugins/mac/PluginPackageMac.cpp:
1184
1185 2009-10-15  Stephen White  <senorblanco@chromium.org>
1186
1187         Reviewed by David Levin.
1188
1189         Fix for Chromium/skia's implementation of canvas's isPointInPath().
1190         https://bugs.webkit.org/show_bug.cgi?id=30402
1191
1192         Covered by LayoutTests/fast/canvas/pointInPath.html.
1193
1194         * platform/graphics/skia/SkiaUtils.cpp:
1195         (WebCore::SkPathContainsPoint):
1196
1197 2009-10-15  Adam Barth  <abarth@webkit.org>
1198
1199         Reviewed by Darin Adler.
1200
1201         Factor ResourceLoadNotifier out of FrameLoader
1202         https://bugs.webkit.org/show_bug.cgi?id=30379
1203
1204         These methods have virtually no interaction with the rest of
1205         FrameLoader.
1206
1207         * GNUmakefile.am:
1208         * WebCore.gypi:
1209         * WebCore.pro:
1210         * WebCore.vcproj/WebCore.vcproj:
1211         * WebCore.xcodeproj/project.pbxproj:
1212         * WebCoreSources.bkl:
1213         * dom/Document.cpp:
1214         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
1215         * loader/FrameLoader.cpp:
1216         (WebCore::FrameLoader::FrameLoader):
1217         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
1218         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
1219         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
1220         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
1221         (WebCore::ResourceLoadNotifier::willSendRequest):
1222         (WebCore::ResourceLoadNotifier::didReceiveResponse):
1223         (WebCore::ResourceLoadNotifier::didReceiveData):
1224         (WebCore::ResourceLoadNotifier::didFailToLoad):
1225         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
1226         (WebCore::FrameLoader::sendRemainingDelegateMessages):
1227         (WebCore::FrameLoader::requestFromDelegate):
1228         (WebCore::ResourceLoadNotifier::didFinishLoad):
1229         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
1230         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
1231         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
1232         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
1233         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
1234         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
1235         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
1236         * loader/FrameLoader.h:
1237         (WebCore::FrameLoader::notifier):
1238         * loader/MainResourceLoader.cpp:
1239         (WebCore::MainResourceLoader::receivedError):
1240         * loader/ResourceLoadNotifier.cpp: Added.
1241         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
1242         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
1243         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
1244         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
1245         (WebCore::ResourceLoadNotifier::willSendRequest):
1246         (WebCore::ResourceLoadNotifier::didReceiveResponse):
1247         (WebCore::ResourceLoadNotifier::didReceiveData):
1248         (WebCore::ResourceLoadNotifier::didFinishLoad):
1249         (WebCore::ResourceLoadNotifier::didFailToLoad):
1250         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
1251         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
1252         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
1253         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
1254         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
1255         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
1256         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
1257         * loader/ResourceLoadNotifier.h: Added.
1258         * loader/ResourceLoader.cpp:
1259         (WebCore::ResourceLoader::willSendRequest):
1260         (WebCore::ResourceLoader::didReceiveResponse):
1261         (WebCore::ResourceLoader::didReceiveData):
1262         (WebCore::ResourceLoader::didFinishLoadingOnePart):
1263         (WebCore::ResourceLoader::didFail):
1264         (WebCore::ResourceLoader::didCancel):
1265         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
1266         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
1267
1268 2009-10-15  Roland Steiner  <rolandsteiner@google.com>
1269
1270         Reviewed by Darin Fisher.
1271
1272         Bug 30427 -  Remove unneeded methods in ChromiumDataObject
1273         (https://bugs.webkit.org/show_bug.cgi?id=30427)
1274         
1275         Remove no longer needed methods from ChromiumDataObject.
1276
1277         No new tests (no functional change)
1278
1279         * platform/chromium/ChromiumDataObject.h:
1280
1281 2009-10-16  Yael Aharon  <yael.aharon@nokia.com>
1282
1283         Reviewed by Tor Arne Vestbø.
1284
1285         [Qt] Need a way to inform the application when a Netscape plugin is created or deleted
1286         https://bugs.webkit.org/show_bug.cgi?id=30179
1287
1288         Inform the application when a plugin is created or destroyed, but only if the 
1289         application registered for these notifications.
1290
1291         * plugins/symbian/PluginViewSymbian.cpp:
1292         (WebCore::PluginView::platformStart):
1293         (WebCore::PluginView::platformDestroy):
1294
1295 2009-10-16  Shu Chang  <Chang.Shu@nokia.com>
1296
1297         Reviewed by Eric Seidel.
1298
1299         Default language translation should be determined by locale settings,
1300         e.g., "en-US".
1301         https://bugs.webkit.org/show_bug.cgi?id=29653
1302
1303         Test: fast/js/navigator-language.html
1304
1305         * platform/qt/Localizations.cpp:
1306         (WebCore::defaultLanguage):
1307
1308 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1309
1310         Reviewed by Ariya Hidayat.
1311
1312         Crash fix when loading NPAPI plugins on Qt/Mac
1313
1314         There's no guarantee that the plist will be valid even if we
1315         ask the plugin to create it. Crash obverved with iGetter.
1316
1317         * plugins/mac/PluginPackageMac.cpp:
1318
1319 2009-10-15  Stephen White  <senorblanco@chromium.org>
1320
1321         Reviewed by David Levin.
1322
1323         Fix for Chromium/skia's implementation of canvas's isPointInPath().
1324         https://bugs.webkit.org/show_bug.cgi?id=30402
1325
1326         Covered by LayoutTests/fast/canvas/pointInPath.html.
1327
1328         * platform/graphics/skia/SkiaUtils.cpp:
1329         (WebCore::SkPathContainsPoint):
1330
1331 2009-10-15  Adam Barth  <abarth@webkit.org>
1332
1333         Reviewed by Darin Adler.
1334
1335         Factor ResourceLoadNotifier out of FrameLoader
1336         https://bugs.webkit.org/show_bug.cgi?id=30379
1337
1338         These methods have virtually no interaction with the rest of
1339         FrameLoader.
1340
1341         * GNUmakefile.am:
1342         * WebCore.gypi:
1343         * WebCore.pro:
1344         * WebCore.vcproj/WebCore.vcproj:
1345         * WebCore.xcodeproj/project.pbxproj:
1346         * WebCoreSources.bkl:
1347         * dom/Document.cpp:
1348         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
1349         * loader/FrameLoader.cpp:
1350         (WebCore::FrameLoader::FrameLoader):
1351         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
1352         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
1353         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
1354         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
1355         (WebCore::ResourceLoadNotifier::willSendRequest):
1356         (WebCore::ResourceLoadNotifier::didReceiveResponse):
1357         (WebCore::ResourceLoadNotifier::didReceiveData):
1358         (WebCore::ResourceLoadNotifier::didFailToLoad):
1359         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
1360         (WebCore::FrameLoader::sendRemainingDelegateMessages):
1361         (WebCore::FrameLoader::requestFromDelegate):
1362         (WebCore::ResourceLoadNotifier::didFinishLoad):
1363         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
1364         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
1365         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
1366         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
1367         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
1368         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
1369         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
1370         * loader/FrameLoader.h:
1371         (WebCore::FrameLoader::notifier):
1372         * loader/MainResourceLoader.cpp:
1373         (WebCore::MainResourceLoader::receivedError):
1374         * loader/ResourceLoadNotifier.cpp: Added.
1375         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
1376         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
1377         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
1378         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
1379         (WebCore::ResourceLoadNotifier::willSendRequest):
1380         (WebCore::ResourceLoadNotifier::didReceiveResponse):
1381         (WebCore::ResourceLoadNotifier::didReceiveData):
1382         (WebCore::ResourceLoadNotifier::didFinishLoad):
1383         (WebCore::ResourceLoadNotifier::didFailToLoad):
1384         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
1385         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
1386         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
1387         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
1388         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
1389         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
1390         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
1391         * loader/ResourceLoadNotifier.h: Added.
1392         * loader/ResourceLoader.cpp:
1393         (WebCore::ResourceLoader::willSendRequest):
1394         (WebCore::ResourceLoader::didReceiveResponse):
1395         (WebCore::ResourceLoader::didReceiveData):
1396         (WebCore::ResourceLoader::didFinishLoadingOnePart):
1397         (WebCore::ResourceLoader::didFail):
1398         (WebCore::ResourceLoader::didCancel):
1399         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
1400         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
1401
1402 2009-10-15  Roland Steiner  <rolandsteiner@google.com>
1403
1404         Reviewed by Darin Fisher.
1405
1406         Bug 30427 -  Remove unneeded methods in ChromiumDataObject
1407         (https://bugs.webkit.org/show_bug.cgi?id=30427)
1408         
1409         Remove no longer needed methods from ChromiumDataObject.
1410
1411         No new tests (no functional change)
1412
1413         * platform/chromium/ChromiumDataObject.h:
1414
1415 2009-10-15  Daniel Bates  <dbates@webkit.org>
1416
1417         No review, rolling out r49644.
1418         http://trac.webkit.org/changeset/49644
1419         
1420         We need to think about this change some more. See bug #30418 
1421         for more details.
1422
1423         * page/XSSAuditor.cpp:
1424         (WebCore::XSSAuditor::canEvaluate):
1425         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
1426         (WebCore::XSSAuditor::canCreateInlineEventListener):
1427         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1428         (WebCore::XSSAuditor::canLoadObject):
1429         (WebCore::XSSAuditor::canSetBaseElementURL):
1430         (WebCore::XSSAuditor::findInRequest):
1431         * page/XSSAuditor.h:
1432
1433 2009-10-14  Jon Honeycutt  <jhoneycutt@apple.com>
1434
1435         Add SPI to determine whether a node is a halted plug-in.
1436
1437         Part of <rdar://problem/7273354> Halted plug-ins should restart on
1438         mouseover
1439
1440         https://bugs.webkit.org/show_bug.cgi?id=30151
1441
1442         Reviewed by Darin Adler.
1443
1444         * plugins/PluginView.cpp:
1445         (WebCore::PluginView::PluginView):
1446         Initialize m_isHalted.
1447
1448         * plugins/PluginView.h:
1449         (WebCore::PluginView::isHalted):
1450         Return m_isHalted.
1451
1452         * plugins/win/PluginViewWin.cpp:
1453         (WebCore::PluginView::halt):
1454         Set m_isHalted to true.
1455         (WebCore::PluginView::restart):
1456         clear m_isHalted.
1457
1458 2009-10-15  Zoltan Horvath  <zoltan@webkit.org>
1459
1460         Reviewed by Oliver Hunt.
1461
1462         [Qt] Build fix for QtWebKit after r49649.
1463
1464         Change JSC::HasNonDefaultMark to OverridesMarkChildren in createStructure function.
1465
1466         * bridge/qt/qt_runtime.h:
1467         (JSC::Bindings::QtRuntimeMethod::createStructure):
1468
1469 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
1470
1471         Not reviewed - build fix.
1472
1473         Web Inspector: add file missing in r49648
1474
1475         * inspector/front-end/TestController.js: Added.
1476         (WebInspector.TestController):
1477         (WebInspector.TestController.prototype.waitUntilDone):
1478         (WebInspector.TestController.prototype.notifyDone):
1479         (WebInspector.evaluateForTestInFrontend):
1480
1481 2009-10-15  Oliver Hunt  <oliver@apple.com>
1482
1483         Reviewed by Darin Adler.
1484
1485         Make typeinfo flags default to false
1486         https://bugs.webkit.org/show_bug.cgi?id=30372
1487
1488         Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc
1489
1490         * bindings/js/JSDOMBinding.h:
1491         (WebCore::DOMObjectWithGlobalPointer::createStructure):
1492         (WebCore::DOMConstructorObject::createStructure):
1493         * bindings/js/JSDOMWindowShell.h:
1494         (WebCore::JSDOMWindowShell::createStructure):
1495         * bindings/js/JSHTMLAllCollection.h:
1496         (WebCore::JSHTMLAllCollection::createStructure):
1497         * bindings/js/JSQuarantinedObjectWrapper.h:
1498         (WebCore::JSQuarantinedObjectWrapper::createStructure):
1499         * bindings/scripts/CodeGeneratorJS.pm:
1500         * bridge/qt/qt_runtime.h:
1501         (JSC::Bindings::QtRuntimeMethod::createStructure):
1502         * bridge/runtime_method.h:
1503         (JSC::RuntimeMethod::createStructure):
1504
1505 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
1506
1507         Reviewed by Timothy Hatcher.
1508
1509         Web Inspector: introduce test controller with waitUntilDone
1510         on frontend side.
1511
1512         https://bugs.webkit.org/show_bug.cgi?id=30400
1513
1514         * WebCore.gypi:
1515         * WebCore.vcproj/WebCore.vcproj:
1516         * inspector/front-end/TestController.js: Added.
1517         (WebInspector.TestController):
1518         (WebInspector.TestController.prototype.waitUntilDone):
1519         (WebInspector.TestController.prototype.notifyDone):
1520         (WebInspector.evaluateForTestInFrontend):
1521         * inspector/front-end/WebKit.qrc:
1522         * inspector/front-end/inspector.html:
1523         * inspector/front-end/inspector.js:
1524
1525 2009-10-15  Daniel Bates  <dbates@webkit.org>
1526
1527         Reviewed by Adam Barth.
1528
1529         https://bugs.webkit.org/show_bug.cgi?id=27895
1530         
1531         Fixes an issue in which injecting an inline event handler whose value ends in a single-line
1532         JavaScript comment can bypass the XSSAuditor. Similarly fixes this issue with respect to
1533         the HTML Base element, HTML Object element, inline and external script tags, and
1534         JavaScript multi-line variants of all of these attacks.
1535
1536         Tests: http/tests/security/xssAuditor/base-href-comment.html
1537                http/tests/security/xssAuditor/iframe-javascript-url-comment.html
1538                http/tests/security/xssAuditor/img-onerror-HTML-comment.html
1539                http/tests/security/xssAuditor/img-onerror-comment.html
1540                http/tests/security/xssAuditor/object-tag-comment.html
1541                http/tests/security/xssAuditor/script-tag-comment-HTML-entity.html
1542                http/tests/security/xssAuditor/script-tag-comment.html
1543                http/tests/security/xssAuditor/script-tag-with-source-comment.html
1544
1545         * page/XSSAuditor.cpp: Added constant minAttackLength.
1546         (WebCore::XSSAuditor::canEvaluate):
1547         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
1548         (WebCore::XSSAuditor::canCreateInlineEventListener):
1549         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1550         (WebCore::XSSAuditor::canLoadObject):
1551         (WebCore::XSSAuditor::canSetBaseElementURL):
1552         (WebCore::XSSAuditor::findInRequest): Added parameter context. Only looks at up 
1553         to minAttackLength of script code plus context (if any).
1554         * page/XSSAuditor.h:
1555
1556 2009-10-08  Adam Langley  <agl@google.com>
1557
1558         Reviewed by Eric Seidel.
1559
1560         Currently, Skia clip paths are 1-bit. This patch makes our path
1561         clipping anti-aliased for non-canvas drawing.
1562
1563         http://code.google.com/p/chromium/issues/detail?id=5927
1564         https://bugs.webkit.org/show_bug.cgi?id=28820
1565         http://www.imperialviolet.org/2009/09/02/anti-aliased-clipping.html
1566
1567         Already covered by layout tests. New baselines will be needed in the
1568         Chromium tree.
1569
1570         (Reland. First landed in r49329, reverted in r49330 due to Windows
1571         build break)
1572
1573         * html/canvas/CanvasRenderingContext2D.cpp:
1574         (WebCore::CanvasRenderingContext2D::clip):
1575         * platform/graphics/GraphicsContext.h:
1576         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1577         (WebCore::GraphicsContext::canvasClip):
1578         * platform/graphics/cg/GraphicsContextCG.cpp:
1579         (WebCore::GraphicsContext::canvasClip):
1580         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
1581         (WebCore::GraphicsContext::canvasClip):
1582         * platform/graphics/qt/GraphicsContextQt.cpp:
1583         (WebCore::GraphicsContext::canvasClip):
1584         * platform/graphics/skia/GraphicsContextSkia.cpp:
1585         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1586         (WebCore::GraphicsContext::clip):
1587         (WebCore::GraphicsContext::canvasClip):
1588         (WebCore::GraphicsContext::clipPath):
1589         * platform/graphics/skia/PlatformContextSkia.cpp:
1590         (PlatformContextSkia::clipPathAntiAliased):
1591         (PlatformContextSkia::restore):
1592         (PlatformContextSkia::applyAntiAliasedClipPaths):
1593         * platform/graphics/skia/PlatformContextSkia.h:
1594         * platform/graphics/win/GraphicsContextWin.cpp:
1595         (WebCore::GraphicsContext::canvasClip):
1596         * platform/graphics/wince/GraphicsContextWince.cpp:
1597         (WebCore::GraphicsContext::canvasClip):
1598         * platform/graphics/wx/GraphicsContextWx.cpp:
1599         (WebCore::GraphicsContext::canvasClip):
1600
1601 2009-10-15  Eric Carlson  <eric.carlson@apple.com>
1602
1603         Reviewed by Simon Fraser.
1604
1605         <rdar://problem/7295738> No way to mute/unmute a movie in full screen video mode
1606
1607         * WebCore.Video.exp: Export muted and setMute.
1608
1609 2009-10-15  Simon Fraser  <simon.fraser@apple.com>
1610
1611         Reviewed by Dan Bernstein.
1612
1613         Transitions fail to run sometimes
1614         https://bugs.webkit.org/show_bug.cgi?id=26770
1615
1616         Fix an issue where we could attempt to start accelerated animations or transitions on
1617         GraphicsLayer that were not rooted (because of visibility:hidden), which would leave
1618         the AnimationController's m_waitingForResponse flag in a state that killed subsequent
1619         software transitions.
1620
1621         * page/animation/AnimationController.cpp:
1622         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
1623         (WebCore::AnimationControllerPrivate::endAnimationUpdate):
1624         (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
1625         (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
1626         (WebCore::AnimationControllerPrivate::startTimeResponse):
1627         * page/animation/AnimationControllerPrivate.h:
1628         Make some methods non-inline for ease of debugging (these are not hot methods).
1629         Rename m_waitingForAResponse to m_waitingForResponse.
1630         
1631         * platform/graphics/GraphicsLayer.h:
1632         * platform/graphics/GraphicsLayer.cpp:
1633         (WebCore::GraphicsLayer::hasAncestor):
1634         New method to report whether the receiver has the given layer as an ancestor. Used for checking
1635         whether a layer is rooted.
1636
1637         * rendering/RenderLayerBacking.cpp:
1638         (WebCore::RenderLayerBacking::startAnimation):
1639         (WebCore::RenderLayerBacking::startTransition):
1640         Don't try to start accelerated animations or transitions on non-rooted GraphicsLayers.
1641
1642 2009-10-15  Alexander Pavlov  <apavlov@chromium.org>
1643
1644         Reviewed by Pavel Feldman.
1645
1646         Refactor ProfilesPanel to support multiple profile types
1647
1648         Data describing different profile types are now stored in distinct objects.
1649         https://bugs.webkit.org/show_bug.cgi?id=30332
1650
1651         * WebCore.vcproj/WebCore.vcproj:
1652         * inspector/front-end/ProfileView.js:
1653         (WebInspector.CPUProfileView.profileCallback):
1654         (WebInspector.CPUProfileView):
1655         (WebInspector.CPUProfileView.prototype._sortData):
1656         (WebInspector.CPUProfileType):
1657         (WebInspector.CPUProfileType.prototype.get buttonTooltip):
1658         (WebInspector.CPUProfileType.prototype.get buttonStyle):
1659         (WebInspector.CPUProfileType.prototype.buttonClicked):
1660         (WebInspector.CPUProfileType.prototype.setRecordingProfile):
1661         (WebInspector.CPUProfile):
1662         (WebInspector.CPUProfile.prototype.get title):
1663         (WebInspector.CPUProfile.prototype.get uid):
1664         (WebInspector.CPUProfile.prototype.get head):
1665         (WebInspector.CPUProfile.prototype.createView):
1666         (WebInspector.CPUProfile.prototype.viewForProfile):
1667         * inspector/front-end/ProfilesPanel.js:
1668         (WebInspector.ProfileType):
1669         (WebInspector.ProfileType.prototype.get buttonTooltip):
1670         (WebInspector.ProfileType.prototype.get buttonStyle):
1671         (WebInspector.ProfileType.prototype.get buttonCaption):
1672         (WebInspector.ProfileType.prototype.get id):
1673         (WebInspector.ProfileType.prototype.get name):
1674         (WebInspector.ProfileType.prototype.buttonClicked):
1675         (WebInspector.ProfilesPanel):
1676         (WebInspector.ProfilesPanel.prototype.get statusBarItems.clickHandler):
1677         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
1678         (WebInspector.ProfilesPanel.prototype.reset):
1679         (WebInspector.ProfilesPanel.prototype.registerProfileType):
1680         (WebInspector.ProfilesPanel.prototype._makeKey):
1681         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
1682         (WebInspector.ProfilesPanel.prototype.showProfile):
1683         (WebInspector.ProfilesPanel.prototype.getProfileType):
1684         (WebInspector.ProfilesPanel.prototype.showProfileForURL):
1685         (WebInspector.ProfilesPanel.prototype.updateProfileTypeButtons):
1686         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
1687         (WebInspector.ProfilesPanel.prototype.get searchableViews):
1688         (WebInspector.ProfilesPanel.prototype._updateInterface):
1689         * inspector/front-end/inspector.js:
1690         (WebInspector._createPanels):
1691         (WebInspector.documentClick.followLink):
1692         (WebInspector.documentClick):
1693         (WebInspector.addProfileHeader):
1694         (WebInspector.setRecordingProfile):
1695         (WebInspector.linkifyStringAsFragment):
1696         (WebInspector.showProfileForURL):
1697
1698 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
1699
1700         Reviewed by Timothy Hatcher.
1701
1702         Web Inspector: Enable inspector layout tests.
1703
1704         https://bugs.webkit.org/show_bug.cgi?id=30014
1705
1706         * inspector/InspectorController.cpp:
1707         (WebCore::InspectorController::evaluateForTestInFrontend):
1708
1709 2009-10-15  Philippe Normand  <pnormand@igalia.com>
1710
1711         Reviewed by Gustavo Noronha.
1712
1713         [GStreamer] READY state doesn't mean "enough data"
1714         https://bugs.webkit.org/show_bug.cgi?id=30003
1715
1716         STATE_READY means MediaPlayer::HaveNothing
1717
1718         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1719         (WebCore::MediaPlayerPrivate::updateStates):
1720
1721 2009-10-15  Philippe Normand  <pnormand@igalia.com>
1722
1723         Reviewed by Gustavo Noronha.
1724
1725         https://bugs.webkit.org/show_bug.cgi?id=30002
1726
1727         implement cancelLoad
1728
1729         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1730         (WebCore::MediaPlayerPrivate::cancelLoad):
1731
1732 2009-10-15  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1733
1734         Reviewed by Gustavo Noronha.
1735
1736         https://bugs.webkit.org/show_bug.cgi?id=30353
1737         
1738         Fix race condition, leading to a deadlock
1739
1740         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
1741         (webkit_video_sink_timeout_func):
1742         (webkit_video_sink_render):
1743         (unlock_buffer_mutex):
1744         (webkit_video_sink_unlock):
1745         (webkit_video_sink_unlock_stop):
1746         (webkit_video_sink_stop):
1747         (webkit_video_sink_start):
1748         (webkit_video_sink_class_init):
1749         Fix race condition in unlock/render that would lead to deadlocks.
1750
1751 2009-10-15  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1752
1753         Reviewed by Gustavo Noronha.
1754
1755         https://bugs.webkit.org/show_bug.cgi?id=30374
1756         
1757         Check if caps are valid before parsing them
1758
1759         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1760         (WebCore::MediaPlayerPrivate::duration):
1761         Check if caps are valid before parsing them in ::naturalSize().
1762         This prevents assertions if the natural size should be calculated
1763         before the video caps are negotiated.
1764
1765 2009-10-15  Philippe Normand  <pnormand@igalia.com>
1766
1767         Reviewed by Gustavo Noronha.
1768
1769         https://bugs.webkit.org/show_bug.cgi?id=30006
1770         [GStreamer] Unnecessary checks for Messages types in callbacks
1771
1772         refactored gst message callbacks into a single one
1773
1774         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1775         (WebCore::mediaPlayerPrivateMessageCallback):
1776         (WebCore::do_gst_init):
1777         (WebCore::MediaPlayerPrivate::duration):
1778         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1779
1780 2009-10-15  Shu Chang  <Chang.Shu@nokia.com>
1781
1782         Reviewed by Adele Peterson.
1783
1784         Anchor elements should be mouse focusable regardless isLink flag.
1785         https://bugs.webkit.org/show_bug.cgi?id=26856
1786
1787         * html/HTMLAnchorElement.cpp:
1788         * html/HTMLAnchorElement.h:
1789
1790 2009-10-15  Nikolas Zimmermann  <nzimmermann@rim.com>
1791
1792         Not reviewed. Sort XCode project file.
1793
1794         * WebCore.xcodeproj/project.pbxproj:
1795
1796 2009-10-15  Yury Semikhatsky  <yurys@chromium.org>
1797
1798         Reviewed by Dave Hyatt.
1799
1800         Return correct shorthand property name for 
1801         background-repeat-x, background-repeat-y, background-position-x,
1802         background-position-y, -webkit-mask-position-x, -webkit-mask-position-y,
1803         -webkit-mask-repeat-x, -webkit-mask-repeat-y.
1804
1805         https://bugs.webkit.org/show_bug.cgi?id=28972
1806
1807         Test: fast/backgrounds/repeat/background-repeat-shorthand.html
1808
1809         * css/CSSParser.cpp:
1810         (WebCore::CSSParser::parseValue):
1811
1812 2009-10-14  Mikhail Naganov  <mnaganov@chromium.org>
1813
1814         Reviewed by Pavel Feldman.
1815
1816         Web Inspector: Migrate profiles to the injected script-based schema.
1817
1818         https://bugs.webkit.org/show_bug.cgi?id=30328
1819
1820         * bindings/js/JSInspectorBackendCustom.cpp:
1821         * bindings/v8/custom/V8CustomBinding.h:
1822         * inspector/InspectorBackend.cpp:
1823         (WebCore::InspectorBackend::getProfileHeaders):
1824         (WebCore::InspectorBackend::getProfile):
1825         * inspector/InspectorBackend.h:
1826         * inspector/InspectorBackend.idl:
1827         * inspector/InspectorController.cpp:
1828         (WebCore::InspectorController::addProfile):
1829         (WebCore::InspectorController::getProfileHeaders):
1830         (WebCore::InspectorController::getProfile):
1831         (WebCore::InspectorController::createProfileHeader):
1832         * inspector/InspectorController.h:
1833         * inspector/InspectorFrontend.cpp:
1834         (WebCore::InspectorFrontend::addProfileHeader):
1835         (WebCore::InspectorFrontend::didGetProfileHeaders):
1836         (WebCore::InspectorFrontend::didGetProfile):
1837         * inspector/InspectorFrontend.h:
1838         * inspector/JavaScriptProfileNode.cpp:
1839         (WebCore::ProfileNodeClass):
1840         * inspector/front-end/ProfileView.js:
1841         (WebInspector.ProfileView.profileCallback):
1842         (WebInspector.ProfileView):
1843         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
1844         (WebInspector.ProfileView.prototype._assignParentsInProfile):
1845         * inspector/front-end/ProfilesPanel.js:
1846         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
1847         * inspector/front-end/inspector.js:
1848         (WebInspector.addProfileHeader):
1849
1850 2009-10-14  Pavel Feldman  <pfeldman@chromium.org>
1851
1852         Reviewed by Timothy Hatcher.
1853
1854         Web Inspector: Create and update frontend script objects only when
1855         web inspector is visible.
1856
1857         https://bugs.webkit.org/show_bug.cgi?id=30376
1858
1859         * inspector/InspectorController.cpp:
1860         (WebCore::InspectorController::addConsoleMessage):
1861         (WebCore::InspectorController::populateScriptObjects):
1862         (WebCore::InspectorController::pruneResources):
1863         (WebCore::InspectorController::didCommitLoad):
1864         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
1865         (WebCore::InspectorController::identifierForInitialRequest):
1866         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
1867         (WebCore::InspectorController::mainResourceFiredLoadEvent):
1868         (WebCore::InspectorController::willSendRequest):
1869         (WebCore::InspectorController::didReceiveResponse):
1870         (WebCore::InspectorController::didReceiveContentLength):
1871         (WebCore::InspectorController::didFinishLoading):
1872         (WebCore::InspectorController::didFailLoading):
1873         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
1874         (WebCore::InspectorController::scriptImported):
1875         (WebCore::InspectorController::didOpenDatabase):
1876         (WebCore::InspectorController::didUseDOMStorage):
1877         (WebCore::InspectorController::evaluateForTestInFrontend):
1878
1879 2009-10-15  Joseph Pecoraro  <joepeck@webkit.org>
1880
1881         Fix Windows build.
1882
1883         * dom/Document.idl:
1884
1885 2009-10-14  Joseph Pecoraro  <joepeck@webkit.org>
1886
1887         Reviewed by Adam Barth.
1888
1889         [HTML5] Add document.head
1890         https://bugs.webkit.org/show_bug.cgi?id=30232
1891
1892         Test is fast/dom/document-head.html
1893
1894         * dom/Document.idl: added readonly attribute head
1895
1896 2009-10-14  Matt Mueller  <mattm@chromium.org>
1897
1898         Reviewed by Darin Adler.
1899
1900         Check FNonNeg after the unit switch to avoid valgrind uninitialised conditional reference in WebCore::CSSParser::validUnit.  See http://crbug.com/20939.
1901         https://bugs.webkit.org/show_bug.cgi?id=30347
1902         https://bugs.webkit.org/show_bug.cgi?id=22772
1903
1904         Covered by running LayoutTests/fast/css/invalid-percentage-property.html under valgrind.
1905
1906         * css/CSSParser.cpp:
1907         (WebCore::CSSParser::validUnit):
1908
1909 2009-10-14  Adam Barth  <abarth@webkit.org>
1910
1911         Reviewed by Sam Weinig.
1912
1913         Move scrolling code from FrameLoader to FrameView
1914         https://bugs.webkit.org/show_bug.cgi?id=30370
1915
1916         This code is about controlling the Frame's view, not about loading
1917         stuff into the frame.
1918
1919         * loader/FrameLoader.cpp:
1920         (WebCore::FrameLoader::finishedParsing):
1921         (WebCore::FrameLoader::scrollToAnchor):
1922         * page/FrameView.cpp:
1923         (WebCore::FrameView::scrollToFragment):
1924         (WebCore::FrameView::scrollToAnchor):
1925         * page/FrameView.h:
1926
1927 2009-10-14  Oliver Hunt  <oliver@apple.com>
1928
1929         Reviewed by Geoff Garen.
1930
1931         Make typeinfo flags default to false
1932         https://bugs.webkit.org/show_bug.cgi?id=30372
1933         
1934         Part 1. Reverse the HasStandardGetOwnPropertySlot flag.
1935
1936         * bindings/js/JSDOMBinding.h:
1937         (WebCore::DOMObjectWithGlobalPointer::createStructure):
1938         (WebCore::DOMConstructorObject::createStructure):
1939         * bindings/js/JSDOMWindowShell.h:
1940         (WebCore::JSDOMWindowShell::createStructure):
1941         * bindings/js/JSHTMLAllCollection.h:
1942         (WebCore::JSHTMLAllCollection::createStructure):
1943         * bindings/js/JSQuarantinedObjectWrapper.h:
1944         (WebCore::JSQuarantinedObjectWrapper::createStructure):
1945         * bindings/scripts/CodeGeneratorJS.pm:
1946         * bridge/objc/objc_runtime.h:
1947         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
1948         * bridge/runtime_array.h:
1949         (JSC::RuntimeArray::createStructure):
1950         * bridge/runtime_method.h:
1951         (JSC::RuntimeMethod::createStructure):
1952         * bridge/runtime_object.h:
1953         (JSC::RuntimeObjectImp::createStructure):
1954
1955 2009-10-14  Adam Barth  <abarth@webkit.org>
1956
1957         Reviewed by Darin Adler.
1958
1959         [XSSAuditor] Add an exception for local files
1960         https://bugs.webkit.org/show_bug.cgi?id=30352
1961
1962         Reduce XSS auditor false positives by always letting pages load scripts
1963         from their own host. We don't actually know of any false positives
1964         that this prevents, but it seems like a good idea.
1965
1966         One subtly is that we don't add this exception for scripts that have a
1967         query string because (1) URLs with query strings are more apt to
1968         confuse servers and (2) it is much less common to load scripts with a
1969         query string.
1970
1971         Tests: http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html
1972                http/tests/security/xssAuditor/script-tag-with-source-same-host.html
1973
1974         * page/XSSAuditor.cpp:
1975         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1976
1977 2009-10-14  Nikolas Zimmermann  <nzimmermann@rim.com>
1978
1979         Reviewed by George Staikos.
1980
1981         Kill virtual contextElement() method spread all over SVG code
1982         https://bugs.webkit.org/show_bug.cgi?id=30183
1983
1984         Remove virtual contextElement() function from all SVG*Element classes, as all animated properties live in the
1985         SVG*Element classes now instead of the SVGFitToViewBox / SVGURIReference / SVGExternalResourcesRequired
1986         subclasses. This is a first step to working animVal support. More patches will follow that depend on this change.
1987
1988         Remove "This file is part of the KDE project" from several files, change my old mail adress wildfox -> zimmermann,
1989         and remove vim modelines on all files I touched. No change in functionality, thus no new tests.
1990
1991         * svg/SVGAElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
1992         * svg/SVGAltGlyphElement.h: Remove virtual contextElement() method.
1993         * svg/SVGAnimatedProperty.h:
1994         (WebCore::::synchronize):
1995         (WebCore::::startAnimation):
1996         (WebCore::::stopAnimation):
1997         * svg/SVGAnimationElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
1998         * svg/SVGCircleElement.h: Ditto.
1999         * svg/SVGClipPathElement.h: Ditto.
2000         * svg/SVGCursorElement.h: Ditto.
2001         * svg/SVGDefsElement.h: Ditto.
2002         * svg/SVGEllipseElement.h: Ditto.
2003         * svg/SVGExternalResourcesRequired.h: Remove pure-virtual contextElement() method.
2004         * svg/SVGFEImageElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2005         * svg/SVGFELightElement.h: Remove virtual contextElement() method.
2006         * svg/SVGFEMergeNodeElement.h: Ditto.
2007         * svg/SVGFilterElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2008         * svg/SVGFilterPrimitiveStandardAttributes.h: Remove virtual contextElement() method.
2009         * svg/SVGFitToViewBox.cpp:
2010         (WebCore::SVGFitToViewBox::parseViewBox): Add Document* parameter - we used to fetch the Document pointer from the context element.
2011         (WebCore::SVGFitToViewBox::parseMappedAttribute): Ditto.
2012         * svg/SVGFitToViewBox.h: Remove pure-virtual contextElement() method.
2013         * svg/SVGFontElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2014         * svg/SVGForeignObjectElement.h: Ditto.
2015         * svg/SVGGElement.h: Ditto.
2016         * svg/SVGGradientElement.h: Ditto.
2017         * svg/SVGImageElement.h: Ditto.
2018         * svg/SVGLineElement.h: Ditto.
2019         * svg/SVGMPathElement.h: Ditto. Fix license indention.
2020         * svg/SVGMarkerElement.cpp:
2021         (WebCore::SVGMarkerElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
2022         * svg/SVGMarkerElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2023         * svg/SVGMaskElement.h: Ditto.
2024         * svg/SVGPathElement.h: Ditto.
2025         * svg/SVGPatternElement.cpp:
2026         (WebCore::SVGPatternElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
2027         * svg/SVGPatternElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2028         * svg/SVGPolyElement.cpp:
2029         (WebCore::SVGPolyElement::updateAnimatedSVGAttribute): synchronizeProperty<...>() has been renamed to PropertySynchronizer<...>::synchronize().
2030         * svg/SVGPolyElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2031         * svg/SVGRectElement.h: Ditto.
2032         * svg/SVGSVGElement.cpp:
2033         (WebCore::SVGSVGElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
2034         * svg/SVGSVGElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2035         * svg/SVGScriptElement.h: Ditto.
2036         * svg/SVGSwitchElement.h: Ditto.
2037         * svg/SVGSymbolElement.cpp:
2038         (WebCore::SVGSymbolElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
2039         * svg/SVGSymbolElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2040         * svg/SVGTRefElement.h: Remove virtual contextElement() method.
2041         * svg/SVGTextContentElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2042         * svg/SVGTextPathElement.h: Remove virtual contextElement() method.
2043         * svg/SVGUseElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2044         * svg/SVGViewElement.cpp:
2045         (WebCore::SVGViewElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
2046         * svg/SVGViewElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2047         * svg/SVGViewSpec.cpp:
2048         (WebCore::SVGViewSpec::setViewBoxString): Pass document() to SVGFitToViewBox::parseMappedAttribute().
2049         (WebCore::SVGViewSpec::parseViewSpec): Ditto.
2050         * svg/SVGViewSpec.h: Devirtualize contextElement() method, it's the only place where contextElement() remains needed.
2051
2052 2009-10-14  Dirk Schulze  <krit@webkit.org>
2053
2054         Reviewed by Nikolas Zimmermann.
2055
2056         SVG Masking with wrong offset
2057         [https://bugs.webkit.org/show_bug.cgi?id=30325]
2058
2059         SVGMaskElement moves the mask image graphics context to the wrong location.
2060         In objectBoundingBoxMode the maskDestRect gets translated. This transformation
2061         is not used in the later calculation. Fix by consistenly calculating the translation
2062         offsets from the final mask destination rect.
2063
2064         Test: svg/custom/mask-with-default-value.svg
2065
2066         * svg/SVGMaskElement.cpp:
2067         (WebCore::SVGMaskElement::drawMaskerContent):
2068
2069 2009-10-14  Kevin Decker  <kdecker@apple.com>
2070
2071         Rubberstamped by Jon Honeycutt.
2072         
2073         Export a few more showSubstituteImage() related methods.
2074         
2075         * WebCore.base.exp:
2076         * WebCore.xcodeproj/project.pbxproj:
2077
2078 2009-10-14  Evan Martin  <evan@chromium.org>
2079
2080         Reviewed by Darin Adler.
2081
2082         Stringify CSS units manually (without printf) to make the formatting
2083         locale-insensitive and obey CSS spec with respect to large values.
2084         
2085         https://bugs.webkit.org/show_bug.cgi?id=18994
2086
2087         * css/CSSPrimitiveValue.cpp:
2088         (WebCore::appendCSSDouble):
2089         (WebCore::formatWithUnits):
2090         (WebCore::CSSPrimitiveValue::cssText):
2091
2092 2009-10-14  Mark Seaborn  <mseaborn@google.com>
2093
2094         Reviewed by Darin Adler.
2095
2096         Check error return value in Perl build script
2097         https://bugs.webkit.org/show_bug.cgi?id=30316
2098
2099         * css/makevalues.pl: Die if gperf fails.
2100
2101 2009-10-14  Dirk Schulze  <krit@webkit.org>
2102
2103         Reviewed by Nikolas Zimmermann.
2104
2105         SVG wrong filterRegions for userSpaceOnUse and percentage values
2106         [https://bugs.webkit.org/show_bug.cgi?id=30330]
2107
2108         Some clean-up of the SVG filter calculation code. This clean-up
2109         also fixes the problem with percentage and userSpaceInUse mode.
2110
2111         Test: svg/filters/subRegion-in-userSpace.svg
2112
2113         * platform/graphics/filters/FilterEffect.cpp:
2114         (WebCore::FilterEffect::FilterEffect):
2115         * platform/graphics/filters/FilterEffect.h:
2116         * rendering/SVGRenderSupport.cpp:
2117         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
2118         * svg/SVGFilterElement.cpp:
2119         (WebCore::SVGFilterElement::buildFilter):
2120         (WebCore::SVGFilterElement::canvasResource):
2121         * svg/SVGFilterElement.h:
2122         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2123         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
2124         * svg/graphics/SVGResourceFilter.cpp:
2125         (WebCore::SVGResourceFilter::SVGResourceFilter):
2126         (WebCore::SVGResourceFilter::~SVGResourceFilter):
2127         (WebCore::SVGResourceFilter::addFilterEffect):
2128         (WebCore::SVGResourceFilter::prepareFilter):
2129         * svg/graphics/SVGResourceFilter.h:
2130         (WebCore::SVGResourceFilter::create):
2131         * svg/graphics/filters/SVGFilter.cpp:
2132         (WebCore::SVGFilter::SVGFilter):
2133         (WebCore::SVGFilter::calculateEffectSubRegion):
2134         (WebCore::SVGFilter::create):
2135         * svg/graphics/filters/SVGFilter.h:
2136
2137 2009-10-14  Chris Marrin  <cmarrin@apple.com>
2138
2139         The last change fixed the problem, removing diagnostic printfs.
2140
2141         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2142         (WebCore::GraphicsContext3D::GraphicsContext3D):
2143
2144 2009-10-14  Kevin Ollivier  <kevino@theolliviers.com>
2145
2146         CURL build fix for versions < 7.18.
2147
2148         * platform/network/curl/ResourceHandleCurl.cpp:
2149         (WebCore::ResourceHandle::setDefersLoading):
2150         * platform/network/curl/ResourceHandleManager.cpp:
2151         (WebCore::ResourceHandleManager::initializeHandle):
2152
2153 2009-10-14  Chris Marrin  <cmarrin@apple.com>
2154
2155         One more round of changes to figure out why the webgl 
2156         tests are crashing on the build bot. Here I am trying
2157         to see if we can create a software renderer. I am also
2158         printing the found pixel formats.
2159
2160         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2161         (WebCore::GraphicsContext3D::GraphicsContext3D):
2162
2163 2009-10-14  Yael Aharon  <yael.aharon@nokia.com>
2164  
2165         Reviewed by Simon Hausmann.
2166  
2167         Enabling NPAPI plugin support on Qt Webkit for S60 platform
2168         https://bugs.webkit.org/show_bug.cgi?id=29302
2169
2170         Also implemented by Mahesh Kulkarni<mahesh.kulkarni@nokia.com>, 
2171         Rohini Ananth <rohini.ananth@nokia.com> and help from Norbert Lesr
2172         <norbert.leser@nokia.com>
2173          
2174         * WebCore.pro:
2175         Enabling ENABLE_NETSCAPE_PLUGIN_API for S60 and added S60 specific 
2176         new plugin files to be compiled under symbian: macro
2177
2178         * bridge/npapi.h:
2179         Added NPEvent and NPRegion definition for Symbian
2180
2181         * plugins/PluginPackage.h:
2182         Added S60 specific plugin interface and plugin loader variables
2183         * plugins/PluginPackage.cpp:
2184         (WebCore::PluginPackage::unload): Added !PLATFORM(SYMBIAN) macro.
2185         Default implementation to be used only for non-symbian platform
2186         * plugins/PluginDatabase.cpp:
2187         Macro !SYMBIAN checking
2188         * plugins/PluginView.h:
2189         Add Symbian to platforms that support setNPWindowIfNeeded
2190         * plugins/PluginView.cpp:
2191         (WebCore::PluginView::setFrameRect): Add Symbian to platforms that
2192         call setNPWindowRect from setFrameRect
2193          
2194         Added folder 'symbian' which contains implementation files for S60
2195         platform-specific NPAPI plugin functionality, under /plugins folder
2196         * plugins/symbian
2197         * plugins/symbian/npinterface.h:
2198         Plugin Interface to be implemented by S60 NPAPI plugins 
2199         * plugins/symbian/PluginContainerSymbian.h:
2200         * plugins/symbian/PluginContainerSymbian.cpp:
2201         * plugins/symbian/PluginDatabaseSymbian.cpp:
2202         * plugins/symbian/PluginViewSymbian.cpp:
2203         * plugins/symbian/PluginPackageSymbian.cpp:
2204
2205 2009-10-14  Chris Marrin  <cmarrin@apple.com>
2206
2207         More changes to figure out why the webgl tests are crashing on the build bot.
2208
2209         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2210         (WebCore::GraphicsContext3D::GraphicsContext3D):
2211
2212 2009-10-14  Victor Wang  <victorw@chromium.org>
2213
2214         Reviewed by David Hyatt.
2215
2216         Round non-integer line height values.
2217
2218         Change webkit to rounding non-integer line height values
2219         instead of truncating them. This fixes a layout test
2220         failure on Windows and matches the calculation in IE and Firefox. 
2221
2222         https://bugs.webkit.org/show_bug.cgi?id=24434
2223
2224         Test: fast/css/line-height-rounding.html
2225               fast/forms/textarea-scrollbar-height.htm
2226
2227         * css/CSSComputedStyleDeclaration.cpp:
2228         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2229         * rendering/InlineFlowBox.cpp:
2230         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2231         * rendering/RenderBR.cpp:
2232         (WebCore::RenderBR::lineHeight):
2233         * rendering/style/RenderStyle.h:
2234         (WebCore::InheritedFlags::computedLineHeight):
2235
2236 2009-10-13  Kelly Norton  <knorton@google.com>
2237
2238         Reviewed by Pavel Feldman.
2239
2240         Removes the persistent setting for InspectorTimelineAgent and renames timeline related
2241         interfaces to be more consistent with the JavaScript profiler.
2242
2243         * inspector/InspectorBackend.cpp:
2244         (WebCore::InspectorBackend::startTimelineProfiler):
2245         (WebCore::InspectorBackend::stopTimelineProfiler):
2246         (WebCore::InspectorBackend::timelineProfilerEnabled):
2247         * inspector/InspectorBackend.h:
2248         * inspector/InspectorBackend.idl:
2249         * inspector/InspectorController.cpp:
2250         (WebCore::InspectorController::setFrontendProxyObject):
2251         (WebCore::InspectorController::startTimelineProfiler):
2252         (WebCore::InspectorController::stopTimelineProfiler):
2253         (WebCore::InspectorController::timelineProfilerEnabled):
2254         * inspector/InspectorController.h:
2255         * inspector/InspectorFrontend.cpp:
2256         (WebCore::InspectorFrontend::timelineProfilerWasStarted):
2257         (WebCore::InspectorFrontend::timelineProfilerWasStopped):
2258         * inspector/InspectorFrontend.h:
2259         * inspector/front-end/TimelineAgent.js:
2260         (WebInspector.timelineProfilerWasStarted):
2261         (WebInspector.timelineProfilerWasStopped):
2262
2263 2009-10-01  Yong Li  <yong.li@torchmobile.com>
2264
2265         Reviewed by Adele Peterson.
2266
2267         Fix crash when loading invalid image data
2268         https://bugs.webkit.org/show_bug.cgi?id=29980
2269
2270         * rendering/RenderImage.cpp:
2271         (WebCore::RenderImage::setImageSizeForAltText):
2272
2273 2009-10-09  Stephen White  <senorblanco@chromium.org>
2274
2275         Reviewed by Eric Seidel.
2276
2277         Fix for NULL ptr deref in canvas's toDataURL().
2278         https://bugs.webkit.org/show_bug.cgi?id=30254
2279
2280         Test: fast/canvas/canvas-toDataURL-crash.html
2281
2282         * html/HTMLCanvasElement.cpp:
2283         (WebCore::HTMLCanvasElement::toDataURL):
2284
2285 2009-10-14  Pavel Feldman  <pfeldman@chromium.org>
2286
2287         Not reviewed, reverting r49558 since it broke profiler tests.
2288
2289         https://bugs.webkit.org/show_bug.cgi?id=30328
2290
2291         * bindings/js/JSInspectorBackendCustom.cpp:
2292         * bindings/v8/custom/V8CustomBinding.h:
2293         * inspector/InspectorBackend.cpp:
2294         (WebCore::InspectorBackend::getProfileHeaders):
2295         (WebCore::InspectorBackend::getProfile):
2296         * inspector/InspectorBackend.h:
2297         * inspector/InspectorBackend.idl:
2298         * inspector/InspectorController.cpp:
2299         (WebCore::InspectorController::addProfile):
2300         (WebCore::InspectorController::getProfileHeaders):
2301         (WebCore::InspectorController::getProfile):
2302         (WebCore::InspectorController::createProfileHeader):
2303         * inspector/InspectorController.h:
2304         * inspector/InspectorFrontend.cpp:
2305         (WebCore::InspectorFrontend::addProfileHeader):
2306         (WebCore::InspectorFrontend::didGetProfileHeaders):
2307         (WebCore::InspectorFrontend::didGetProfile):
2308         * inspector/InspectorFrontend.h:
2309         * inspector/JavaScriptProfileNode.cpp:
2310         (WebCore::ProfileNodeClass):
2311         * inspector/front-end/ProfileView.js:
2312         (WebInspector.ProfileView.profileCallback):
2313         (WebInspector.ProfileView):
2314         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
2315         (WebInspector.ProfileView.prototype._assignParentsInProfile):
2316         * inspector/front-end/ProfilesPanel.js:
2317         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
2318         * inspector/front-end/inspector.js:
2319         (WebInspector.addProfileHeader):
2320
2321 2009-10-13  Holger Hans Peter Freyther  <zecke@selfish.org>
2322
2323         Reviewed by Simon Hausmann.
2324
2325         ImageDecoderQt: Minor tweaks to the decoder
2326
2327         - Only cache the data when we start to use it.
2328         - Start with a repetition count of none for normal images.
2329         - Do not use canRead as this will trigger parsing of the full image
2330         - Cope with a GIF failing to decode the first frame, do not
2331           set m_failed to true if decoding the first frame failed
2332         - Inform the QImageReader about the format that was detected
2333         - Always create a ImageDecoderQt when when we have more
2334         than four byte.
2335
2336
2337         * platform/graphics/qt/ImageDecoderQt.cpp:
2338         (WebCore::ImageDecoder::create): Always create QImageReader for a significant speed up
2339         (WebCore::ImageDecoderQt::ImageDecoderQt): Initialize m_repetitionCount to cAnimationNone
2340         (WebCore::ImageDecoderQt::setData): Only call ImageDecoder::setData when everything has been received
2341         (WebCore::ImageDecoderQt::isSizeAvailable): Do not check m_failed twice.
2342         (WebCore::ImageDecoderQt::filenameExtension): Convert from QByteArray to String
2343         (WebCore::ImageDecoderQt::frameBufferAtIndex): Check for m_failed before trying to decode
2344         (WebCore::ImageDecoderQt::internalDecodeSize): Fail if the size is QSize()
2345         (WebCore::ImageDecoderQt::forceLoadEverything): Handle the case were decoding the first frame fails
2346         * platform/graphics/qt/ImageDecoderQt.h: Change the m_format type
2347
2348 2009-10-14  Mikhail Naganov  <mnaganov@chromium.org>
2349
2350         Reviewed by Pavel Feldman.
2351
2352         Web Inspector: Migrate profiles to the injected script-based schema.
2353
2354         https://bugs.webkit.org/show_bug.cgi?id=30328
2355
2356         * bindings/js/JSInspectorBackendCustom.cpp:
2357         * bindings/v8/custom/V8CustomBinding.h:
2358         * inspector/InspectorBackend.cpp:
2359         (WebCore::InspectorBackend::getProfileHeaders):
2360         (WebCore::InspectorBackend::getProfile):
2361         * inspector/InspectorBackend.h:
2362         * inspector/InspectorBackend.idl:
2363         * inspector/InspectorController.cpp:
2364         (WebCore::InspectorController::addProfile):
2365         (WebCore::InspectorController::getProfileHeaders):
2366         (WebCore::InspectorController::getProfile):
2367         (WebCore::InspectorController::createProfileHeader):
2368         * inspector/InspectorController.h:
2369         * inspector/InspectorFrontend.cpp:
2370         (WebCore::InspectorFrontend::addProfileHeader):
2371         (WebCore::InspectorFrontend::didGetProfileHeaders):
2372         (WebCore::InspectorFrontend::didGetProfile):
2373         * inspector/InspectorFrontend.h:
2374         * inspector/JavaScriptProfileNode.cpp:
2375         (WebCore::ProfileNodeClass):
2376         * inspector/front-end/ProfileView.js:
2377         (WebInspector.ProfileView.profileCallback):
2378         (WebInspector.ProfileView):
2379         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
2380         (WebInspector.ProfileView.prototype._assignParentsInProfile):
2381         * inspector/front-end/ProfilesPanel.js:
2382         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
2383         * inspector/front-end/inspector.js:
2384         (WebInspector.addProfileHeader):
2385
2386 2009-10-13  Yury Semikhatsky  <yurys@chromium.org>
2387
2388         Reviewed by Pavel Feldman.
2389
2390         Don't collect call frame properties until they're needed for completion.
2391
2392         https://bugs.webkit.org/show_bug.cgi?id=30334
2393
2394         * inspector/front-end/ConsoleView.js:
2395         (WebInspector.ConsoleView.prototype.completions):
2396         * inspector/front-end/InjectedScript.js:
2397         (InjectedScript.getCompletions): if call frame id is specified and the expression is empty collect frame properties.
2398         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain): don't send call frame properties until they're needed.
2399         * inspector/front-end/ScriptsPanel.js:
2400
2401 >>>>>>> .r49765
2402 2009-10-13  Yongjun Zhang  <yongjun.zhang@nokia.com>
2403
2404         Reviewed by Ariya Hidayat.
2405
2406         https://bugs.webkit.org/show_bug.cgi?id=29106
2407         [Qt] make CachedResourceHandle.h compile in winscw Symbian compiler.
2408
2409         Don't inline constructor CachedResourceHandle<T>(R*) to stop winscw
2410         compiler aggressively resolve inheritance of class R.  
2411         
2412         The winscw compiler bug is reported at:
2413         https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812.
2414         
2415         The change should be reverted when the above bug is fixed in winscw compiler.
2416
2417         * loader/CachedResourceHandle.h:
2418         (WebCore::::CachedResourceHandle):
2419
2420 2009-10-13  Dimitri Glazkov  <dglazkov@chromium.org>
2421
2422         No review, rolling out r49554, because it broke Win and Chromium builds.
2423         http://trac.webkit.org/changeset/49554
2424
2425         * css/CSSPrimitiveValue.cpp:
2426         (WebCore::CSSPrimitiveValue::cssText):
2427
2428 2009-10-13  Evan Martin  <evan@chromium.org>
2429
2430         Reviewed by Adam Barth.
2431
2432         Stringify CSS units manually (without printf) to make the formatting
2433         locale-insensitive and obey CSS spec with respect to large values.
2434         
2435         https://bugs.webkit.org/show_bug.cgi?id=18994
2436
2437         * css/CSSPrimitiveValue.cpp:
2438         (WebCore::appendCSSDouble):
2439         (WebCore::formatWithUnits):
2440         (WebCore::CSSPrimitiveValue::cssText):
2441
2442 2009-10-13  Evan Martin  <evan@chromium.org>
2443
2444         Reviewed by David Levin.
2445
2446         Make grippy lines vertical on horizontal scrollbars in Linux Chrome.
2447         While we're rebaselining scrollbars, fix an off by one in the vertical
2448         scrollbar rendering too.
2449
2450         https://bugs.webkit.org/show_bug.cgi?id=30319
2451
2452         Tests: this is covered by every pixel test involving scrollbars.
2453
2454         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
2455         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
2456
2457 2009-10-13  Sam Weinig  <sam@webkit.org>
2458
2459         Reviewed by David Hyatt.
2460
2461         Fix issue where clientX and clientY on MouseEvents were wrong when
2462         the page was zoomed and scrolled.
2463
2464         Test: fast/events/clientXY-in-zoom-and-scroll.html
2465
2466         * dom/MouseRelatedEvent.cpp:
2467         (WebCore::contentsX): Take page zoom into account.
2468         (WebCore::contentsY): Ditto.
2469
2470 2009-10-13  Dave Hyatt  <hyatt@apple.com>
2471
2472         Reviewed by Adam Roben.
2473
2474         Change the order of arguments on some of the user stylesheet/script functions.  Split the removal functions
2475         out into separate ones for scripts and stylesheets.
2476
2477         * WebCore.base.exp:
2478         * page/PageGroup.cpp:
2479         (WebCore::PageGroup::addUserScriptToWorld):
2480         (WebCore::PageGroup::addUserStyleSheetToWorld):
2481         (WebCore::PageGroup::removeUserScriptFromWorld):
2482         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
2483         (WebCore::PageGroup::removeUserScriptsFromWorld):
2484         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
2485         * page/PageGroup.h:
2486         (WebCore::PageGroup::userScripts):
2487         (WebCore::PageGroup::userStyleSheets):
2488
2489 2009-10-13  Evan Martin  <evan@chromium.org>
2490
2491         Reviewed by Dmitry Titov.
2492
2493         Chrome's "Skia" theme paints select controls backwards in RTL.
2494
2495         https://bugs.webkit.org/show_bug.cgi?id=30320
2496
2497         Test: fast/text/international/bidi-menulist.html
2498         (The test is about something else, but it includes RTL selects.)
2499
2500         * rendering/RenderThemeChromiumSkia.cpp:
2501         (WebCore::RenderThemeChromiumSkia::paintMenuList): flip the arrow position in RTL case.
2502
2503 2009-10-13  Dmitry Titov  <dimich@chromium.org>
2504
2505         Reviewed by Alexey Proskuryakov.
2506
2507         https://bugs.webkit.org/show_bug.cgi?id=30318
2508         ScriptExecutionContext is not anymore needed to create an EventListener - remove old code.
2509         It's a followup to r48884. It removed the need to pass the ScritpExecutionContext
2510         into EventListener constructor but did not remove the code pulling ScriptExecutionContext.
2511
2512         Tests:
2513         Test adds event listener to a DocumentType Node which is created without a document
2514         and then dispatches the event after attaching a node to the tree. Event
2515         should fire when node is attached to the tree.
2516
2517         * fast/events/add-event-without-document-expected.txt: Added.
2518         * fast/events/add-event-without-document.html: Added.
2519
2520         All changes in files below are the same - remove the code that calls
2521         EventTarget::scriptExecutionContext and checks it for NULL.
2522
2523         * bindings/js/JSAbstractWorkerCustom.cpp:
2524         (WebCore::JSAbstractWorker::addEventListener):
2525         (WebCore::JSAbstractWorker::removeEventListener):
2526         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2527         (WebCore::JSDOMApplicationCache::addEventListener):
2528         (WebCore::JSDOMApplicationCache::removeEventListener):
2529         * bindings/js/JSDesktopNotificationsCustom.cpp:
2530         (WebCore::JSNotification::addEventListener):
2531         (WebCore::):
2532         * bindings/js/JSEventSourceCustom.cpp:
2533         (WebCore::JSEventSource::addEventListener):
2534         (WebCore::JSEventSource::removeEventListener):
2535         * bindings/js/JSMessagePortCustom.cpp:
2536         (WebCore::JSMessagePort::addEventListener):
2537         (WebCore::JSMessagePort::removeEventListener):
2538         * bindings/js/JSNodeCustom.cpp:
2539         (WebCore::JSNode::addEventListener):
2540         (WebCore::JSNode::removeEventListener):
2541         * bindings/js/JSSVGElementInstanceCustom.cpp:
2542         (WebCore::JSSVGElementInstance::addEventListener):
2543         (WebCore::JSSVGElementInstance::removeEventListener):
2544         * bindings/js/JSXMLHttpRequestCustom.cpp:
2545         (WebCore::JSXMLHttpRequest::addEventListener):
2546         (WebCore::JSXMLHttpRequest::removeEventListener):
2547         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2548         (WebCore::JSXMLHttpRequestUpload::addEventListener):
2549         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
2550         * bindings/js/JSWebSocketCustom.cpp:
2551         (WebCore::JSWebSocket::addEventListener):
2552         (WebCore::JSWebSocket::removeEventListener):
2553
2554 2009-10-13  Drew Wilson  <atwilson@atwilson-macpro.local>
2555
2556         Reviewed by David Levin.
2557
2558         Enable SHARED_WORKERS for Chromium
2559         https://bugs.webkit.org/show_bug.cgi?id=30289
2560
2561         Cleaned up bitrot in SharedWorker V8 bindings.
2562
2563         * WebCore.gypi:
2564         Removed default implementation of SharedWorkerRepository so Chromium can provide its own.
2565         * bindings/v8/DerivedSourcesAllInOne.cpp:
2566         Added V8SharedWorkerContext.cpp.
2567         * bindings/v8/V8DOMWrapper.cpp:
2568         (WebCore::V8DOMWrapper::getTemplate):
2569         Added case statements for SHAREDWORKER and SHAREDWORKERCONTEXT.
2570         * bindings/v8/V8Index.cpp:
2571         Now includes V8SharedWorkerContext.h to allow supporting SharedWorkers.
2572         * bindings/v8/V8Index.h:
2573         Added definition for SHAREDWORKERCONTEXT wrapper.
2574         * bindings/v8/WorkerContextExecutionProxy.cpp:
2575         Added includes for SharedWorker.h and SharedWorkerContext.h.
2576         * bindings/v8/custom/V8CustomBinding.h:
2577         Reorganized Worker field indexes to be clearer, and fixed mismatch in worker field index.
2578         Also added field indexes for SharedWorkers.
2579         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2580         (WebCore::ACCESSOR_RUNTIME_ENABLER):
2581         Added runtime enabler for the SharedWorker constructor.
2582         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
2583         (WebCore::CALLBACK_FUNC_DECL):
2584         Cleaned up bitrot (various APIs have changed since this file was written).
2585         * page/DOMWindow.idl:
2586         Added EnabledAtRuntime flag to window.SharedWorker.
2587
2588 2009-10-13  Alexey Proskuryakov  <ap@apple.com>
2589
2590         Reviewed by Brady Eidson.
2591
2592         https://bugs.webkit.org/show_bug.cgi?id=30345
2593         HTTP tests for credential handling fail on Tiger
2594
2595         We cannot prevent NSURLConnection from doing its credentil handling on Tiger anyway; so
2596         let it do its work without intervention. Once again, we pass explicitly passed credentials
2597         in URL, fixing regressions from Safari 3.
2598
2599         * platform/network/mac/ResourceHandleMac.mm:
2600         (WebCore::ResourceHandle::start):
2601         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2602         (WebCore::ResourceHandle::receivedCredential):
2603
2604 2009-10-13  Roland Steiner  <rolandsteiner@google.com>
2605
2606         Reviewed by Adam Barth.
2607
2608         Bug 28964 -  [Chromium] ChromiumDataObject should have getter/setter interface
2609
2610         Reworked and added to the getter/setter interface in ChromiumDataObject:
2611         - added contains...() methods to just query the state
2612         - added containsValid...URL() methods for URL data members
2613         - removed takeFileNames() as this was too type-dependent
2614         - changed return type of fileNames() to Vector<String>
2615         - added interface methods to allow appending to and iteration over file names
2616
2617         No new tests (no functional behavior changed).
2618
2619         * platform/chromium/ChromiumDataObject.h:
2620         (WebCore::ChromiumDataObject::containsMainURL):
2621         (WebCore::ChromiumDataObject::containsValidMainURL):
2622         (WebCore::ChromiumDataObject::containsMainURLTitle):
2623         (WebCore::ChromiumDataObject::containsTextPlain):
2624         (WebCore::ChromiumDataObject::containsTextHTML):
2625         (WebCore::ChromiumDataObject::containsHTMLBaseURL):
2626         (WebCore::ChromiumDataObject::containsValidHTMLBaseURL):
2627         (WebCore::ChromiumDataObject::containsContent):
2628         (WebCore::ChromiumDataObject::containsContentFileExtension):
2629         (WebCore::ChromiumDataObject::containsContentFileName):
2630         (WebCore::ChromiumDataObject::setContentFileName):
2631         (WebCore::ChromiumDataObject::containsFileNames):
2632         (WebCore::ChromiumDataObject::fileNames):
2633         (WebCore::ChromiumDataObject::clearFileNames):
2634         (WebCore::ChromiumDataObject::countFileNames):
2635         (WebCore::ChromiumDataObject::fileNameAt):
2636         (WebCore::ChromiumDataObject::setFileNames):
2637         (WebCore::ChromiumDataObject::appendToFileNames):
2638         (WebCore::ChromiumDataObject::popFileName):
2639
2640 2009-10-13  Simon Fraser  <simon.fraser@apple.com>
2641
2642         Temporary debugging changes to figure out why the webgl tests are crashing on the build bot.
2643
2644         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2645         (WebCore::GraphicsContext3D::GraphicsContext3D):
2646
2647 2009-10-13  Simon Fraser  <simon.fraser@apple.com>
2648
2649         Reviewed by Dan Bernstein.
2650
2651         Visibility:visible inside a compositing layer doesn't make the element visible
2652         https://bugs.webkit.org/show_bug.cgi?id=30339
2653         
2654         When deciding if a layer had any renderable content, RenderLayerBacking::paintIntoLayer()
2655         only consulted hasVisibleContent(), which does not take into a account child layers which
2656         may be visible. We also have to consult hasVisibleDescendant() as well.
2657
2658         Test: compositing/compositing-visible-descendant.html
2659
2660         * rendering/RenderLayer.h:
2661         (WebCore::RenderLayer::hasVisibleDescendant):
2662         * rendering/RenderLayerBacking.cpp:
2663         (WebCore::RenderLayerBacking::paintIntoLayer):
2664
2665 2009-10-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2666
2667         Reviewed by Simon Hausmann.
2668
2669         Refactor ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH
2670         https://bugs.webkit.org/show_bug.cgi?id=30278
2671
2672         Move the definition of ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 
2673         from the make system into common code.
2674
2675         Enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH if NETSCAPE_PLUGIN_API 
2676         support is not enabled.
2677
2678         Remove notImplemented() from PluginPackageNone.cpp and 
2679         PluginDataNone.cpp make them just empty functions.
2680
2681         * GNUmakefile.am:
2682         * WebCore.pro:
2683         * plugins/PluginDataNone.cpp:
2684         (WebCore::PluginData::initPlugins):
2685         (WebCore::PluginData::refresh):
2686         * plugins/PluginPackageNone.cpp:
2687         (WebCore::PluginPackage::determineQuirks):
2688         (WebCore::PluginPackage::fetchInfo):
2689         (WebCore::PluginPackage::load):
2690
2691 2009-10-13  Alexey Proskuryakov  <ap@apple.com>
2692
2693         Reviewed by Dan Bernstein.
2694
2695         https://bugs.webkit.org/show_bug.cgi?id=30150
2696         <rdar://problem/7283540> REGRESSION: Crash when accessing clipboardData.types
2697
2698         Test: editing/pasteboard/crash-accessing-clipboardData-types.html
2699
2700         * platform/mac/ClipboardMac.mm: (WebCore::addHTMLClipboardTypesForCocoaType): The String
2701         class doesn't have operator bool, it's operator NSString* that is invoked instead, and it
2702         converts null strings to non-null @"".
2703
2704 2009-10-13  Drew Wilson  <atwilson@atwilson-macpro.local>
2705
2706         Reviewed by Dimitri Glazkov.
2707
2708         window attributes (like localStorage) that are disabled at runtime are still visible
2709         https://bugs.webkit.org/show_bug.cgi?id=30240
2710
2711         Adding codegen/bindings to support runtime disabling of attributes.
2712
2713         No new tests (only supported by chrome currently)
2714
2715         * bindings/scripts/CodeGeneratorV8.pm:
2716         Refactored the guts of GenerateBatchedAttributeData into a separate GenerateSingleBatchedAttribute with a passed-in indentation level to allow generating a single BatchedAttribute struct.
2717         Added support for the EnabledAtRuntime extended attribute, which generates a call to the appropriate XXXXEnabled() API before adding the attribute to the instance.
2718         * bindings/v8/V8Proxy.cpp:
2719         (WebCore::batchConfigureAttributes):
2720         Refactored attribute setting code into a common inline routine.
2721         * bindings/v8/V8Proxy.h:
2722         (WebCore::configureAttribute):
2723         Inline function which configures a single attribute given a BatchedAttribute struct.
2724         * bindings/v8/custom/V8CustomBinding.h:
2725         Added (DECLARE_)ACCESSOR_RUNTIME_ENABLER to allow enabling attributes at runtime.
2726         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2727         Added code to enable window.Audio only if MediaPlayer.isAvailable() == true
2728         * page/DOMWindow.idl:
2729         Added [EnabledAtRuntime] extended attribute to the Audio attribute.
2730
2731 2009-10-13  Michelangelo De Simone  <micdesim@gmail.com>
2732
2733         Reviewed by Adam Barth.
2734
2735         https://bugs.webkit.org/show_bug.cgi?id=27457
2736         Added support for static validation on type=email input elements as per
2737         HTML5 specs:
2738         http://www.whatwg.org/specs/web-apps/current-work/#e-mail-state
2739
2740         Test: fast/forms/ValidityState-typeMismatch-email.html
2741
2742         * html/ValidityState.cpp:
2743         (WebCore::ValidityState::typeMismatch): ValidityState.typeMismatch
2744         performs validation on type=email input elements now.
2745         (WebCore::ValidityState::isValidEmailAddress): simple validation method 
2746         * html/ValidityState.h:
2747
2748 2009-10-13  Dmitry Titov  <dimich@chromium.org>
2749
2750         Reviewed by Adam Barth.
2751
2752         Event listeners installed on a window object returned from window.open() don't work
2753         https://bugs.webkit.org/show_bug.cgi?id=28716
2754
2755         Tests: http/tests/security/window-events-clear-domain.html
2756                http/tests/security/window-events-clear-port.html
2757                http/tests/security/window-events-pass.html
2758
2759         * dom/Document.cpp: Split code of Document::clear() in a way to avoid removing all
2760         window event handlers when implicitOpen is called. It is called in 2 cases - on
2761         committing loaded content (no need to clean handlers) and on document.open() (needs to remove handlers).
2762
2763         (WebCore::Document::open): in addition to calling implicitOpen it also removes window
2764         event handlers, to preserve the behavior of document.open().
2765
2766         (WebCore::Document::implicitOpen): includes the part of removed Document::clear() that
2767         does not remove window event handlers.
2768
2769         * dom/Document.h: Removed clear().
2770
2771         * loader/FrameLoader.cpp:
2772         (WebCore::FrameLoader::stopLoading): add check to avoid removing window event handlers
2773         if we transition from temporary empty document to a loaded one.
2774
2775         (WebCore::FrameLoader::didOpenURL): Remove closeURL() which was called twice when loading.
2776         (WebCore::FrameLoader::finishedLoadingDocument): add closeURL() to compensate for change above.
2777
2778 2009-10-13  Brian Weinstein  <bweinstein@apple.com>
2779
2780         Reviewed by Pavel Feldman.
2781
2782         Fix a leak in the inspector by calling didRemoveNode with
2783         an error code when it fails, instead of returning from the
2784         Backend.
2785
2786         * inspector/InspectorBackend.cpp:
2787         (WebCore::InspectorBackend::removeNode):
2788         * inspector/front-end/ElementsTreeOutline.js:
2789
2790 2009-10-13  Brian Weinstein  <bweinstein@apple.com>
2791
2792         Reviewed by Timothy Hatcher.
2793
2794         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30337>.
2795         Web Inspector: Should be able to delete nodes from the Elements Tree.
2796         
2797         When the delete key is pressed and a element is selected in the tree,
2798         the element should be deleted from the Elements Tree and the DOM.
2799
2800         * inspector/InspectorBackend.cpp:
2801         (WebCore::InspectorBackend::removeNode):
2802         * inspector/InspectorBackend.h:
2803         * inspector/InspectorBackend.idl:
2804         * inspector/InspectorFrontend.cpp:
2805         (WebCore::InspectorFrontend::didRemoveNode):
2806         * inspector/InspectorFrontend.h:
2807         * inspector/front-end/ElementsPanel.js:
2808         (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
2809         * inspector/front-end/ElementsTreeOutline.js:
2810         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent):
2811
2812 2009-10-13  Brian Weinstein  <bweinstein@apple.com>
2813
2814         Reviewed by Timothy Hatcher.
2815
2816         Fix REGRESSION(49479): Mouseover on resources graph doesn't show timings.
2817         
2818         Set pointer-events: none on the new overlay so mouseover events are passed
2819         to the resources graph so we can show timings.
2820
2821         * inspector/front-end/inspector.css:
2822
2823 2009-10-13  Girish Ramakrishnan  <girish@forwardbias.in>
2824
2825         Reviewed by Simon Hausmann.
2826
2827         [Qt] Plugins : Remove all traces of winId. Use ownerWidget() instead.
2828         
2829         This is a bug for two reasons:
2830         1. Everytime we use winId(), we end up creating a native widget. This causes an
2831         unnecessary copy of contents from the backing store to the native widget.
2832         2. Neither windowed nor windowless plugins require the winId of the QWebView or
2833         QGraphicsView.
2834         
2835         Introduce ownerWidget() which returns a QWidget * without creating a native widget
2836         (as opposed to QWidget::find(winId)).
2837
2838        https://bugs.webkit.org/show_bug.cgi?id=30170
2839
2840         * platform/qt/PlatformScreenQt.cpp:
2841         (WebCore::screenDepthPerComponent):
2842         * platform/qt/PopupMenuQt.cpp:
2843         (WebCore::PopupMenu::show):
2844         * platform/qt/QWebPageClient.h:
2845         * plugins/qt/PluginViewQt.cpp:
2846         (WebCore::setSharedXEventFields):
2847         (WebCore::PluginView::initXEvent):
2848         (WebCore::PluginView::getValue):
2849         (WebCore::PluginView::platformStart):
2850
2851 2009-10-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2852
2853         Unreviewed build system fix. Typo in a filename.
2854
2855         * GNUmakefile.am:
2856
2857 2009-10-12  Alexander Pavlov  <apavlov@chromium.org>
2858
2859         Reviewed by Timothy Hatcher.
2860         Alter profile link format to enable multiple profile types
2861         https://bugs.webkit.org/show_bug.cgi?id=30253
2862
2863         The new profile URL includes the profile type along with the
2864         profile title and uid.
2865
2866         * inspector/InspectorController.cpp:
2867         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
2868         (WebCore::InspectorController::addStartProfilingMessageToConsole):
2869         * inspector/front-end/inspector.js:
2870         (WebInspector.documentClick.followLink):
2871         (WebInspector.documentClick):
2872         (WebInspector.linkifyStringAsFragment):
2873
2874 2009-10-12  Alexander Pavlov  <apavlov@chromium.org>
2875
2876         Reviewed by Timothy Hatcher.
2877
2878         Fix same-named profiles grouping in the Profiles panel.
2879
2880         The tree node re-parenting while adding a new group node was broken.
2881          
2882         https://bugs.webkit.org/show_bug.cgi?id=30299
2883
2884         * inspector/front-end/ProfilesPanel.js:
2885         (WebInspector.ProfilesPanel.prototype.addProfile):
2886
2887 2009-10-12  Pavel Feldman  <pfeldman@chromium.org>
2888
2889         Reviewed by Timothy Hatcher.
2890
2891         Web Inspector: Enforce async interaction between inspector controller and frontend.
2892
2893         https://bugs.webkit.org/show_bug.cgi?id=30300
2894
2895         * inspector/front-end/inspector.js:
2896         (WebInspector.dispatch.delayDispatch):
2897         (WebInspector.dispatch):
2898
2899 2009-10-12  Xiaomei Ji  <xji@chromium.org>
2900
2901         Reviewed by Sam Weinig.
2902
2903         Fix issue caretRangeFromPoint() returns wrong result for a zoomed and 
2904         scrolled page.
2905         https://bugs.webkit.org/show_bug.cgi?id=30034
2906
2907         * dom/Document.cpp:
2908         (WebCore::Document::elementFromPoint): calculate the correct point 
2909         relative to document when the page is zoomed and scrolled.
2910         (WebCore::Document::caretRangeFromPoint): calculate the correct point 
2911         relative to document when the page is zoomed and scrolled.
2912
2913 2009-10-12  Fumitoshi Ukai  <ukai@chromium.org>
2914
2915         Reviewed by Sam Weinig.
2916
2917         JavaScript bindings of WebSocket addEventListener/removeEventListener
2918         https://bugs.webkit.org/show_bug.cgi?id=29841
2919
2920         Test: fast/websockets/websocket-event-target.html
2921
2922         * bindings/js/JSWebSocketCustom.cpp:
2923         (WebCore::JSWebSocket::addEventListener):
2924         (WebCore::JSWebSocket::removeEventListener):
2925         * bindings/v8/custom/V8CustomBinding.h:
2926         * bindings/v8/custom/V8WebSocketCustom.cpp:
2927         (WebCore::CALLBACK_FUNC_DECL):
2928         * websockets/WebSocket.idl:
2929
2930 2009-10-12  Sam Weinig  <sam@webkit.org>
2931
2932         Reviewed by Darin Adler.
2933
2934         Fix for https://bugs.webkit.org/show_bug.cgi?id=29078
2935         <rdar://problem/7288221>
2936
2937         Add a mechanism to blacklist certain codecs.  Initially, just blacklist UTF-7 as HTML5 encourages.
2938
2939         * platform/text/TextEncodingRegistry.cpp:
2940         (WebCore::pruneBlacklistedCodecs):
2941         (WebCore::buildBaseTextCodecMaps):
2942         (WebCore::extendTextCodecMaps):
2943
2944 2009-10-09  Dave Hyatt  <hyatt@apple.com>
2945
2946         Reviewed by Darin Adler.
2947
2948         Add support for the beforeload event to frames.  Complete support of the beforeload event by making sure
2949         its wrapper gets properly constructed (so that the URL field of the event can be accessed).  Add support
2950         for the Objective-C wrapper class as well.
2951
2952         Added fast/dom/beforeload/frame-before-load.html
2953
2954         * WebCore.xcodeproj/project.pbxproj:
2955         * bindings/js/JSEventCustom.cpp:
2956         (WebCore::toJS):
2957         * bindings/objc/DOMEvents.mm:
2958         (kitClass):
2959         * dom/BeforeLoadEvent.h:
2960         (WebCore::BeforeLoadEvent::isBeforeLoadEvent):
2961         * dom/Event.cpp:
2962         (WebCore::Event::isBeforeLoadEvent):
2963         * dom/Event.h:
2964         * html/HTMLFrameElementBase.cpp:
2965         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
2966         * loader/FrameLoader.cpp:
2967         (WebCore::FrameLoader::loadWithDocumentLoader):
2968
2969 2009-10-12  Dan Bernstein  <mitz@apple.com>
2970
2971         Reviewed by Simon Fraser.
2972
2973         Fix <rdar://problem/7094146> Reproducible crash at
2974         RenderObject::localToAbsolute()
2975
2976         Test: fast/dynamic/position-absolute-to-fixed-crash.html
2977
2978         The crash was caused by stale positioned objects lists following an
2979         object transitioning from being absolutely position to being fixed
2980         positioned.
2981
2982         * rendering/RenderBox.cpp:
2983         (WebCore::RenderBox::styleWillChange): In case of a transition between
2984         absolute and fixed position, mark the parent as having a child needing
2985         layout, so that this object will get inserted into its new container's
2986         positioned objects list.
2987         * rendering/RenderObject.cpp:
2988         (WebCore::RenderObject::styleWillChange): Changed a condition to cover
2989         this transition, so that this object gets removed from its current
2990         container's positioned objects list.
2991
2992 2009-10-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2993
2994         Reviewed by Simon Hausmann.
2995
2996         Add a palette() method that is needed by our RenderTheme.
2997
2998         * platform/qt/QWebPageClient.h:
2999
3000 2009-10-12  Dirk Schulze  <krit@webkit.org>
3001
3002         Reviewed by Nikolas Zimmermann.
3003
3004         SVG Gradients can't handle percentage values in userSpaceOnUse mode
3005         [https://bugs.webkit.org/show_bug.cgi?id=30286]
3006
3007         Fixed *GradientAttributes to take SVGLength instead of double. This casues
3008         the problem, that we can't calculate the correct size of a gradient on
3009         userSpaceOnUse mode with percentage values.
3010
3011         Test: svg/custom/gradient-userSpaceOnUse-with-percentage.svg
3012
3013         * svg/LinearGradientAttributes.h:
3014         (WebCore::LinearGradientAttributes::LinearGradientAttributes):
3015         (WebCore::LinearGradientAttributes::x1):
3016         (WebCore::LinearGradientAttributes::y1):
3017         (WebCore::LinearGradientAttributes::x2):
3018         (WebCore::LinearGradientAttributes::y2):
3019         (WebCore::LinearGradientAttributes::setX1):
3020         (WebCore::LinearGradientAttributes::setY1):
3021         (WebCore::LinearGradientAttributes::setX2):
3022         (WebCore::LinearGradientAttributes::setY2):
3023         * svg/RadialGradientAttributes.h:
3024         (WebCore::RadialGradientAttributes::RadialGradientAttributes):
3025         (WebCore::RadialGradientAttributes::cx):
3026         (WebCore::RadialGradientAttributes::cy):
3027         (WebCore::RadialGradientAttributes::r):
3028         (WebCore::RadialGradientAttributes::fx):
3029         (WebCore::RadialGradientAttributes::fy):
3030         (WebCore::RadialGradientAttributes::setCx):
3031         (WebCore::RadialGradientAttributes::setCy):
3032         (WebCore::RadialGradientAttributes::setR):
3033         (WebCore::RadialGradientAttributes::setFx):
3034         (WebCore::RadialGradientAttributes::setFy):
3035         * svg/SVGLinearGradientElement.cpp:
3036         (WebCore::SVGLinearGradientElement::buildGradient):
3037         (WebCore::SVGLinearGradientElement::collectGradientProperties):
3038         * svg/SVGRadialGradientElement.cpp:
3039         (WebCore::SVGRadialGradientElement::buildGradient):
3040         (WebCore::SVGRadialGradientElement::collectGradientProperties):
3041
3042 2009-10-12  Brian Weinstein  <bweinstein@apple.com>
3043
3044         Reviewed by Timothy Hatcher.
3045
3046         Fixes <http://webkit.org/b/30315>.
3047         Web Inspector: DOM Content and Load lines in Resources are unclear what they mean.
3048         
3049         Add tooltip text to the Load event and DOM Content event lines through
3050         a new layer that allows these lines to be on top of the view.
3051
3052         * inspector/front-end/ResourcesPanel.js:
3053         (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
3054         (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
3055         * inspector/front-end/inspector.css:
3056
3057 2009-10-12  Dimitri Glazkov  <dglazkov@chromium.org>
3058
3059         No review, rolling out r49429, because it broke layout tests.
3060         http://trac.webkit.org/changeset/49429
3061
3062         * bindings/v8/V8AbstractEventListener.cpp:
3063         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
3064
3065 2009-10-12  Dirk Schulze  <krit@webkit.org>
3066
3067         Reviewed by Eric Seidel.
3068
3069         SVG - crash on feMerge when input not available
3070         [https://bugs.webkit.org/show_bug.cgi?id=30297]
3071
3072         Make a early return in SVGFEMergeElement if the needed
3073         filter effect doesn't exist.
3074
3075         Test: svg/filters/feMerge-wrong-input.svg
3076
3077         * svg/SVGFEMergeElement.cpp:
3078         (WebCore::SVGFEMergeElement::build):
3079
3080 2009-10-12  Chris Marrin  <cmarrin@apple.com>
3081
3082         Reviewed by Oliver Hunt.
3083
3084         Added automatic flush before compositing
3085         https://bugs.webkit.org/show_bug.cgi?id=30236
3086
3087         This causes image to always render correctly. In writing a testcase
3088         I needed to implement readPixels. This exposed a bug in reading back
3089         values from a CanvasArray subclass, so I fixed that as well. Now when
3090         you wrap a CanvasArray in a JSValue it actually wraps the specific
3091         subclass. To do this I need to add virtual methods to each CanvasArray
3092         subclass to determine the type and a custom toJS method for CanvasArray
3093         to create the proper wrapper. 
3094
3095         Test: fast/canvas/webgl/triangle.html
3096
3097         * WebCore.xcodeproj/project.pbxproj:
3098         * bindings/js/JSCanvasArrayCustom.cpp:
3099         (WebCore::toJS):
3100         * html/canvas/CanvasArray.h:
3101         (WebCore::CanvasArray::isByteArray):
3102         (WebCore::CanvasArray::isUnsignedByteArray):
3103         (WebCore::CanvasArray::isShortArray):
3104         (WebCore::CanvasArray::isUnsignedShortArray):
3105         (WebCore::CanvasArray::isIntArray):
3106         (WebCore::CanvasArray::isUnsignedIntArray):
3107         (WebCore::CanvasArray::isFloatArray):
3108         * html/canvas/CanvasArray.idl:
3109         * html/canvas/CanvasByteArray.h:
3110         (WebCore::CanvasByteArray::isByteArray):
3111         * html/canvas/CanvasFloatArray.h:
3112         (WebCore::CanvasFloatArray::isFloatArray):
3113         * html/canvas/CanvasIntArray.h:
3114         (WebCore::CanvasIntArray::isIntArray):
3115         * html/canvas/CanvasRenderingContext3D.cpp:
3116         (WebCore::CanvasRenderingContext3D::readPixels):
3117         * html/canvas/CanvasRenderingContext3D.h:
3118         * html/canvas/CanvasRenderingContext3D.idl:
3119         * html/canvas/CanvasShortArray.h:
3120         (WebCore::CanvasShortArray::isShortArray):
3121         * html/canvas/CanvasUnsignedByteArray.h:
3122         (WebCore::CanvasUnsignedByteArray::isUnsignedByteArray):
3123         * html/canvas/CanvasUnsignedIntArray.h:
3124         (WebCore::CanvasUnsignedIntArray::isUnsignedIntArray):
3125         * html/canvas/CanvasUnsignedShortArray.h:
3126         (WebCore::CanvasUnsignedShortArray::isUnsignedShortArray):
3127         * platform/graphics/GraphicsContext3D.h:
3128         * platform/graphics/mac/Canvas3DLayer.mm:
3129         (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
3130         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3131         (WebCore::GraphicsContext3D::readPixels):
3132
3133 2009-10-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
3134
3135         Reviewed by Gustavo Noronha.
3136
3137         https://bugs.webkit.org/show_bug.cgi?id=30307
3138         
3139         Fix 0 sentinel for g_object_set() function call.
3140
3141         * platform/graphics/gtk/DataSourceGStreamer.cpp:
3142         (webkit_data_src_uri_set_uri):
3143         0 is passed as 32 bit value on x86-64 in vararg functions, but
3144         g_object_set() expects a 64 bit 0. This will cause crashes.
3145
3146 2009-10-12  Cameron McCormack  <cam@mcc.id.au>
3147
3148         Reviewed by Eric Seidel.
3149
3150         Drop in="" from <feFlood>
3151         https://bugs.webkit.org/show_bug.cgi?id=29001
3152
3153         This makes <feFlood in="bogus"> have an effect, too.
3154
3155         http://www.w3.org/2003/01/REC-SVG11-20030114-errata#feflood-attribute
3156
3157         Test: svg/dom/feFlood-no-in1.html
3158
3159         * svg/SVGFEFloodElement.cpp:
3160         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
3161         (WebCore::SVGFEFloodElement::build):
3162         * svg/SVGFEFloodElement.h:
3163         * svg/SVGFEFloodElement.idl:
3164         * svg/graphics/filters/SVGFEFlood.cpp:
3165         (WebCore::FEFlood::FEFlood):
3166         (WebCore::FEFlood::create):
3167         * svg/graphics/filters/SVGFEFlood.h:
3168
3169 2009-10-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
3170
3171         Reviewed by Gustavo Noronha.
3172
3173         https://bugs.webkit.org/show_bug.cgi?id=29998
3174         
3175         Scale video to completely fill the target surface while
3176         keeping the aspect ratio. This fixes displaying of the
3177         YouTube HTML5 sample website.
3178
3179         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3180         Scale video to completely fill the target surface, keep
3181         the aspect ratio and center it.
3182
3183 2009-10-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
3184
3185         Reviewed by Gustavo Noronha.
3186
3187         https://bugs.webkit.org/show_bug.cgi?id=29997
3188         
3189         Fixes double memcpy of all rendered video frames.
3190
3191         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3192         (WebCore::mediaPlayerPrivateRepaintCallback):
3193         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3194         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
3195         (WebCore::MediaPlayerPrivate::duration):
3196         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3197         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
3198         (webkit_video_sink_timeout_func):
3199         (webkit_video_sink_dispose):
3200         (unlock_buffer_mutex):
3201         (webkit_video_sink_unlock):
3202         (marshal_VOID__MINIOBJECT):
3203         (webkit_video_sink_class_init):
3204         (webkit_video_sink_new):
3205         * platform/graphics/gtk/VideoSinkGStreamer.h:
3206         Directly pass the buffers up to the MediaPlayerPrivate::paint()
3207         method instead of rendering them first to an intermediate cairo
3208         surface. This should increase performance and peak memory usage.
3209
3210 2009-10-11  Daniel Bates  <dbates@webkit.org>
3211
3212         Reviewed by Adam Barth.
3213
3214         https://bugs.webkit.org/show_bug.cgi?id=30242
3215         
3216         Fixes an issue where JavaScript URLs that are URL-encoded twice can 
3217         bypass the XSSAuditor.
3218         
3219         JavaScript URLs that are completed by method Document::completeURL have added
3220         URL-encoded characters such that a direct comparison with the URL-decoded 
3221         outgoing HTTP parameters is not sufficient. Instead, the URL-decoded outgoing 
3222         HTTP parameters must be URL-decoded before comparison.
3223
3224         Tests: http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html
3225                http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html
3226                http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html
3227
3228         * bindings/ScriptControllerBase.cpp:
3229         (WebCore::ScriptController::executeIfJavaScriptURL): Modified to pass XSSAuditor
3230         the URL-decoded source code for the JavaScript URL.
3231         * page/XSSAuditor.cpp:
3232         (WebCore::isIllegalURICharacter): Minor syntactical change to the comment.
3233         (WebCore::XSSAuditor::CachingURLCanonicalizer::canonicalizeURL): Added 
3234         parameter decodeURLEscapeSequencesTwice.
3235         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
3236         (WebCore::XSSAuditor::decodeURL): Ditto.
3237         (WebCore::XSSAuditor::findInRequest): Ditto.
3238         * page/XSSAuditor.h:
3239         (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer): Ditto.
3240
3241 2009-10-11  Dominic Cooney  <dominicc@google.com>
3242
3243         Reviewed by Adam Barth.
3244
3245         Fixes a build break in the V8 bindings caused by revision 49420.
3246         https://bugs.webkit.org/show_bug.cgi?id=30294
3247
3248         Revision 49420 introduces an IDL-defined CanvasActiveInfo
3249         type. This causes a build break in the V8 bindings where
3250         CanvasGraphicsContext3D naively refers to CanvasActiveInfo as a
3251         non-ref type.
3252
3253         * WebCore.gypi: Include CanvasActiveInfo.idl in build.
3254         * bindings/scripts/CodeGeneratorV8.pm: CanvasActiveInfo is a ref
3255           ptr type.
3256         * bindings/v8/DOMObjectsInclude.h: Include generated
3257           CanvasActiveInfo files.
3258         * bindings/v8/DerivedSourcesAllInOne.cpp:
3259         * bindings/v8/V8Index.cpp:
3260         * bindings/v8/V8Index.h:
3261
3262 2009-10-11  Collin Jackson  <collinj@webkit.org>
3263
3264         Reviewed by Adam Barth.
3265
3266         Log mixed content warnings to console
3267
3268         https://bugs.webkit.org/show_bug.cgi?id=30290
3269
3270         * loader/FrameLoader.cpp:
3271         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
3272         (WebCore::FrameLoader::checkIfRunInsecureContent):
3273
3274 2009-10-11  Søren Gjesse  <sgjesse@chromium.org>
3275
3276         Reviewed by Adam Barth.
3277
3278         [V8] Add a context scope in JS listener destructor. The destructor code uses the cotext. See http://crbug.com/24200.
3279         https://bugs.webkit.org/show_bug.cgi?id=30250
3280
3281         * bindings/v8/V8AbstractEventListener.cpp:
3282         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
3283
3284 2009-10-11  Lyon Chen  <lyon.chen@torchmobile.com>
3285
3286         Reviewed by Alexey Proskuryakov.
3287
3288         Correct the position of #endif sentence inside WebCore::Document::finishedParsing().
3289
3290         https://bugs.webkit.org/show_bug.cgi?id=30244
3291
3292         This change requires no test case as it fix a compiling error.
3293
3294         * dom/Document.cpp:
3295         (WebCore::Document::finishedParsing):
3296
3297 2009-10-11  Dominic Cooney  <dominicc@google.com>
3298
3299         Reviewed by Adam Barth.
3300
3301         Sets a 500K stack limit for JavaScript workers in Chromium.
3302         https://bugs.webkit.org/show_bug.cgi?id=29797
3303
3304         Runaway recursion in JavaScript workers crashes the Chromium
3305         worker process on OS X. This is because V8's default stack limit
3306         is 512K on ia32 or 1M on x64, but the worker process runs workers
3307         on a thread with the OS X default stack size--512K. Because there
3308         are already some C+frames on the stack when V8 establishes its
3309         512K default stack limit, and V8 doesn't precisely enforce the
3310         stack limit, runaway recursion in V8 workers overflows the OS
3311         stack and segfaults, killing the worker process. This is described
3312         in Chromium bug 21653 <http://crbug.com/21653>.
3313
3314         This patch sets the V8 stack limit for worker JavaScript in
3315         Chromium to a more conservative 500K on all platforms. This allows
3316         some "headroom" for the C+stack in use when the limit is set up,
3317         and some "legroom" for the V8 helper functions which in practice
3318         briefly flout the V8 stack limit.
3319
3320         Test: LayoutTests/fast/workers/use-machine-stack.html
3321
3322         * bindings/v8/WorkerContextExecutionProxy.cpp:
3323         (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
3324         * bindings/v8/WorkerContextExecutionProxy.h:
3325
3326 2009-10-11  Kevin Ollivier  <kevino@theolliviers.com>
3327
3328         wx build fix for wxMac 2.9, use wxGC API for measuring text.
3329
3330         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
3331         (GetTextExtent):
3332
3333 2009-10-10  Cameron McCormack  <cam@mcc.id.au>
3334
3335         Reviewed by Sam Weinig.
3336
3337         Allow [Reflect] on SVG elements.
3338         https://bugs.webkit.org/show_bug.cgi?id=28936
3339
3340         Update the JS binding generators to reference SVGNames instead of
3341         HTMLNames, if [Reflect]ing an attribute on an SVG element.  Make
3342         SVGElement::id use [Reflect].
3343
3344         Also make [Reflect] on an attribute with a setter exception work in ObjC
3345         bindings.
3346
3347         Test: svg/dom/id-reflect.html
3348
3349         * bindings/scripts/CodeGenerator.pm: Add a function to determine the
3350         appropriate C+namespace for attribute name constants.
3351         * bindings/scripts/CodeGeneratorObjC.pm: Generate ExceptionCode handling
3352         code for [Reflect] on an attribute with a setter exception.
3353         * bindings/scripts/CodeGeneratorCOM.pm: Generate "SVGNames" instead of
3354         "HTMLNames" when appropriate.
3355         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
3356         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
3357         * svg/SVGElement.cpp: Remove getter and setter methods for id.
3358         * svg/SVGElement.h: Ditto.
3359         * svg/SVGElement.idl: Add [Reflect] to id.
3360
3361 2009-10-10  Oliver Hunt  <oliver@apple.com>
3362
3363         Fix paths in xcode.
3364
3365         * WebCore.xcodeproj/project.pbxproj:
3366
3367 2009-10-10  Oliver Hunt  <oliver@apple.com>
3368
3369         Reviewed by Eric Carlson.
3370
3371         Implement getActiveAttrib and getActiveUniform
3372         https://bugs.webkit.org/show_bug.cgi?id=30276
3373
3374         Implements the getActiveAttrib and getActiveUniform APIs.
3375         Rather simple patch, adds CanvasActiveInfo definition and implementation
3376         and adds forwarding to the GraphicsContext3D.
3377
3378         Test: fast/canvas/webgl/getActiveTest.html
3379
3380         * DerivedSources.make:
3381         * WebCore.xcodeproj/project.pbxproj:
3382         * html/canvas/CanvasActiveInfo.h: Added.
3383         (WebCore::CanvasActiveInfo::create):
3384         (WebCore::CanvasActiveInfo::name):
3385         (WebCore::CanvasActiveInfo::type):
3386         (WebCore::CanvasActiveInfo::size):
3387         (WebCore::CanvasActiveInfo::CanvasActiveInfo):
3388         * html/canvas/CanvasActiveInfo.idl: Added.
3389         * html/canvas/CanvasObject.h:
3390         (WebCore::CanvasObject::context):
3391           Need to make the context public as it is needed to ensure we don't
3392           provide a program from one context as an argument to another.
3393         * html/canvas/CanvasRenderingContext3D.cpp:
3394         (WebCore::CanvasRenderingContext3D::getActiveAttrib):
3395         (WebCore::CanvasRenderingContext3D::getActiveUniform):
3396         * html/canvas/CanvasRenderingContext3D.h:
3397         * html/canvas/CanvasRenderingContext3D.idl:
3398         * platform/graphics/GraphicsContext3D.h:
3399         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3400         (WebCore::GraphicsContext3D::getActiveAttrib):
3401         (WebCore::GraphicsContext3D::getActiveUniform):
3402
3403 2009-10-10  Pavel Feldman  <pfeldman@chromium.org>
3404
3405         Reviewed by Timothy Hatcher.
3406
3407         Web Inspector: Adding new attributes in Element Panel is
3408         counterintuitive.
3409
3410         https://bugs.webkit.org/show_bug.cgi?id=30057
3411
3412         * inspector/front-end/ElementsTreeOutline.js:
3413         (WebInspector.ElementsTreeOutline.prototype._onmousemove):
3414         (WebInspector.ElementsTreeElement.prototype.set hovered):
3415         (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton):
3416
3417 2009-10-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3418
3419         Reviewed by Holger Freyther.
3420
3421         Build fix if Netscape plugin support is turned off
3422         https://bugs.webkit.org/show_bug.cgi?id=30275
3423
3424         In addition to fixing the build break with guards
3425         remove notImplemented() from PluginViewNone.cpp and
3426         make them just just be empty functions.
3427
3428         * plugins/PluginView.cpp:
3429         (WebCore::PluginView::handleEvent):
3430         (WebCore::PluginView::PluginView):
3431         * plugins/PluginView.h:
3432         * plugins/PluginViewNone.cpp:
3433         (WebCore::PluginView::setFocus):
3434         (WebCore::PluginView::show):
3435         (WebCore::PluginView::hide):
3436         (WebCore::PluginView::paint):
3437         (WebCore::PluginView::handleKeyboardEvent):
3438         (WebCore::PluginView::handleMouseEvent):
3439         (WebCore::PluginView::setParent):
3440         (WebCore::PluginView::setNPWindowRect):
3441         (WebCore::PluginView::handlePostReadFile):
3442         (WebCore::PluginView::getValue):
3443         (WebCore::PluginView::getValueStatic):
3444         (WebCore::PluginView::invalidateRect):
3445         (WebCore::PluginView::invalidateRegion):
3446         (WebCore::PluginView::forceRedraw):
3447         (WebCore::PluginView::platformStart):
3448         (WebCore::PluginView::platformDestroy):
3449         (WebCore::PluginView::setParentVisible):
3450         (WebCore::PluginView::updatePluginWidget):
3451
3452 2009-10-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3453
3454         Unreviewed.
3455
3456         [Qt] Build fix for QtWebKit after r49415.
3457
3458         Add HistoryController.cpp to the build.
3459
3460         * WebCore.pro:
3461
3462 2009-10-09  Darin Fisher  <darin@chromium.org>
3463
3464         Reviewed by Eric Seidel.
3465
3466         [Chromium] KURLGoogle's protocolIs barfs on input containing hyphens
3467         https://bugs.webkit.org/show_bug.cgi?id=30262
3468
3469         This is not testable from WebKit since WebKit never uses the member
3470         function form of protocolIs with input that can be controlled from a
3471         web page.  It always passes string literals lacking hyphens.
3472
3473         * platform/KURLGoogle.cpp:
3474         (WebCore::lowerCaseEqualsASCII): Only assert if toASCIILower would
3475         transform the input character.
3476
3477 2009-10-10  Adam Barth  <abarth@webkit.org>
3478
3479         Reviewed by Oliver Hunt.
3480
3481         Move HistoryController to its own file
3482         https://bugs.webkit.org/show_bug.cgi?id=30272
3483
3484         Purely mechanical.
3485
3486         * GNUmakefile.am:
3487         * WebCore.gypi:
3488         * WebCore.vcproj/WebCore.vcproj:
3489         * WebCore.xcodeproj/project.pbxproj:
3490         * WebCoreSources.bkl:
3491         * loader/FrameLoader.cpp:
3492         * loader/FrameLoader.h:
3493         * loader/HistoryController.cpp: Added.
3494         * loader/HistoryController.h: Added.
3495
3496 2009-10-09  Ryosuke Niwa  <rniwa@webkit.org>
3497
3498         Reviewed by Eric Seidel.
3499
3500         ApplyStyleCommand removes presentational tags even when not necessary
3501         https://bugs.webkit.org/show_bug.cgi?id=28091
3502
3503         This patch updates implicitlyStyledElementShouldBeRemovedWhenApplyingStyle to return true
3504         (triggering removal of tag) only if the style implicitly added by the element is not present in
3505         the new style to apply. It also changes surroundNodeRangeWithElement so that it merges the
3506         surrounding element when possible. applyTextDecorationStyle is modified so that it does not add
3507         style span when the style attribute is empty.
3508
3509         Test: editing/execCommand/toggle-style-3.html
3510
3511         * editing/ApplyStyleCommand.cpp:
3512         (WebCore::ApplyStyleCommand::shouldRemoveTextDecorationTag): Returns true if specified text
3513         decoration is not present in the style to apply
3514         (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): No longer
3515         returns true if the tag is used in new style
3516         (WebCore::ApplyStyleCommand::applyTextDecorationStyle): Does not add style-span when redundant
3517         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): Merges the newly created element
3518         with the surrounding identical elements
3519         * editing/ApplyStyleCommand.h:
3520
3521 2009-10-09  Adam Barth  <abarth@webkit.org>
3522
3523         Reviewed by Darin Adler.
3524
3525         Factor HistoryController out of FrameLoader
3526         https://bugs.webkit.org/show_bug.cgi?id=30246
3527
3528         HistoryController is in charge of managing the current / previous /
3529         provisional HistoryItems.  The split isn't perfect, but it's a place to
3530         start.  I'll move HistoryController into its own file in another patch.
3531
3532         * WebCore.base.exp:
3533         * loader/FrameLoader.cpp:
3534         (WebCore::HistoryController::HistoryController):
3535         (WebCore::HistoryController::~HistoryController):
3536         (WebCore::FrameLoader::FrameLoader):
3537         (WebCore::FrameLoader::closeURL):
3538         (WebCore::FrameLoader::begin):
3539         (WebCore::HistoryController::restoreDocumentState):
3540         (WebCore::HistoryController::setCurrentItem):
3541         (WebCore::HistoryController::setProvisionalItem):
3542         (WebCore::FrameLoader::loadURLIntoChildFrame):
3543         (WebCore::FrameLoader::canCachePageContainingThisFrame):
3544         (WebCore::FrameLoader::logCanCacheFrameDecision):
3545         (WebCore::FrameLoader::scrollToAnchor):
3546         (WebCore::FrameLoader::commitProvisionalLoad):
3547         (WebCore::FrameLoader::transitionToCommitted):
3548         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
3549         (WebCore::FrameLoader::didFirstLayout):
3550         (WebCore::HistoryController::updateForFrameLoadCompleted):
3551         (WebCore::FrameLoader::frameLoadCompleted):
3552         (WebCore::FrameLoader::detachFromParent):
3553         (WebCore::FrameLoader::receivedMainResourceError):
3554         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
3555         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
3556         (WebCore::HistoryController::addHistoryItemForFragmentScroll):
3557         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
3558         (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
3559         (WebCore::HistoryController::createHistoryItem):
3560         (WebCore::FrameLoader::checkDidPerformFirstNavigation):
3561         (WebCore::HistoryController::addBackForwardItemClippedAtTarget):
3562         (WebCore::HistoryController::createHistoryItemTree):
3563         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
3564         (WebCore::HistoryController::restoreScrollPositionAndViewState):
3565         (WebCore::HistoryController::invalidateCurrentItemCachedPage):
3566         (WebCore::HistoryController::saveDocumentState):
3567         (WebCore::FrameLoader::loadItem):
3568         (WebCore::HistoryController::urlsMatchItem):
3569         (WebCore::HistoryController::goToItem):
3570         (WebCore::HistoryController::recursiveGoToItem):
3571         (WebCore::HistoryController::childFramesMatchItem):
3572         (WebCore::HistoryController::updateForStandardLoad):
3573         (WebCore::HistoryController::updateForClientRedirect):
3574         (WebCore::HistoryController::updateForBackForwardNavigation):
3575         (WebCore::HistoryController::updateForReload):
3576         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
3577         (WebCore::HistoryController::updateForCommit):
3578         (WebCore::HistoryController::updateForAnchorScroll):
3579         (WebCore::HistoryController::saveDocumentAndScrollState):
3580         (WebCore::HistoryController::setCurrentItemTitle):
3581         (WebCore::FrameLoader::didChangeTitle):
3582         * loader/FrameLoader.h:
3583         (WebCore::HistoryController::current):
3584         (WebCore::HistoryController::provisional):
3585         (WebCore::FrameLoader::policyChecker):
3586         (WebCore::FrameLoader::history):
3587         (WebCore::FrameLoader::creatingInitialEmptyDocument):
3588         * page/Page.cpp:
3589         (WebCore::Page::goToItem):
3590
3591 2009-10-09  Alexey Proskuryakov  <ap@apple.com>
3592
3593         Unreviewed - fixing an obvious typo in my previous check-in.
3594
3595         https://bugs.webkit.org/show_bug.cgi?id=30260
3596         <rdar://problem/6447115> REGRESSION: Logging out from SAP doesn't work
3597
3598         Fixes existing tests (which I thought I had run the previous time).
3599
3600         * platform/network/CredentialStorage.cpp: (WebCore::originsWithCredentials): Return the
3601         set by reference.
3602
3603 2009-10-09  David Levin  <levin@chromium.org>
3604
3605         Reviewed by Eric Seidel.
3606
3607         [v8] Need change to V8WorkerContextEventListener::reportError signature to match the base class.
3608         https://bugs.webkit.org/show_bug.cgi?id=30264
3609
3610         The base class method changed in r48884.
3611
3612         Test: fast/worker/worker-script-error.html
3613
3614         * bindings/v8/V8WorkerContextEventListener.cpp: