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