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