2009-09-10 Zoltan Horvath <zoltan@webkit.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-09-10  Zoltan Horvath  <zoltan@webkit.org>
2
3         Reviewed by Darin Adler.
4
5         Use fastNew and fastDelete instead of operator new and delete for CSSSelector class. 
6         https://bugs.webkit.org/show_bug.cgi?id=25930
7
8         Change using of operator new to fastNew and operator delete to
9         fastDeleteSkippingDestructor for CSSSelector class to avoid mismatched function call.
10
11         This change fixes valgrind's 'mismatched free' notification.
12
13         * css/CSSParser.cpp:
14         (WebCore::CSSParser::~CSSParser):
15         (WebCore::CSSParser::createFloatingSelector):
16         * css/CSSSelectorList.cpp:
17         (WebCore::CSSSelectorList::adoptSelectorVector):
18
19 2009-09-10  Steve Block  <steveblock@google.com>
20
21         Reviewed by Darin Adler.
22
23         Geolocation does not correctly handle reentrant calls from callbacks.
24         https://bugs.webkit.org/show_bug.cgi?id=29040
25
26         Tests: fast/dom/Geolocation/reentrant-error.html
27                fast/dom/Geolocation/reentrant-success.html
28
29         * page/Geolocation.cpp: Modified.
30         (WebCore::Geolocation::handleError): Modified. Call sendError directly, clearing notifier lists before making callback.
31         (WebCore::Geolocation::makeSuccessCallbacks): Modified. Call sendPosition directly, clearing notifier lists before making callback.
32         * page/Geolocation.h: Modified. Deleted sendErrorToXX and sendPositionToXXX methods.
33
34 2009-09-10  Erik Arvidsson  <arv@chromium.org>
35
36         Reviewed by Eric Seidel.
37
38         Fixes issue where focused elements did not get blur and focus events when the window was blurred and focused.
39         https://bugs.webkit.org/show_bug.cgi?id=27105
40
41         Test: fast/events/blur-focus-window-should-blur-focus-element.html
42
43         * page/FocusController.cpp:
44         (WebCore::dispatchEventsOnWindowAndFocusedNode):
45         (WebCore::FocusController::setFocused):
46         (WebCore::FocusController::setActive):
47
48 2009-09-10  Adam Roben  <aroben@apple.com>
49
50         Make the play/pause button in <video> controls indicate the button's
51         action, not the movie state
52
53         This matches the Mac behavior, iTunes, and many other media players.
54
55         No test possible.
56
57         Fixes <http://webkit.org/b/29126> Play/pause button in <video>
58         controls shows the wrong image
59
60         Reviewed by Eric Carlson.
61
62         * rendering/RenderMediaControls.cpp:
63         (WebCore::RenderMediaControls::paintMediaControlsPart): Reversed when
64         we show the play vs. pause artwork, so that the button reflects what
65         will happen when you click it, rather than the current state of the
66         movie.
67
68 2009-09-09  Steve Block  <steveblock@google.com>
69
70         Reviewed by Maciej Stachowiak.
71
72         Geolocation Coordinates::toString() prints bogus values for unspecified properties.
73         https://bugs.webkit.org/show_bug.cgi?id=29080
74
75         Test: fast/dom/Geolocation/position-string.html
76
77         * GNUmakefile.am: Modified. Removes Geoposition.cpp and Coordinates.cpp.
78         * WebCore.gypi: Modified. Removes Geoposition.cpp and Coordinates.cpp.
79         * WebCore.pro: Modified. Removes Geoposition.cpp and Coordinates.cpp.
80         * WebCore.vcproj/WebCore.vcproj: Modified. Removes Geoposition.cpp and Coordinates.cpp.
81         * WebCore.xcodeproj/project.pbxproj: Modified. Removes Geoposition.cpp and Coordinates.cpp.
82         * WebCoreSources.bkl: Modified. Removes Geoposition.cpp and Coordinates.cpp.
83         * page/Coordinates.cpp: Removed.
84         * page/Coordinates.h: Modified. Removes toString method.
85         * page/Coordinates.idl: Modified. Removes toString method.
86         * page/Geoposition.cpp: Removed.
87         * page/Geoposition.h: Modified. Removes toString method.
88         * page/Geoposition.idl: Modified. Removes toString method.
89
90 2009-09-09  Steve Block  <steveblock@google.com>
91
92         Reviewed by Adam Barth.
93
94         Correctly applies the Geolocation timeout property.
95         https://bugs.webkit.org/show_bug.cgi?id=27256
96
97         If a timeout is specified, the timer is started as soon as the location acquistion process starts.
98         If a position fix is not obtained within the timeout interval, the position request is cancelled
99         and the error callback (if specified) is invoked. If a position fix is obtained within the timeout
100         interval, the timer is stopped. Permissions are then requested from the user if required. See
101         http://www.w3.org/TR/geolocation-API/#position-options.
102
103         Note that this logic means that the time required to obtain permissions from the user is not
104         included in the timeout interval.
105
106         Tests: fast/dom/Geolocation/timeout.html
107                fast/dom/Geolocation/timeout-zero.html
108
109         * page/Geolocation.cpp: Modified.
110         (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Takes Geolocation object as parameter.
111         (WebCore::Geolocation::GeoNotifier::hasZeroTimeout): Added. Determines whether this request has a zero timeout.
112         (WebCore::Geolocation::GeoNotifier::startTimerIfNeeded): Renamed from startTimer. Starts the timer if a timeout was specified.
113         (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Calls the error callback if specified, and reports the timeout to the Geolocation object.
114         (WebCore::Geolocation::getCurrentPosition): Modified. Calls maybeStartTimer when starting the location acquisition process.
115         (WebCore::Geolocation::watchPosition): Modified. Calls maybeStartTimer when starting the location acquisition process.
116         (WebCore::Geolocation::requestTimedOut): Added. Cancels a request when it times out.
117         (WebCore::Geolocation::setIsAllowed): Modified. No longer starts timers.
118         (WebCore::Geolocation::sendPosition): Modified. No longer stops timers.
119         (WebCore::Geolocation::stopTimer): Added. Stops the timers for a vector of notifiers.
120         (WebCore::Geolocation::stopTimersForOneShots): Added. Stops the timers for all one-shots.
121         (WebCore::Geolocation::stopTimersForWatchers): Added. Stops the timers for all watchers.
122         (WebCore::Geolocation::stopTimers): Added. Stops the timers for all requests.
123         (WebCore::Geolocation::geolocationServicePositionChanged): Modfified. Stops the timers for all requests.
124         * page/Geolocation.h: Modified.
125         (WebCore::Geolocation::GeoNotifier::create): Modified. Takes Geolocation object as parameter.
126
127 2009-09-09  Chris Fleizach  <cfleizach@apple.com>
128
129         AX notifications should be an ENUM type instead of strings
130         https://bugs.webkit.org/show_bug.cgi?id=28963
131
132         Build fix for Qt.
133
134         * accessibility/AXObjectCache.h:
135         (WebCore::AXObjectCache::postNotification):
136         (WebCore::AXObjectCache::postPlatformNotification):
137
138 2009-09-08  Chris Fleizach  <cfleizach@apple.com>
139
140         Reviewed by Darin Adler.
141
142         AX notifications should be an ENUM type instead of strings
143         https://bugs.webkit.org/show_bug.cgi?id=28963
144
145         Moves AX notifications over to an ENUM type instead of
146         using the actual string values that are used on OS X.
147
148         * accessibility/AXObjectCache.cpp:
149         (WebCore::AXObjectCache::postNotification):
150         (WebCore::AXObjectCache::selectedChildrenChanged):
151         * accessibility/AXObjectCache.h:
152         (WebCore::AXObjectCache::):
153         * accessibility/AccessibilityRenderObject.cpp:
154         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
155         * accessibility/chromium/AXObjectCacheChromium.cpp:
156         (WebCore::AXObjectCache::postPlatformNotification):
157         * accessibility/gtk/AXObjectCacheAtk.cpp:
158         (WebCore::AXObjectCache::postPlatformNotification):
159         * accessibility/mac/AXObjectCacheMac.mm:
160         (WebCore::AXObjectCache::postPlatformNotification):
161         * accessibility/win/AXObjectCacheWin.cpp:
162         (WebCore::AXObjectCache::postPlatformNotification):
163         * dom/Document.cpp:
164         (WebCore::Document::implicitClose):
165         * dom/Element.cpp:
166         (WebCore::Element::updateAfterAttributeChanged):
167         * editing/Editor.cpp:
168         (WebCore::Editor::respondToChangedContents):
169         * editing/mac/SelectionControllerMac.mm:
170         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
171         * html/HTMLInputElement.cpp:
172         (WebCore::HTMLInputElement::setChecked):
173         * page/FrameView.cpp:
174         (WebCore::FrameView::layout):
175         * rendering/RenderTextControl.cpp:
176         (WebCore::RenderTextControl::setInnerTextValue):
177
178 2009-09-08  Adam Barth  <abarth@webkit.org>
179
180         Reviewed by Eric Seidel.
181
182         Missing checkout for getSVGDocument()
183         https://bugs.webkit.org/show_bug.cgi?id=29064
184
185         The V8 code generator didn't understand SVGCheckSecurityDocument.
186
187         Tests: http/tests/security/xss-DENIED-getSVGDocument-iframe.html
188                http/tests/security/xss-DENIED-getSVGDocument-object.html
189
190         * bindings/scripts/CodeGeneratorV8.pm:
191
192 2009-09-09  Cameron McCormack  <cam@mcc.id.au>
193
194         Reviewed by Eric Seidel.
195
196         Make SVGStyleElement inherit from SVGLangSpace
197         https://bugs.webkit.org/show_bug.cgi?id=29058
198
199         Required by SVG 1.1 Second Edition:
200         http://dev.w3.org/SVG/profiles/1.1F2/publish/styling.html#InterfaceSVGStyleElement
201
202         Test: svg/dom/SVGStyleElement/style-langspace.html
203
204         * svg/SVGStyleElement.cpp: Drop methods xmlspace and setXmlspace.
205         (WebCore::SVGStyleElement::SVGStyleElement): Add SVGLangSpace()
206         initializer.
207         (WebCore::SVGStyleElement::parseMappedAttribute): Call
208         parseMappedAttribute on SVGLangSpace.
209         * svg/SVGStyleElement.h: Drop xmlspace and setXmlspace declarations.
210         * svg/SVGStyleElement.idl: Drop xmlspace attribute and add SVGLangSpace
211         as a superinterface.
212
213 2009-09-09  Nate Chapin  <japhet@chromium.org>
214
215         Reviewed by David Levin.
216
217         Remove unnecessary includes and forward declarations in V8Proxy.h
218
219         https://bugs.webkit.org/show_bug.cgi?id=29111
220
221         * bindings/v8/V8Proxy.h:
222
223 2009-07-30  Eric Seidel  <eric@webkit.org>
224
225         Reviewed by Adam Barth.
226
227         Add more position constructors
228         positionBeforeNode, positionAfterNode
229         firstPositionInNode, lastPositionInNode
230         https://bugs.webkit.org/show_bug.cgi?id=25494
231
232         I also added a lastOffsetInNode and deployed it to a couple places.
233
234         There are no callers to these new constructors yet, but those
235         will be coming in future patches.
236
237         * dom/Position.cpp:
238         (WebCore::Position::computeOffsetInContainerNode):
239         * dom/Position.h:
240         (WebCore::positionBeforeNode):
241         (WebCore::positionAfterNode):
242         (WebCore::lastOffsetInNode):
243         (WebCore::firstPositionInNode):
244         (WebCore::lastPositionInNode):
245         * editing/ApplyStyleCommand.cpp:
246         * editing/TextIterator.cpp:
247         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
248         * editing/htmlediting.cpp:
249         (WebCore::lastOffsetForEditing):
250
251 2009-04-30  Eric Seidel  <eric@webkit.org>
252
253         Reviewed by Adam Barth.
254
255         Rename positionBeforeNode to positionInParentBeforeNode
256         and positionAfterNode to positionInParentAfterNode
257         in preparation for adding a positionBeforeNode
258         which returns a neighbor-anchored position.
259         https://bugs.webkit.org/show_bug.cgi?id=25494
260
261         No functional changes, thus no tests.
262
263         * dom/PositionConstructors.h:
264         (WebCore::positionInParentBeforeNode):
265         (WebCore::positionInParentAfterNode):
266         * dom/PositionIterator.cpp:
267         (WebCore::PositionIterator::operator Position):
268         * editing/ApplyStyleCommand.cpp:
269         (WebCore::ApplyStyleCommand::applyInlineStyle):
270         * editing/CompositeEditCommand.cpp:
271         (WebCore::CompositeEditCommand::positionOutsideTabSpan):
272         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
273         (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
274         * editing/CreateLinkCommand.cpp:
275         (WebCore::CreateLinkCommand::doApply):
276         * editing/DeleteButtonController.cpp:
277         (WebCore::DeleteButtonController::deleteTarget):
278         * editing/DeleteSelectionCommand.cpp:
279         (WebCore::DeleteSelectionCommand::initializeStartEnd):
280         (WebCore::updatePositionForNodeRemoval):
281         * editing/InsertLineBreakCommand.cpp:
282         (WebCore::InsertLineBreakCommand::doApply):
283         * editing/InsertListCommand.cpp:
284         (WebCore::InsertListCommand::doApply):
285         * editing/InsertParagraphSeparatorCommand.cpp:
286         (WebCore::InsertParagraphSeparatorCommand::doApply):
287         * editing/InsertTextCommand.cpp:
288         (WebCore::InsertTextCommand::input):
289         * editing/ReplaceSelectionCommand.cpp:
290         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent):
291         (WebCore::ReplaceSelectionCommand::doApply):
292         * editing/VisibleSelection.cpp:
293         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
294         * editing/htmlediting.cpp:
295         (WebCore::firstEditablePositionAfterPositionInRoot):
296         (WebCore::lastEditablePositionBeforePositionInRoot):
297         (WebCore::rangeCompliantEquivalent):
298         (WebCore::positionBeforeContainingSpecialElement):
299         (WebCore::positionAfterContainingSpecialElement):
300         (WebCore::positionBeforeTabSpan):
301
302 2009-04-30  Eric Seidel  <eric@webkit.org>
303
304         Reviewed by Adam Barth.
305
306         Re-organize position creation functions in preparation for adding more
307         https://bugs.webkit.org/show_bug.cgi?id=25494
308
309         Make position functions inline to avoid ref-churn.
310         Remove startPosition/endPosition as they were only used in one place.
311
312         No functional changes, thus no tests.
313
314         * dom/Position.cpp:
315         * dom/Position.h:
316         (WebCore::positionBeforeNode):
317         (WebCore::positionAfterNode):
318         * editing/SelectionController.cpp:
319         (WebCore::SelectionController::moveTo):
320         * editing/TypingCommand.cpp:
321         * editing/htmlediting.cpp:
322         * editing/htmlediting.h:
323         (WebCore::firstDeepEditingPositionForNode):
324         (WebCore::lastDeepEditingPositionForNode):
325         * rendering/RenderObject.cpp:
326
327 2009-09-09  Kevin Watters  <kevinwatters@gmail.com>
328
329         Reviewed by Kevin Ollivier.
330         
331         [wx] Add wxSize conversions for IntSize.
332         https://bugs.webkit.org/show_bug.cgi?id=29104
333
334         * platform/graphics/IntSize.h:
335         * platform/graphics/wx/IntSizeWx.cpp: Added.
336         (WebCore::IntSize::IntSize):
337         (WebCore::IntSize::operator wxSize):
338
339 2009-09-09  Yaar Schnitman  <yaar@chromium.org>
340
341         Reviewed by David Levin.
342         
343         Chromium uses its own config.h file that was forked from webkit's config.h.
344         By merging in Chromium's defines, Chromium would again be able to use webkit's
345         config.h.
346
347         https://bugs.webkit.org/show_bug.cgi?id=28882 
348
349         * config.h: Added chromium-specific defines. 
350
351 2009-09-09  Jens Alfke  <snej@chromium.org>
352
353         Reviewed by Eric Seidel.
354
355         Initialize DataTransfer's effectAllowed and dropEffect properties correctly
356         according to HTML5 spec (sec. 7.9.2-7.9.3).
357         https://bugs.webkit.org/show_bug.cgi?id=26700
358         - At the start of a drag operation, the value of effectAllowed should be
359           the string "uninitialized".
360         - At end of dragstart handler, if effectAllowed hasn't been set yet, it
361           should be set to "copy".
362         - on dragenter and dragover event, dropEffect should be initialized to a
363           default value based on the value of effectAllowed.
364         - at end of dragenter and dragover the dropEffect should be set to "none"
365           if the value set by the handler doesn't match the effectAllowed.
366         - on dragleave event, dropEffect should be "none".
367         - on drop event, dropEffect should be the previously negotiated value.
368
369         Test: fast/events/drag-dropeffect.html
370
371         * WebCore.base.exp:
372             Added a parameter to EventHandler::dragSourceMovedTo.
373         * dom/Clipboard.cpp:
374         (WebCore::Clipboard::Clipboard):
375             Initialize m_effectAllowed to "uninitialized".
376         (WebCore::Clipboard::sourceOperation):
377             Treat "uninitialized" as meaning no value has been set.
378         * page/DragController.cpp:
379         (WebCore::DragController::DragController):
380             Initialize new member m_destinationDragOperation.
381         (WebCore::DragController::dragExited):
382             Set m_destinationDragOperation to none on dragExit.
383         (WebCore::DragController::performDrag):
384             Set m_destinationDragOperation to current dropEffect.
385         (WebCore::DragController::dragEnteredOrUpdated):
386             Make sure to clear the operation if drag source doesn't allow it.
387         (WebCore::DragController::tryDHTMLDrag):
388             Set a default value for the dst drag op before sending dragEnter/Over.
389         (WebCore::DragController::startDrag):
390             Clear m_destinationDragOperation at start of drag.
391         * page/DragController.h:
392         (WebCore::DragController::destinationDragOperation):
393             Added new member m_destinationDragOperation, and its public getter.
394         * page/EventHandler.cpp:
395         (WebCore::EventHandler::updateDragAndDrop):
396             dropEffect should be 'none' during dropleave handler, per spec.
397         (WebCore::EventHandler::dragSourceMovedTo):
398             Added DragOperation parameter, so the handler sees the current dropEffect.
399         (WebCore::EventHandler::handleDrag):
400             Assume DragOperationEvery for non-DHTML drags.
401         * page/EventHandler.h:
402             Added DragOperation parameter to dragSourceMovedTo().
403
404 2009-09-09  Dumitru Daniliuc  <dumi@chromium.org>
405
406         Reviewed by Dimitri Glazkov.
407
408         1. Adding support/bindings for read-only transactions.
409         2. Disallowing the SQLITE_*_VIEW and REINDEX operations in the
410         private browsing mode.
411         3. Adding an authorizer test.
412
413         https://bugs.webkit.org/show_bug.cgi?id=28918
414
415         Test: storage/test-authorizer.html
416
417         * bindings/js/JSDatabaseCustom.cpp:
418         (WebCore::createTransaction): Parses all arguments and executes a
419         transaction.
420         (WebCore::JSDatabase::transaction): Refactored to use
421         createTransaction().
422         (WebCore::JSDatabase::readTransaction): Added to execute read-only
423         transactions using createTransaction().
424         * bindings/v8/custom/V8CustomBinding.h: Added the binding for
425         Database::readTransaction().
426         * bindings/v8/custom/V8DatabaseCustom.cpp:
427         (WebCore::createTransaction): Parses all arguments and executes a
428         transaction.
429         (WebCore::transaction): Refactored to use createTransaction().
430         (WebCore::readTransaction): Added to execute read-only
431         transactions using createTransaction().
432         * storage/Database.cpp:
433         (WebCore::Database::transaction): Added support for read-only
434         transactions.
435         * storage/Database.h: Added support for read-only transactions.
436         * storage/Database.idl: Added support for read-only transactions.
437         * storage/DatabaseAuthorizer.cpp:
438         (WebCore::DatabaseAuthorizer::createTempTable): Make it obvious
439         that the statement will be denied in private browsing mode and
440         read-only transactions.
441         (WebCore::DatabaseAuthorizer::dropTempTable): Same.
442         (WebCore::DatabaseAuthorizer::createTempIndex): Same.
443         (WebCore::DatabaseAuthorizer::dropTempIndex): Same.
444         (WebCore::DatabaseAuthorizer::createTempTrigger): Same.
445         (WebCore::DatabaseAuthorizer::dropTempTrigger): Same.
446         (WebCore::DatabaseAuthorizer::createView): Deny in private
447         browsing mode and read-only transactions.
448         (WebCore::DatabaseAuthorizer::createTempView): Same.
449         (WebCore::DatabaseAuthorizer::dropView): Same.
450         (WebCore::DatabaseAuthorizer::dropTempView): Same.
451         (WebCore::DatabaseAuthorizer::allowReindex): Same.
452         * storage/DatabaseAuthorizer.h:
453         * storage/SQLTransaction.cpp: Added support for read-only
454         transactions.
455         (WebCore::SQLTransaction::create):
456         (WebCore::SQLTransaction::SQLTransaction):
457         (WebCore::SQLTransaction::executeSQL):
458         (WebCore::SQLTransaction::acquireLock):
459         * storage/SQLTransaction.h:
460         * storage/SQLTransactionCoordinator.cpp:
461         (WebCore::SQLTransactionCoordinator::acquireLock): Added a new
462         parameter in preparation for a change that will allow multiple
463         read-only transactions on the same DB to run concurrently.
464         * storage/SQLTransactionCoordinator.h:
465
466 2009-09-09  Dave Hyatt  <hyatt@apple.com>
467
468         Reviewed by Adam Roben.
469
470         https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection.  This is similar
471         to user script injection but allows for user stylesheets to be added.  The stylesheets are applied immediately
472         to all Frames in the PageGroup.
473
474         Added userscripts/simple-stylesheet.html test case.
475
476         * WebCore.base.exp:
477         * WebCore.gypi:
478         * WebCore.vcproj/WebCore.vcproj:
479         * WebCore.xcodeproj/project.pbxproj:
480         * css/CSSStyleSelector.cpp:
481         (WebCore::CSSStyleSelector::CSSStyleSelector):
482         * css/CSSStyleSelector.h:
483         * dom/Document.cpp:
484         (WebCore::Document::Document):
485         (WebCore::Document::attach):
486         (WebCore::Document::pageGroupUserSheets):
487         (WebCore::Document::clearPageGroupUserSheets):
488         (WebCore::Document::recalcStyleSelector):
489         * dom/Document.h:
490         * loader/PlaceholderDocument.cpp:
491         (WebCore::PlaceholderDocument::attach):
492         * page/PageGroup.cpp:
493         (WebCore::PageGroup::addUserStyleSheet):
494         (WebCore::PageGroup::removeUserContentForWorld):
495         (WebCore::PageGroup::removeAllUserContent):
496         * page/PageGroup.h:
497         (WebCore::PageGroup::userStyleSheets):
498         * page/UserStyleSheet.h: Added.
499         (WebCore::UserStyleSheet::UserStyleSheet):
500         (WebCore::UserStyleSheet::source):
501         (WebCore::UserStyleSheet::url):
502         (WebCore::UserStyleSheet::patterns):
503         (WebCore::UserStyleSheet::worldID):
504         * page/UserStyleSheetTypes.h: Added.
505
506 2009-09-09  Carol Szabo  <carol.szabo@nokia.com>
507
508         Reviewed by Ariya Hidayat.
509
510         [Qt] CSS Style -webkit-box-shadow is not rendered correctly on
511         Qt platform
512         https://bugs.webkit.org/show_bug.cgi?id=23291
513
514         * platform/graphics/qt/GraphicsContextQt.cpp:
515         (WebCore::GraphicsContext::drawRect):
516         (WebCore::GraphicsContext::strokeArc):
517         (WebCore::GraphicsContext::drawConvexPolygon):
518         (WebCore::GraphicsContext::fillPath):
519         (WebCore::GraphicsContext::strokePath):
520         (WebCore::GraphicsContext::fillRect):
521         (WebCore::GraphicsContext::fillRoundedRect):
522          Added the ability to draw shadows for all these curves.
523
524 2009-09-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
525
526         Reviewed by Simon Hausmann.
527
528         Add the qwebgraphicsitem.cpp to the build system.
529
530         https://bugs.webkit.org/show_bug.cgi?id=28862
531
532         * WebCore.pro:
533
534 2009-09-09  Kevin Watters  <kevinwatters@gmail.com>
535
536         Reviewed by Kevin Ollivier.
537
538         [wx port] Move functions in TemporaryLinkStubs.cpp out to files where
539         they belong.
540
541         https://bugs.webkit.org/show_bug.cgi?id=29088
542
543         * editing/wx/EditorWx.cpp:
544         (WebCore::Editor::showColorPanel):
545         (WebCore::Editor::showFontPanel):
546         (WebCore::Editor::showStylesPanel):
547         * platform/graphics/wx/GraphicsContextWx.cpp:
548         (WebCore::GraphicsContext::setPlatformShadow):
549         (WebCore::GraphicsContext::clearPlatformShadow):
550         (WebCore::GraphicsContext::beginTransparencyLayer):
551         (WebCore::GraphicsContext::endTransparencyLayer):
552         (WebCore::GraphicsContext::clearRect):
553         (WebCore::GraphicsContext::strokeRect):
554         (WebCore::GraphicsContext::setLineCap):
555         (WebCore::GraphicsContext::setLineJoin):
556         (WebCore::GraphicsContext::setMiterLimit):
557         (WebCore::GraphicsContext::setAlpha):
558         (WebCore::GraphicsContext::addInnerRoundedRectClip):
559         * platform/graphics/wx/IconWx.cpp: Added.
560         (WebCore::Icon::~Icon):
561         (WebCore::Icon::createIconForFile):
562         (WebCore::Icon::createIconForFiles):
563         (WebCore::Icon::paint):
564         * platform/graphics/wx/ImageWx.cpp:
565         (WebCore::Image::loadPlatformResource):
566         (WebCore::Image::drawPattern):
567         * platform/wx/CursorWx.cpp:
568         (WebCore::moveCursor):
569         * platform/wx/FileChooserWx.cpp: Added.
570         (WebCore::FileChooser::basenameForWidth):
571         * platform/wx/KURLWx.cpp: Added.
572         (WebCore::KURL::fileSystemPath):
573         * platform/wx/SSLKeyGeneratorWx.cpp: Added.
574         (WebCore::getSupportedKeySizes):
575         (WebCore::signedPublicKeyAndChallengeString):
576         * platform/wx/SearchPopupMenuWx.cpp: Added.
577         (WebCore::SearchPopupMenu::SearchPopupMenu):
578         (WebCore::SearchPopupMenu::saveRecentSearches):
579         (WebCore::SearchPopupMenu::loadRecentSearches):
580         (WebCore::SearchPopupMenu::enabled):
581         * platform/wx/SharedBufferWx.cpp: Added.
582         (WebCore::SharedBuffer::createWithContentsOfFile):
583         * platform/wx/SystemTimeWx.cpp: Added.
584         (WebCore::userIdleTime):
585         * platform/wx/TemporaryLinkStubs.cpp: Removed.
586         * platform/wx/TextBreakIteratorInternalICUWx.cpp: Added.
587         (WebCore::currentSearchLocaleID):
588         (WebCore::currentTextBreakLocaleID):
589         * platform/wx/WidgetWx.cpp:
590         (WebCore::Widget::setIsSelected):
591
592 2009-09-09  Steve Block  <steveblock@google.com>
593
594         Reviewed by Adam Barth.
595
596         Geolocation incorrectly calls error callback in case of exception in success callback.
597         https://bugs.webkit.org/show_bug.cgi?id=27255
598
599         Test: fast/dom/Geolocation/callback-exception.html
600
601         * bindings/js/JSCustomPositionCallback.cpp: Modified.
602         (WebCore::JSCustomPositionCallback::handleEvent): Modified. Removed raisedException out param.
603         * bindings/js/JSCustomPositionCallback.h: Modified. Removed raisedException out param from handleEvent method and made handleEvent private.
604         * bindings/js/JSCustomPositionErrorCallback.h: Modified. Made handleEvent private.
605         * page/Geolocation.cpp: Modified.
606         (WebCore::Geolocation::sendPosition): Modified. No longer call error callback in case of exception in success callback.
607         * page/PositionCallback.h: Modified. Removed raisedException out param from handleEvent method.
608
609 2009-09-09  Steve Block  <steveblock@google.com>
610
611         Reviewed by Darin Adler.
612
613         When Geolocation permission is denied, stops watches as well as one-shots.
614         https://bugs.webkit.org/show_bug.cgi?id=28305.
615
616         Tests: fast/dom/Geolocation/watch.html
617                fast/dom/Geolocation/permission-denied-stops-watches.html
618
619         * page/Geolocation.cpp: Modified.
620         (WebCore::Geolocation::setIsAllowed): Modified. Marks the permission error as fatal.
621         (WebCore::Geolocation::handleError): Modified. If the error is fatal, stops watchers as well as one-shots.
622         * page/PositionError.h: Modified.
623         (WebCore::PositionError::setIsFatal): Added. Marks an error as fatal.
624         (WebCore::PositionError::isFatal): Added. Determines whether an error is fatal.
625
626 2009-09-09  Roland Steiner  <rolandsteiner@google.com>
627
628         Reviewed by Eric Seidel.
629
630         Bug 28964 -  [Chromium] ChromiumDataObject should have getter/setter interface
631
632         Added getter/setter methods and trivial inline implementations for each.
633         (Note that they are not yet actually used.)
634         Once the Chromium code is changed to use them instead of directly accessing the
635         member variables, the member variables should be made private and cleaned up.
636
637         No new tests (no functional behavior changed).
638
639         * platform/chromium/ChromiumDataObject.h:
640         (WebCore::ChromiumDataObject::mainURL):
641         (WebCore::ChromiumDataObject::setMainURL):
642         (WebCore::ChromiumDataObject::mainURLTitle):
643         (WebCore::ChromiumDataObject::setMainURLTitle):
644         (WebCore::ChromiumDataObject::textPlain):
645         (WebCore::ChromiumDataObject::setTextPlain):
646         (WebCore::ChromiumDataObject::textHTML):
647         (WebCore::ChromiumDataObject::setTextHTML):
648         (WebCore::ChromiumDataObject::htmlBaseURL):
649         (WebCore::ChromiumDataObject::setHTMLBaseURL):
650         (WebCore::ChromiumDataObject::content):
651         (WebCore::ChromiumDataObject::releaseContent):
652         (WebCore::ChromiumDataObject::setContent):
653         (WebCore::ChromiumDataObject::contentFileExtension):
654         (WebCore::ChromiumDataObject::setContentFileExtension):
655         (WebCore::ChromiumDataObject::contentFileName):
656         (WebCore::ChromiumDataObject::setContentFileName):
657         (WebCore::ChromiumDataObject::fileNames):
658         (WebCore::ChromiumDataObject::setFileNames):
659         (WebCore::ChromiumDataObject::takeFileNames):
660
661 2009-09-08  Pat Bradley  <vincent.bradley@nokia.com>
662
663         Reviewed by Ariya Hidayat.
664
665         [Qt] locale date displays incorrect date format in symbian.
666         https://bugs.webkit.org/show_bug.cgi?id=29032
667
668         strftime() in Symbian does not support #
669         Layout tests cannot be run on Symbian yet, so they are not updated.
670
671         * runtime/DatePrototype.cpp:
672         (JSC::formatLocaleDate):
673
674 2009-09-09  Rohini Ananth <rohini.ananth@nokia.com>
675
676         Reviewed by Simon Hausmann.
677
678         NPAPI Plugin NPP_AsFile not working on Qt Webkit
679         https://bugs.webkit.org/show_bug.cgi?id=29068
680
681         * platform/qt/FileSystemQt.cpp:
682         (WebCore::openTemporaryFile)
683         Autoremove property of QTemporaryFile has been set to false. Hence closeFile() just closes and does not delete the file.
684         This solves the deletion of created temp file in PluginStream::destroyStream() before passing to plugin in NPP_AsFile.
685
686 2009-09-08  Oliver Hunt  <oliver@apple.com>
687
688         Reviewed by NOBODY (Build fix).
689
690         Remove a few incorrect changes I left in.
691
692         * bindings/scripts/CodeGeneratorJS.pm:
693
694 2009-09-08  Oliver Hunt  <oliver@apple.com>
695
696         Reviewed by Sam Weinig.
697
698         Support numeric index getters in bindings
699         https://bugs.webkit.org/show_bug.cgi?id=29067
700
701         Add HasNumericIndexGetter to indicate a non-custom getter that
702         returns a number.  The numeric index getter also uses PropertySlot's
703         setValue rather than setCustomIndex to avoid an additional indirect
704         call.
705
706         * bindings/js/JSCanvasByteArrayCustom.cpp:
707         * bindings/js/JSCanvasFloatArrayCustom.cpp:
708         * bindings/js/JSCanvasIntArrayCustom.cpp:
709         * bindings/js/JSCanvasShortArrayCustom.cpp:
710         * bindings/js/JSCanvasUnsignedByteArrayCustom.cpp:
711         * bindings/js/JSCanvasUnsignedIntArrayCustom.cpp:
712         * bindings/js/JSCanvasUnsignedShortArrayCustom.cpp:
713         * bindings/scripts/CodeGeneratorJS.pm:
714         * html/canvas/CanvasByteArray.h:
715         (WebCore::CanvasByteArray::item):
716         * html/canvas/CanvasByteArray.idl:
717         * html/canvas/CanvasFloatArray.h:
718         (WebCore::CanvasFloatArray::get):
719         (WebCore::CanvasFloatArray::item):
720         * html/canvas/CanvasFloatArray.idl:
721         * html/canvas/CanvasIntArray.h:
722         (WebCore::CanvasIntArray::get):
723         (WebCore::CanvasIntArray::item):
724         * html/canvas/CanvasIntArray.idl:
725         * html/canvas/CanvasPixelArray.idl:
726         * html/canvas/CanvasShortArray.h:
727         (WebCore::CanvasShortArray::get):
728         (WebCore::CanvasShortArray::item):
729         * html/canvas/CanvasShortArray.idl:
730         * html/canvas/CanvasUnsignedByteArray.h:
731         (WebCore::CanvasUnsignedByteArray::get):
732         (WebCore::CanvasUnsignedByteArray::item):
733         * html/canvas/CanvasUnsignedByteArray.idl:
734         * html/canvas/CanvasUnsignedIntArray.h:
735         (WebCore::CanvasUnsignedIntArray::get):
736         (WebCore::CanvasUnsignedIntArray::item):
737         * html/canvas/CanvasUnsignedIntArray.idl:
738         * html/canvas/CanvasUnsignedShortArray.h:
739         (WebCore::CanvasUnsignedShortArray::item):
740         * html/canvas/CanvasUnsignedShortArray.idl:
741
742 2009-09-08  Kevin Ollivier  <kevino@theolliviers.com>
743
744         wx build fix for 2.8.
745
746         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
747         (wxRenderer_DrawScrollbar):
748
749 2009-09-08  Jens Alfke  <snej@chromium.org>
750
751         Reviewed by Eric Seidel.
752
753         In Mac Chromium, clicking below the last line of an editable area (textarea or
754         contenteditable) should put the caret at the end of the last line, as in Mac Safari.
755
756         Tests: LayoutTests/editing/selection/click-in-margins-inside-editable-div.html
757                LayoutTests/editing/selection/click-in-padding-with-multiple-line-boxes.html
758
759         * page/Settings.cpp:
760         (WebCore::Settings::Settings): Change #if PLATFORM_MAC to be Mac-Chrome-inclusive.
761
762 2009-09-08  Dave Hyatt  <hyatt@apple.com>
763
764         Reviewed by Mark Rowe.
765
766         Make sure not to do an early return when a data URL stylesheet successfully loads.  We need to still
767         clear the old cached sheet out of all existing Frames.  Fixes the data URL stylesheet layout test failure.
768
769         * page/Page.cpp:
770         (WebCore::Page::userStyleSheetLocationChanged):
771
772 2009-09-08  Sam Weinig  <sam@webkit.org>
773
774         Fix windows build.
775
776         * dom/Document.idl:
777
778 2009-09-08  Kevin Ollivier  <kevino@theolliviers.com>
779
780         More robust wx build fix for 2.9.
781
782         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
783         (wxRenderer_DrawScrollbar):
784
785 2009-09-08  Sam Weinig  <sam@webkit.org>
786
787         Reviewed by Timothy Hatcher.
788
789         Fix for https://bugs.webkit.org/show_bug.cgi?id=27046
790         Implement CSSOM DocumentView.caretRangeFromPoint
791
792         Tests: fast/dom/Document/CaretRangeFromPoint/basic.html
793                fast/dom/Document/CaretRangeFromPoint/replace-element.html
794
795         * dom/Document.cpp:
796         (WebCore::Document::caretRangeFromPoint):
797         * dom/Document.h:
798         * dom/Document.idl:
799
800 2009-09-08  Kevin Ollivier  <kevino@theolliviers.com>
801
802         wx build fix, generate derived sources earlier in order to make sure
803         they're found by the build system when generating the list of sources to build.
804
805         * wscript:
806
807 2009-09-08  Nate Chapin  <japhet@chromium.org>
808
809         Reviewed by Dimitri Glazkov.
810
811         <iterator> include in V8Proxy.h is spurious and causing ObjC compile issues for Chromium.
812
813         Test: Chromium mac canary build is fixed.
814
815         * bindings/v8/V8Proxy.h: Remove <iterator> include.
816
817 2009-09-08  Xan Lopez  <xlopez@igalia.com>
818
819         Unreviewed attempt to fix the GTK+ build.
820
821         * GNUmakefile.am:
822
823 2009-09-04  Dave Hyatt  <hyatt@apple.com>
824
825         Reviewed by Eric Seidel.
826
827         https://bugs.webkit.org/show_bug.cgi?id=28987, make the Document cache the page's user stylesheet in
828         parsed form.  Allows the sheet to survive across destruction/re-creation of the CSSStyleSelector.
829
830         * css/CSSStyleSelector.cpp:
831         (WebCore::CSSStyleSelector::CSSStyleSelector):
832         * css/CSSStyleSelector.h:
833         * dom/Document.cpp:
834         (WebCore::Document::attach):
835         (WebCore::Document::pageUserSheet):
836         (WebCore::Document::clearPageUserSheet):
837         (WebCore::Document::recalcStyleSelector):
838         * dom/Document.h:
839         * loader/PlaceholderDocument.cpp:
840         (WebCore::PlaceholderDocument::attach):
841         * page/Page.cpp:
842         (WebCore::Page::userStyleSheetLocationChanged):
843         * page/Settings.cpp:
844         (WebCore::Settings::setUserStyleSheetLocation):
845
846 2009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
847
848         Unreviewed buildfix.
849
850         Fix Qt build after 48167, by adding the new cpp/h files
851         added to WebCore.gypi to WebCore.pro as well.
852
853         * WebCore.pro:
854
855 2009-09-08  Xan Lopez  <xlopez@igalia.com>
856
857         Reviewed by Gustavo Noronha.
858
859         should not pass URI fragments to libsoup
860         https://bugs.webkit.org/show_bug.cgi?id=28687
861
862         Strip the fragment from the URI before passing it to soup, since
863         it forwards it to servers in some cases (like when using a proxy)
864         which confuses them and makes them return 403/404.
865
866         * platform/network/soup/ResourceHandleSoup.cpp:
867         (WebCore::startHttp):
868         (WebCore::):
869
870 2009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
871
872         Reviewed by Simon Hausmann.
873
874         Add QGraphicsScene events support to the Qt platform events.
875
876         * platform/PlatformMouseEvent.h:
877         * platform/PlatformWheelEvent.h:
878         * platform/qt/PlatformMouseEventQt.cpp:
879         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
880         * platform/qt/WheelEventQt.cpp:
881         (WebCore::PlatformWheelEvent::applyDelta):
882         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
883
884 2009-09-08  Michael Nordman  <michaeln@google.com>
885
886         Reviewed by Eric Seidel.
887
888         [Chromium] Cleanup: remove a few deprecated methods.
889         https://bugs.webkit.org/show_bug.cgi?id=28960
890
891         No new tests, just syntactic sugar.
892
893         * platform/network/chromium/ResourceRequest.h:
894         * platform/network/chromium/ResourceResponse.h:
895
896 2009-09-08  Yongjun Zhang  <yongjun.zhang@nokia.com>
897
898         Reviewed by Ariya Hidayat.
899
900         https://bugs.webkit.org/show_bug.cgi?id=28981
901
902         [Qt] make npapi.h compile in winscw compiler.
903
904         Add XP_SYMBIAN macro to identify Symbian OS; this macro should be used for Symbian
905         specific changes in npapi.h.
906         Undefine XP_WIN when building for Symbian to avoid including Windows specific code.
907
908         * bridge/npapi.h:
909
910 2009-09-08  Oliver Hunt  <oliver@apple.com>
911
912         Reviewed by Geoff Garen.
913
914         Web Inspector assertion failure related to marking
915         https://bugs.webkit.org/show_bug.cgi?id=28997
916
917         When wrapping the callback the JSInspectorCallbackWrapper creator was using
918         inheritorID for the prototype structure which is unsafe for anything other
919         than a pure JS object.  Instead we now create a new structure, which while
920         inefficient is not problematic as this code is not hit frequently.
921
922         * bindings/js/JSInspectorCallbackWrapper.cpp:
923         (WebCore::JSInspectorCallbackWrapper::wrap):
924
925 2009-09-08  Kelly Norton  <knorton@google.com>
926
927         Reviewed by Dimitri Glazkov.
928
929         Add missing extension to the file entry in WebCore.vcproj.
930
931         * WebCore.vcproj/WebCore.vcproj: Added "cpp".
932
933 2009-09-08  Jian Li  <jianli@chromium.org>
934
935         Reviewed by David Levin.
936
937         dataTransfer.types() should not return Files if file list is empty in the clipboard.
938         https://bugs.webkit.org/show_bug.cgi?id=28891
939
940         We change the behavior to handle the empty file list in order to match the spec.
941
942         Tested by clipboard-file-access.html.
943
944         * platform/mac/ClipboardMac.mm:
945         (WebCore::addHTMLClipboardTypesForCocoaType):
946         (WebCore::ClipboardMac::types):
947
948 2009-09-08  Steve VanDeBogart  <vandebo@chromium.org>
949
950         Reviewed by Eric Seidel.
951
952         Handle middle click in Chromium like QT
953         https://bugs.webkit.org/show_bug.cgi?id=28696
954
955         Tested by middle-click-onpaste.html.
956
957         * platform/Pasteboard.h:
958         * platform/chromium/ChromiumBridge.h:
959         * platform/chromium/ClipboardChromium.cpp:
960         (WebCore::ClipboardChromium::getData):
961         * platform/chromium/PasteboardChromium.cpp:
962         (WebCore::Pasteboard::Pasteboard):
963         (WebCore::Pasteboard::isSelectionMode):
964         (WebCore::Pasteboard::setSelectionMode):
965         (WebCore::Pasteboard::canSmartReplace):
966         (WebCore::Pasteboard::plainText):
967         (WebCore::Pasteboard::documentFragment):
968         * platform/chromium/PasteboardPrivate.h:
969         (WebCore::PasteboardPrivate::):
970
971 2009-09-08  Kelly Norton  <knorton@google.com>
972
973         Reviewed by Eric Seidel.
974
975         WebInspector: Adds a timeline agent to InspectorController that collects
976         high-level timing data about event dispatch, layout, painting and HTML
977         parsing and makes it available to Inspector.
978         https://bugs.webkit.org/show_bug.cgi?id=25503
979
980         * WebCore.gypi:
981         * WebCore.xcodeproj/project.pbxproj:
982         * dom/Document.cpp:
983         (WebCore::Document::recalcStyle):
984         * dom/Document.h:
985         (WebCore::Document::inspectorTimelineAgent):
986         * dom/Node.cpp:
987         (WebCore::Node::dispatchGenericEvent):
988         * html/HTMLTokenizer.cpp:
989         (WebCore::HTMLTokenizer::write):
990         * inspector/DOMDispatchTimelineItem.cpp: Added.
991         (WebCore::DOMDispatchTimelineItem::DOMDispatchTimelineItem):
992         (WebCore::DOMDispatchTimelineItem::convertToScriptObject):
993         * inspector/DOMDispatchTimelineItem.h: Added.
994         (WebCore::DOMDispatchTimelineItem::~DOMDispatchTimelineItem):
995         * inspector/InspectorBackend.cpp:
996         (WebCore::InspectorBackend::enableTimeline):
997         (WebCore::InspectorBackend::disableTimeline):
998         (WebCore::InspectorBackend::timelineEnabled):
999         * inspector/InspectorBackend.h:
1000         * inspector/InspectorBackend.idl:
1001         * inspector/InspectorController.cpp:
1002         (WebCore::InspectorController::setFrontendProxyObject):
1003         (WebCore::InspectorController::close):
1004         (WebCore::InspectorController::resetScriptObjects):
1005         (WebCore::InspectorController::enableTimeline):
1006         (WebCore::InspectorController::disableTimeline):
1007         (WebCore::InspectorController::timelineEnabled):
1008         * inspector/InspectorController.h:
1009         (WebCore::InspectorController::timelineAgent):
1010         * inspector/InspectorFrontend.cpp:
1011         (WebCore::InspectorFrontend::timelineWasEnabled):
1012         (WebCore::InspectorFrontend::timelineWasDisabled):
1013         (WebCore::InspectorFrontend::addItemToTimeline):
1014         * inspector/InspectorFrontend.h:
1015         * inspector/InspectorTimelineAgent.cpp: Added.
1016         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1017         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
1018         (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
1019         (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
1020         (WebCore::InspectorTimelineAgent::willLayout):
1021         (WebCore::InspectorTimelineAgent::didLayout):
1022         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
1023         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
1024         (WebCore::InspectorTimelineAgent::willPaint):
1025         (WebCore::InspectorTimelineAgent::didPaint):
1026         (WebCore::InspectorTimelineAgent::willWriteHTML):
1027         (WebCore::InspectorTimelineAgent::didWriteHTML):
1028         (WebCore::InspectorTimelineAgent::reset):
1029         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
1030         (WebCore::InspectorTimelineAgent::currentTimeInMilliseconds):
1031         (WebCore::InspectorTimelineAgent::sessionTimeInMilliseconds):
1032         * inspector/InspectorTimelineAgent.h: Added.
1033         * inspector/TimelineItem.cpp: Added.
1034         (WebCore::TimelineItem::TimelineItem):
1035         (WebCore::TimelineItem::addToTimeline):
1036         (WebCore::TimelineItem::convertToScriptObject):
1037         (WebCore::TimelineItem::convertChildrenToScriptArray):
1038         (WebCore::TimelineItem::addChildItem):
1039         * inspector/TimelineItem.h: Added.
1040         (WebCore::):
1041         (WebCore::TimelineItem::~TimelineItem):
1042         (WebCore::TimelineItem::previous):
1043         (WebCore::TimelineItem::releasePrevious):
1044         (WebCore::TimelineItem::setEndTime):
1045         (WebCore::TimelineItem::type):
1046         * inspector/front-end/TimelineAgent.js: Added.
1047         (WebInspector.TimelineAgent):
1048         (WebInspector.addItemToTimeline):
1049         (WebInspector.timelineWasEnabled):
1050         (WebInspector.timelineWasDisabled):
1051         * inspector/front-end/inspector.html:
1052         * page/FrameView.cpp:
1053         (WebCore::FrameView::layout):
1054         (WebCore::FrameView::paintContents):
1055         * page/FrameView.h:
1056         (WebCore::FrameView::inspectorTimelineAgent):
1057         * page/Page.cpp:
1058         (WebCore::Page::inspectorTimelineAgent):
1059         * page/Page.h:
1060
1061 2009-09-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1062
1063         Reviewed by Simon Hausmann.
1064
1065         [Qt] Fix unused variable warnings
1066         https://bugs.webkit.org/show_bug.cgi?id=29018
1067
1068         No functional change, no tests.
1069
1070         * history/qt/HistoryItemQt.cpp:
1071         (WebCore::HistoryItem::restoreState):
1072         * platform/graphics/qt/ImageBufferQt.cpp:
1073         (WebCore::putImageData):
1074         * platform/qt/RenderThemeQt.cpp:
1075         (WebCore::RenderThemeQt::paintMenuList):
1076
1077 2009-09-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1078
1079         Reviewed by Ariya Hidayat.
1080
1081         [Qt] Use the declaration order in initializer lists
1082         https://bugs.webkit.org/show_bug.cgi?id=29017
1083
1084         No functional change, no new tests.
1085
1086         * platform/graphics/qt/FontCacheQt.cpp:
1087         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
1088         * platform/network/qt/QNetworkReplyHandler.cpp:
1089         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1090
1091 2009-09-08  Kent Tamura  <tkent@chromium.org>
1092
1093         Reviewed by Eric Seidel.
1094
1095         Implement ValidityState::typeMismatch() for <input type=number>.
1096         https://bugs.webkit.org/show_bug.cgi?id=28934
1097
1098         Test: fast/forms/ValidityState-typeMismatch-number.html
1099
1100         * html/HTMLInputElement.cpp:
1101         (WebCore::HTMLInputElement::formStringToDouble):
1102         * html/HTMLInputElement.h:
1103         * html/ValidityState.cpp:
1104         (WebCore::ValidityState::typeMismatch):
1105         * html/ValidityState.h:
1106
1107 2009-09-08  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
1108
1109         Reviewed by Gustavo Noronha.
1110
1111         [Gtk] Another attempt of a buildfix.
1112
1113         * GNUmakefile.am: Modified. Remove some extra IDL files added in r48153.
1114
1115 2009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1116
1117         Reviewed by Simon Hausmann.
1118
1119         [Qt] Make cursor set cleaner in QtWebKit Api: eliminate SetCursorEvent hack.
1120         https://bugs.webkit.org/show_bug.cgi?id=28865
1121
1122         Save the QCursor as a property in WidgetQt::setCursor
1123         and actually change the cursor in QWebView::event() by making use
1124         of the QEvent::DynamicPropertyChange event type.
1125         When unsetCursor() is called on the QWidget we can fallback to
1126         the cursor set by WebCore.
1127
1128         Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> and
1129                  Antonio Gomes <antonio.gomes@openbossa.org> on 2009-09-07
1130
1131         * platform/qt/WidgetQt.cpp:
1132         (WebCore::Widget::setCursor):
1133
1134 2009-09-08  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
1135
1136         Reviewed by Gustavo Noronha.
1137
1138         [Gtk] Buildfix for build error introduced in r48150.
1139
1140         * GNUmakefile.am: Modified. Added missing IDL files.
1141
1142 2009-09-08  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
1143
1144         Reviewed by Tor Arne Vestbø.
1145
1146         [Qt] Buildfix. Build error caused by r48150.
1147
1148         * WebCore.pro: missing IDL files added
1149
1150 2009-09-07  Chris Marrin  <cmarrin@apple.com>
1151
1152         Reviewed by Oliver Hunt.
1153
1154         Update Canvas 3D implementation to match spec
1155         https://bugs.webkit.org/show_bug.cgi?id=29010
1156
1157         This adds several new CanvasXXXArray classes each of which has a custom constructor
1158         and custom getters and setters. Also changed CanvasRenderingContext3D and GraphicsContext3D
1159         to match the new and changed API.
1160
1161         * DerivedSources.make:
1162         * WebCore.xcodeproj/project.pbxproj:
1163         * bindings/js/JSCanvasArrayBufferConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1164         * bindings/js/JSCanvasArrayBufferConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1165         * bindings/js/JSCanvasArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1166         * bindings/js/JSCanvasByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1167         * bindings/js/JSCanvasByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1168         * bindings/js/JSCanvasByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1169         * bindings/js/JSCanvasFloatArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1170         * bindings/js/JSCanvasFloatArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1171         * bindings/js/JSCanvasFloatArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1172         * bindings/js/JSCanvasIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1173         * bindings/js/JSCanvasIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1174         * bindings/js/JSCanvasIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1175         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
1176         (WebCore::JSCanvasRenderingContext3D::bufferData):
1177         (WebCore::JSCanvasRenderingContext3D::bufferSubData):
1178         (WebCore::JSCanvasRenderingContext3D::texImage2D):
1179         (WebCore::JSCanvasRenderingContext3D::texSubImage2D):
1180         * bindings/js/JSCanvasShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1181         * bindings/js/JSCanvasShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1182         * bindings/js/JSCanvasShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1183         * bindings/js/JSCanvasUnsignedByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1184         * bindings/js/JSCanvasUnsignedByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1185         * bindings/js/JSCanvasUnsignedByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1186         * bindings/js/JSCanvasUnsignedIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1187         * bindings/js/JSCanvasUnsignedIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1188         * bindings/js/JSCanvasUnsignedIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1189         * bindings/js/JSCanvasUnsignedShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1190         * bindings/js/JSCanvasUnsignedShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1191         * bindings/js/JSCanvasUnsignedShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1192         * bindings/js/JSDOMWindowCustom.cpp:
1193         (WebCore::JSDOMWindow::canvasArrayBuffer):
1194         (WebCore::JSDOMWindow::canvasByteArray):
1195         (WebCore::JSDOMWindow::canvasUnsignedByteArray):
1196         (WebCore::JSDOMWindow::canvasIntArray):
1197         (WebCore::JSDOMWindow::canvasUnsignedIntArray):
1198         (WebCore::JSDOMWindow::canvasShortArray):
1199         (WebCore::JSDOMWindow::canvasUnsignedShortArray):
1200         (WebCore::JSDOMWindow::canvasFloatArray):
1201         * html/HTMLCanvasElement.cpp:
1202         (WebCore::HTMLCanvasElement::getContext):
1203         (WebCore::HTMLCanvasElement::paint):
1204         * html/canvas/CanvasArray.cpp: Added with properties svn:eol-style and svn:mime-type.
1205         * html/canvas/CanvasArray.h: Added with properties svn:eol-style and svn:mime-type.
1206         * html/canvas/CanvasArray.idl: Added.
1207         * html/canvas/CanvasArrayBuffer.cpp: Added with properties svn:eol-style and svn:mime-type.
1208         * html/canvas/CanvasArrayBuffer.h: Added with properties svn:eol-style and svn:mime-type.
1209         * html/canvas/CanvasArrayBuffer.idl: Added.
1210         * html/canvas/CanvasByteArray.cpp:
1211         * html/canvas/CanvasByteArray.h:
1212         * html/canvas/CanvasByteArray.idl:
1213         * html/canvas/CanvasFloatArray.cpp: Added with properties svn:eol-style and svn:mime-type.
1214         * html/canvas/CanvasFloatArray.h: Added with properties svn:eol-style and svn:mime-type.
1215         * html/canvas/CanvasFloatArray.idl: Added.
1216         * html/canvas/CanvasIntArray.cpp: Added with properties svn:eol-style and svn:mime-type.
1217         * html/canvas/CanvasIntArray.h: Added with properties svn:eol-style and svn:mime-type.
1218         * html/canvas/CanvasIntArray.idl: Added.
1219         * html/canvas/CanvasRenderingContext3D.cpp:
1220         (WebCore::CanvasRenderingContext3D::CanvasRenderingContext3D):
1221         (WebCore::CanvasRenderingContext3D::markContextChanged):
1222         (WebCore::CanvasRenderingContext3D::beginPaint):
1223         (WebCore::CanvasRenderingContext3D::endPaint):
1224         (WebCore::CanvasRenderingContext3D::reshape):
1225         (WebCore::CanvasRenderingContext3D::sizeInBytes):
1226         (WebCore::CanvasRenderingContext3D::bindTexture):
1227         (WebCore::CanvasRenderingContext3D::bufferData):
1228         (WebCore::CanvasRenderingContext3D::bufferSubData):
1229         (WebCore::CanvasRenderingContext3D::checkFramebufferStatus):
1230         (WebCore::CanvasRenderingContext3D::clear):
1231         (WebCore::CanvasRenderingContext3D::createBuffer):
1232         (WebCore::CanvasRenderingContext3D::createFramebuffer):
1233         (WebCore::CanvasRenderingContext3D::createTexture):
1234         (WebCore::CanvasRenderingContext3D::createProgram):
1235         (WebCore::CanvasRenderingContext3D::createRenderbuffer):
1236         (WebCore::CanvasRenderingContext3D::createShader):
1237         (WebCore::CanvasRenderingContext3D::deleteBuffer):
1238         (WebCore::CanvasRenderingContext3D::deleteFramebuffer):
1239         (WebCore::CanvasRenderingContext3D::deleteProgram):
1240         (WebCore::CanvasRenderingContext3D::deleteRenderbuffer):
1241         (WebCore::CanvasRenderingContext3D::deleteShader):
1242         (WebCore::CanvasRenderingContext3D::deleteTexture):
1243         (WebCore::CanvasRenderingContext3D::drawArrays):
1244         (WebCore::CanvasRenderingContext3D::drawElements):
1245         (WebCore::CanvasRenderingContext3D::getBoolean):
1246         (WebCore::CanvasRenderingContext3D::getBooleanv):
1247         (WebCore::CanvasRenderingContext3D::getBufferParameteri):
1248         (WebCore::CanvasRenderingContext3D::getBufferParameteriv):
1249         (WebCore::CanvasRenderingContext3D::getFloat):
1250         (WebCore::CanvasRenderingContext3D::getFloatv):
1251         (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteri):
1252         (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteriv):
1253         (WebCore::CanvasRenderingContext3D::getInteger):
1254         (WebCore::CanvasRenderingContext3D::getIntegerv):
1255         (WebCore::CanvasRenderingContext3D::getProgrami):
1256         (WebCore::CanvasRenderingContext3D::getProgramiv):
1257         (WebCore::CanvasRenderingContext3D::getProgramInfoLog):
1258         (WebCore::CanvasRenderingContext3D::getRenderbufferParameteri):
1259         (WebCore::CanvasRenderingContext3D::getRenderbufferParameteriv):
1260         (WebCore::CanvasRenderingContext3D::getShaderi):
1261         (WebCore::CanvasRenderingContext3D::getShaderiv):
1262         (WebCore::CanvasRenderingContext3D::getShaderInfoLog):
1263         (WebCore::CanvasRenderingContext3D::getShaderSource):
1264         (WebCore::CanvasRenderingContext3D::getTexParameterf):
1265         (WebCore::CanvasRenderingContext3D::getTexParameterfv):
1266         (WebCore::CanvasRenderingContext3D::getTexParameteri):
1267         (WebCore::CanvasRenderingContext3D::getTexParameteriv):
1268         (WebCore::CanvasRenderingContext3D::getUniformf):
1269         (WebCore::CanvasRenderingContext3D::getUniformfv):
1270         (WebCore::CanvasRenderingContext3D::getUniformi):
1271         (WebCore::CanvasRenderingContext3D::getUniformiv):
1272         (WebCore::CanvasRenderingContext3D::getUniformLocation):
1273         (WebCore::CanvasRenderingContext3D::getVertexAttribf):
1274         (WebCore::CanvasRenderingContext3D::getVertexAttribfv):
1275         (WebCore::CanvasRenderingContext3D::getVertexAttribi):
1276         (WebCore::CanvasRenderingContext3D::getVertexAttribiv):
1277         (WebCore::CanvasRenderingContext3D::getVertexAttribOffset):
1278         (WebCore::CanvasRenderingContext3D::texImage2D):
1279         (WebCore::CanvasRenderingContext3D::texParameterf):
1280         (WebCore::CanvasRenderingContext3D::texParameteri):
1281         (WebCore::CanvasRenderingContext3D::texSubImage2D):
1282         (WebCore::CanvasRenderingContext3D::uniform1f):
1283         (WebCore::CanvasRenderingContext3D::uniform1fv):
1284         (WebCore::CanvasRenderingContext3D::uniform1i):
1285         (WebCore::CanvasRenderingContext3D::uniform1iv):
1286         (WebCore::CanvasRenderingContext3D::uniform2f):
1287         (WebCore::CanvasRenderingContext3D::uniform2fv):
1288         (WebCore::CanvasRenderingContext3D::uniform2i):
1289         (WebCore::CanvasRenderingContext3D::uniform2iv):
1290         (WebCore::CanvasRenderingContext3D::uniform3f):
1291         (WebCore::CanvasRenderingContext3D::uniform3fv):
1292         (WebCore::CanvasRenderingContext3D::uniform3i):
1293         (WebCore::CanvasRenderingContext3D::uniform3iv):
1294         (WebCore::CanvasRenderingContext3D::uniform4f):
1295         (WebCore::CanvasRenderingContext3D::uniform4fv):
1296         (WebCore::CanvasRenderingContext3D::uniform4i):
1297         (WebCore::CanvasRenderingContext3D::uniform4iv):
1298         (WebCore::CanvasRenderingContext3D::uniformMatrix2fv):
1299         (WebCore::CanvasRenderingContext3D::uniformMatrix3fv):
1300         (WebCore::CanvasRenderingContext3D::uniformMatrix4fv):
1301         (WebCore::CanvasRenderingContext3D::useProgram):
1302         (WebCore::CanvasRenderingContext3D::validateProgram):
1303         (WebCore::CanvasRenderingContext3D::vertexAttrib1f):
1304         (WebCore::CanvasRenderingContext3D::vertexAttrib1fv):
1305         (WebCore::CanvasRenderingContext3D::vertexAttrib2f):
1306         (WebCore::CanvasRenderingContext3D::vertexAttrib2fv):
1307         (WebCore::CanvasRenderingContext3D::vertexAttrib3f):
1308         (WebCore::CanvasRenderingContext3D::vertexAttrib3fv):
1309         (WebCore::CanvasRenderingContext3D::vertexAttrib4f):
1310         (WebCore::CanvasRenderingContext3D::vertexAttrib4fv):
1311         (WebCore::CanvasRenderingContext3D::vertexAttribPointer):
1312         (WebCore::CanvasRenderingContext3D::viewport):
1313         * html/canvas/CanvasRenderingContext3D.h:
1314         * html/canvas/CanvasRenderingContext3D.idl:
1315         * html/canvas/CanvasShortArray.cpp: Added with properties svn:eol-style and svn:mime-type.
1316         * html/canvas/CanvasShortArray.h: Added with properties svn:eol-style and svn:mime-type.
1317         * html/canvas/CanvasShortArray.idl: Added.
1318         * html/canvas/CanvasTexture.cpp:
1319         (WebCore::CanvasTexture::CanvasTexture):
1320         * html/canvas/CanvasTexture.h:
1321         (WebCore::CanvasTexture::isCubeMapRWrapModeInitialized):
1322         (WebCore::CanvasTexture::setCubeMapRWrapModeInitialized):
1323         * html/canvas/CanvasUnsignedByteArray.cpp: Added with properties svn:eol-style and svn:mime-type.
1324         * html/canvas/CanvasUnsignedByteArray.h: Added with properties svn:eol-style and svn:mime-type.
1325          * html/canvas/CanvasUnsignedByteArray.idl: Added.
1326         * html/canvas/CanvasUnsignedIntArray.cpp: Added with properties svn:eol-style and svn:mime-type.
1327         * html/canvas/CanvasUnsignedIntArray.h: Added with properties svn:eol-style and svn:mime-type.
1328         * html/canvas/CanvasUnsignedIntArray.idl: Added.
1329         * html/canvas/CanvasUnsignedShortArray.cpp: Added with properties svn:eol-style and svn:mime-type.
1330         * html/canvas/CanvasUnsignedShortArray.h: Added with properties svn:eol-style and svn:mime-type.
1331         * html/canvas/CanvasUnsignedShortArray.idl: Added.
1332         * page/DOMWindow.idl:
1333         * platform/graphics/GraphicsContext3D.h:
1334         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1335         (WebCore::GraphicsContext3D::beginPaint):
1336         (WebCore::GraphicsContext3D::endPaint):
1337         (WebCore::GraphicsContext3D::bindTexture):
1338         (WebCore::GraphicsContext3D::bufferData):
1339         (WebCore::GraphicsContext3D::bufferSubData):
1340         (WebCore::GraphicsContext3D::checkFramebufferStatus):
1341         (WebCore::GraphicsContext3D::drawArrays):
1342         (WebCore::GraphicsContext3D::drawElements):
1343         (WebCore::GraphicsContext3D::texParameterf):
1344         (WebCore::GraphicsContext3D::texParameteri):
1345         (WebCore::GraphicsContext3D::uniform1f):
1346         (WebCore::GraphicsContext3D::uniform1fv):
1347         (WebCore::GraphicsContext3D::uniform2f):
1348         (WebCore::GraphicsContext3D::uniform2fv):
1349         (WebCore::GraphicsContext3D::uniform3f):
1350         (WebCore::GraphicsContext3D::uniform3fv):
1351         (WebCore::GraphicsContext3D::uniform4f):
1352         (WebCore::GraphicsContext3D::uniform4fv):
1353         (WebCore::GraphicsContext3D::uniform1i):
1354         (WebCore::GraphicsContext3D::uniform1iv):
1355         (WebCore::GraphicsContext3D::uniform2i):
1356         (WebCore::GraphicsContext3D::uniform2iv):
1357         (WebCore::GraphicsContext3D::uniform3i):
1358         (WebCore::GraphicsContext3D::uniform3iv):
1359         (WebCore::GraphicsContext3D::uniform4i):
1360         (WebCore::GraphicsContext3D::uniform4iv):
1361         (WebCore::GraphicsContext3D::uniformMatrix2fv):
1362         (WebCore::GraphicsContext3D::uniformMatrix3fv):
1363         (WebCore::GraphicsContext3D::uniformMatrix4fv):
1364         (WebCore::GraphicsContext3D::vertexAttrib1f):
1365         (WebCore::GraphicsContext3D::vertexAttrib1fv):
1366         (WebCore::GraphicsContext3D::vertexAttrib2f):
1367         (WebCore::GraphicsContext3D::vertexAttrib2fv):
1368         (WebCore::GraphicsContext3D::vertexAttrib3f):
1369         (WebCore::GraphicsContext3D::vertexAttrib3fv):
1370         (WebCore::GraphicsContext3D::vertexAttrib4f):
1371         (WebCore::GraphicsContext3D::vertexAttrib4fv):
1372         (WebCore::GraphicsContext3D::vertexAttribPointer):
1373         (WebCore::GraphicsContext3D::getBoolean):
1374         (WebCore::GraphicsContext3D::getBooleanv):
1375         (WebCore::GraphicsContext3D::getFloat):
1376         (WebCore::GraphicsContext3D::getFloatv):
1377         (WebCore::GraphicsContext3D::getInteger):
1378         (WebCore::GraphicsContext3D::getIntegerv):
1379         (WebCore::GraphicsContext3D::getBufferParameteri):
1380         (WebCore::GraphicsContext3D::getBufferParameteriv):
1381         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteri):
1382         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
1383         (WebCore::GraphicsContext3D::getProgrami):
1384         (WebCore::GraphicsContext3D::getProgramiv):
1385         (WebCore::GraphicsContext3D::getRenderbufferParameteri):
1386         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
1387         (WebCore::GraphicsContext3D::getShaderi):
1388         (WebCore::GraphicsContext3D::getShaderiv):
1389         (WebCore::GraphicsContext3D::getTexParameterf):
1390         (WebCore::GraphicsContext3D::getTexParameterfv):
1391         (WebCore::GraphicsContext3D::getTexParameteri):
1392         (WebCore::GraphicsContext3D::getTexParameteriv):
1393         (WebCore::GraphicsContext3D::getUniformf):
1394         (WebCore::GraphicsContext3D::getUniformfv):
1395         (WebCore::GraphicsContext3D::getUniformi):
1396         (WebCore::GraphicsContext3D::getUniformiv):
1397         (WebCore::GraphicsContext3D::getVertexAttribf):
1398         (WebCore::GraphicsContext3D::getVertexAttribfv):
1399         (WebCore::GraphicsContext3D::getVertexAttribi):
1400         (WebCore::GraphicsContext3D::getVertexAttribiv):
1401         (WebCore::GraphicsContext3D::getVertexAttribOffset):
1402         (WebCore::GraphicsContext3D::texImage2D):
1403         (WebCore::GraphicsContext3D::texSubImage2D):
1404         (WebCore::GraphicsContext3D::sizeInBytes):
1405
1406 2009-09-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1407
1408         Reviewed by Timothy Hatcher.
1409
1410         Make m_windowVisible more consistent with the actual visibility of the inspector.
1411
1412         * inspector/InspectorController.cpp:
1413         (WebCore::InspectorController::setWindowVisible):
1414
1415 2009-09-07  Adam Barth  <abarth@webkit.org>
1416
1417         Unreviewed speculative build fix for Snow Leopard.
1418
1419         * platform/GeolocationService.cpp:
1420         (WebCore::createGeolocationServiceNull):
1421
1422 2009-09-07  Steve Block  <steveblock@google.com>
1423
1424         Reviewed by Adam Barth.
1425
1426         Adds a mock Geolocation service. This will be used to provide predictable behavior of the
1427         Geolocation API for use in LayoutTests. Later changes will integrate the the mock
1428         Geolocation service with DumpRenderTree.
1429         https://bugs.webkit.org/show_bug.cgi?id=28264
1430
1431         The mock Geolocation service returns a fixed position or error. This position or error can be
1432         set through static methods on the GeolocationService class. The position or error is shared
1433         between all instances of the mock Geolocation service.
1434
1435         Implementation details.
1436         The GeolocationService object maintains a pointer to a factory function which it uses to create
1437         Geolocation service instances. Each platform implementing Geolocation sets this pointer
1438         to the factory function for their platform's implementation. When the mock Geolocation service
1439         is activated, the factory function pointer is reset to the factory function for the mock service.
1440
1441         Test: fast/dom/Geolocation/error.html
1442
1443         * WebCore.base.exp: Modified. Exports GeolocationServiceMock methods.
1444         * GNUMakefile.am: Modified. Added GeolocationServiceMock files.
1445         * WebCore.gypi: Modified. Added GeolocationServiceMock files.
1446         * WebCore.pro: Modified. Added GeolocationServiceMock files.
1447         * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationServiceMock files.
1448         * WebCore.vcproj/WebCoreCommon.vsprops: Modified. Added mock directory to includes.
1449         * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationServiceMock files and exports some headers.
1450         * WebCoreSources.bkl: Modified. Added GeolocationServiceMock files.
1451         * page/ChromeClient.h: Modified. Fixed comment.
1452         * page/Geolocation.cpp: Modified.
1453         (WebCore::Geolocation::setIsAllowed): Modified. Fixed error string.
1454         * platform/GeolocationService.cpp: Modified.
1455         (WebCore::createGeolocationServiceNull): Added. Returns null in place of a Geolocation service. Used to avoid link errors on platforms where Geolocation is not implemented.
1456         (WebCore::GeolocationService::create): Added. Uses the factory function pointer to create a Geolocation service implementation.
1457         (WebCore::GeolocationService::useMock): Added. Configures the GeolocationServie to use the mock implementation.
1458         * platform/GeolocationService.h: Modified.
1459         * platform/mock: Added.
1460         * platform/mock/GeolocationServiceMock.cpp: Added.
1461         (WebCore::GeolocationServiceMock::create): Added. Creates a GeolocationServiceMock object.
1462         (WebCore::GeolocationServiceMock::GeolocationServiceMock): Added. Constructor.
1463         (WebCore::GeolocationServiceMock::~GeolocationServiceMock): Added. Destructor.
1464         (WebCore::GeolocationServiceMock::setPosition): Added. Sets the position that will be returned by the object.
1465         (WebCore::GeolocationServiceMock::setError): Added. Sets the error that will be returned by the object.
1466         (WebCore::GeolocationServiceMock::startUpdating): Added. GeolocationService implementation. Starts the service.
1467         (WebCore::GeolocationServiceMock::stopUpdating): Added. GeolocationService implementation. Stops the service.
1468         (WebCore::GeolocationServiceMock::timerFired): Added. Used to provide an asynchronous callback when the service is started.
1469         (WebCore::GeolocationServiceMock::makeGeolocationCallbackFromAllInstances): Added. Used to call back when the position or error is updated.
1470         (WebCore::GeolocationServiceMock::makeGeolocationCallback): Added. Used to call back when the service starts.
1471         (WebCore::GeolocationServiceMock::initStatics): Added. Initializes statics members with constructors.
1472         (WebCore::GeolocationServiceMock::cleanUpStatics): Added. Cleans up static members with constructors.
1473         * platform/mock/GeolocationServiceMock.h: Added.
1474         (WebCore::GeolocationServiceMock::lastPosition): Added. Returns the fixed position.
1475         (WebCore::GeolocationServiceMock::lastError): Added. Returns the fixed error.
1476         * platform/gtk/GeolocationServiceGtk.cpp: Modified.
1477         (WebCore::GeolocationServiceGtk::create): Added. Creates an instance of GeolocationServiceGtk.
1478         * platform/gtk/GeolocationServiceGtk.h: Modified.
1479         * platform/mac/GeolocationServiceMac.h: Modified.
1480         * platform/mac/GeolocationServiceMac.mm: Modified.
1481         (WebCore::GeolocationServiceMac::create): Added. Creates an instance of GeolocationServiceMac.
1482
1483 2009-09-07  Adam Barth  <abarth@webkit.org>
1484
1485         Reviewed by Dimitri Glazkov.
1486
1487         https://bugs.webkit.org/show_bug.cgi?id=28985
1488
1489         We need to be slightly more careful about how we pick up a script
1490         execution context.  In particular, we were getting the wrong document
1491         for frames that had been navigated somewhere else.
1492
1493         In the long term, we should think about a better algorithm for
1494         computing the script context.
1495
1496         Fixes LayoutTests/http/tests/xmlhttprequest/detaching-frame-2.html
1497
1498         * bindings/v8/V8Proxy.cpp:
1499         (WebCore::V8Proxy::retrieveFrame):
1500
1501 2009-09-07  Kevin Ollivier  <kevino@theolliviers.com>
1502
1503         wx build fix for 2.8 compilation.
1504
1505         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
1506         (wxRenderer_DrawScrollbar):
1507
1508 2009-09-07  Drew Wilson  <atwilson@google.com>
1509
1510         Unreviewed build fix.
1511
1512         Reverting r48121 to fix Windows build errors.
1513
1514         * DerivedSources.cpp:
1515         * GNUmakefile.am:
1516         * WebCore.xcodeproj/project.pbxproj:
1517         * bindings/js/JSDOMWindowCustom.cpp:
1518         * bindings/js/JSEventTarget.cpp:
1519         (WebCore::toJS):
1520         (WebCore::toEventTarget):
1521         * dom/EventTarget.cpp:
1522         * dom/EventTarget.h:
1523         * page/DOMWindow.idl:
1524         * websockets/WebSocket.cpp:
1525         (WebCore::WebSocket::connect):
1526         (WebCore::WebSocket::send):
1527         (WebCore::WebSocket::close):
1528         (WebCore::WebSocket::bufferedAmount):
1529         (WebCore::WebSocket::addEventListener):
1530         (WebCore::WebSocket::removeEventListener):
1531         (WebCore::WebSocket::dispatchEvent):
1532         (WebCore::WebSocket::didConnect):
1533         (WebCore::WebSocket::didReceiveMessage):
1534         (WebCore::WebSocket::didClose):
1535         (WebCore::WebSocket::dispatchOpenEvent):
1536         (WebCore::WebSocket::dispatchMessageEvent):
1537         (WebCore::WebSocket::dispatchCloseEvent):
1538         * websockets/WebSocket.h:
1539         (WebCore::WebSocket::create):
1540         (WebCore::WebSocket::):
1541         (WebCore::WebSocket::setOnopen):
1542         (WebCore::WebSocket::onopen):
1543         (WebCore::WebSocket::setOnmessage):
1544         (WebCore::WebSocket::onmessage):
1545         (WebCore::WebSocket::setOnclose):
1546         (WebCore::WebSocket::onclose):
1547         (WebCore::WebSocket::toWebSocket):
1548         (WebCore::WebSocket::refEventTarget):
1549         (WebCore::WebSocket::derefEventTarget):
1550         * websockets/WebSocketChannel.cpp: Removed.
1551         * websockets/WebSocketChannel.h: Removed.
1552         * websockets/WebSocketChannelClient.h: Removed.
1553         * websockets/WebSocketHandshake.cpp: Removed.
1554         * websockets/WebSocketHandshake.h: Removed.
1555
1556 2009-09-07  Drew Wilson  <atwilson@google.com>
1557
1558         Unreviewed speculative build fix.
1559
1560         Reverted previous build fix as it didn't fix the problem.
1561
1562         * bindings/js/JSEventTarget.cpp:
1563         (WebCore::toEventTarget):
1564
1565 2009-09-07  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1566
1567         Unreviewed, build fix.
1568
1569         [Qt] Fix build after SHARED_WORKERS are enabled by default (r48131)
1570
1571         * WebCore.pro:
1572
1573 2009-09-07  Drew Wilson  <atwilson@google.com>
1574
1575         Unreviewed build fix.
1576
1577         Temporarily removed depenency between JSEventTarget.cpp and WebSocket.h in an attempt to fix a windows build break.
1578
1579         * bindings/js/JSEventTarget.cpp:
1580         (WebCore::toEventTarget):
1581
1582 2009-09-07  Drew Wilson  <atwilson@google.com>
1583
1584         Reviewed by David Levin.
1585
1586         Enable SHARED_WORKERS by default.
1587         https://bugs.webkit.org/show_bug.cgi?id=28959
1588
1589         Tests (enabled in a separate patch):
1590                fast/workers/shared-worker-constructor.html
1591                fast/workers/shared-worker-context-gc.html
1592                fast/workers/shared-worker-event-listener.html
1593                fast/workers/shared-worker-exception.html
1594                fast/workers/shared-worker-frame-lifecycle.html
1595                fast/workers/shared-worker-gc.html
1596                fast/workers/shared-worker-lifecycle.html
1597                fast/workers/shared-worker-load-error.html
1598                fast/workers/shared-worker-location.html
1599                fast/workers/shared-worker-navigator.html
1600                fast/workers/shared-worker-replace-global-constructor.html
1601                fast/workers/shared-worker-replace-self.html
1602                fast/workers/shared-worker-shared.html
1603                fast/workers/shared-worker-simple.html
1604                http/tests/workers/shared-worker-importScripts.html
1605                http/tests/workers/shared-worker-redirect.html
1606                http/tests/xmlhttprequest/workers/shared-worker-close.html
1607                http/tests/xmlhttprequest/workers/shared-worker-methods-async.html
1608                http/tests/xmlhttprequest/workers/shared-worker-methods.html
1609                http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found.html
1610
1611         * config.h: Removed some whitespace/touched the file to force a full rebuild on the build-bots.
1612         * Configurations/FeatureDefines.xcconfig:
1613         * WebCore.pro:
1614         * WebCore.vcproj/WebCoreCommon.vsprops:
1615         * WebCore.vcproj/build-generated-files.sh:
1616         * dom/DOMWindow.idl: Removed unnecessary whitespace to force a rebuild on the build-bots to pickup the flag change.
1617         * workers/DefaultSharedWorkerRepository.cpp:
1618         (WebCore::SharedWorkerScriptLoader::load):
1619         Clean up bitrot in SharedWorker code - DenyCrossOriginRedirect is now DenyCrossOriginRequests.
1620         * workers/SharedWorkerContext.cpp:
1621         (WebCore::SharedWorkerContext::dispatchConnect):
1622         Clean up bitrot - updated SharedWorker code to reflect new MessageEvent API.
1623
1624 2009-09-07  Xan Lopez  <xlopez@igalia.com>
1625
1626         Unreviewed build fix.
1627
1628         Add new file to sources list.
1629
1630         * GNUmakefile.am:
1631
1632 2009-09-07  Kevin Ollivier  <kevino@theolliviers.com>
1633
1634         wx build fixes for wx SVN trunk. 
1635
1636         * config.h:
1637         * platform/wx/RenderThemeWx.cpp:
1638         (WebCore::RenderThemeWx::paintButton):
1639         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
1640         (WebCore::drawTextWithSpacing):
1641         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
1642         (wxRenderer_DrawScrollbar):
1643
1644 2009-09-07  Chris Hills <chaz@chaz6.com>
1645
1646         Reviewed by Tor Arne Vestbø.
1647
1648         [Qt] Use direct includes for Phonon, not the pretty ones
1649
1650         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1651
1652 2009-09-07  Fumitoshi Ukai  <ukai@chromium.org>
1653
1654         Reviewed by Alexey Proskuryakov.
1655
1656         WebSocket API implementation.
1657         https://bugs.webkit.org/show_bug.cgi?id=28038
1658         
1659         Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
1660         Other build systems will be updated once the code is functional.
1661         Tests will be landed once the code is completed and functional.
1662
1663         * DerivedSources.cpp:
1664         * GNUmakefile.am:
1665         * WebCore.xcodeproj/project.pbxproj:
1666         * bindings/js/JSDOMWindowCustom.cpp:
1667         (WebCore::JSDOMWindow::webSocket):
1668         * bindings/js/JSEventTarget.cpp:
1669         (WebCore::toJS):
1670         (WebCore::toEventTarget):
1671         * dom/EventTarget.cpp:
1672         (WebCore::EventTarget::toWebSocket):
1673         * dom/EventTarget.h:
1674         * page/DOMWindow.idl:
1675         * websockets/WebSocket.cpp:
1676         (WebCore::ProcessWebSocketEventTask::create):
1677         (WebCore::ProcessWebSocketEventTask::performTask):
1678         (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
1679         (WebCore::isValidProtocolString):
1680         (WebCore::WebSocket::connect):
1681         (WebCore::WebSocket::send):
1682         (WebCore::WebSocket::close):
1683         (WebCore::WebSocket::bufferedAmount):
1684         (WebCore::WebSocket::addEventListener):
1685         (WebCore::WebSocket::removeEventListener):
1686         (WebCore::WebSocket::dispatchEvent):
1687         (WebCore::WebSocket::didConnect):
1688         (WebCore::WebSocket::didReceiveMessage):
1689         (WebCore::WebSocket::didClose):
1690         (WebCore::WebSocket::dispatchOpenEvent):
1691         (WebCore::WebSocket::dispatchMessageEvent):
1692         (WebCore::WebSocket::dispatchCloseEvent):
1693         * websockets/WebSocket.h:
1694         (WebCore::WebSocket::create):
1695         (WebCore::WebSocket::):
1696         (WebCore::WebSocket::setOnopen):
1697         (WebCore::WebSocket::onopen):
1698         (WebCore::WebSocket::setOnmessage):
1699         (WebCore::WebSocket::onmessage):
1700         (WebCore::WebSocket::setOnclose):
1701         (WebCore::WebSocket::onclose):
1702         (WebCore::WebSocket::toWebSocket):
1703         (WebCore::WebSocket::eventListeners):
1704         (WebCore::WebSocket::refEventTarget):
1705         (WebCore::WebSocket::derefEventTarget):
1706         * websockets/WebSocketChannel.cpp: Added.
1707         * websockets/WebSocketChannel.h: Added.
1708         * websockets/WebSocketChannelClient.h: Added.
1709         * websockets/WebSocketHandshake.cpp: Added.
1710         * websockets/WebSocketHandshake.h: Added.
1711
1712 2009-09-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1713
1714         Reviewed by Xan Lopez.
1715
1716         https://bugs.webkit.org/show_bug.cgi?id=26854
1717         [GTK] Needs API to allow more control over outgoing requests
1718
1719         Add infrastructure required to provide the new
1720         WebKitNetworkResponse object in our API.
1721
1722         * GNUmakefile.am: Add new files to the build.
1723         * platform/network/soup/ResourceRequestSoup.cpp:
1724         (WebCore::ResourceRequest::updateFromSoupMessage):
1725         * platform/network/soup/ResourceResponse.h:
1726         * platform/network/soup/ResourceResponseSoup.cpp: Added.
1727         (WebCore::ResourceResponse::toSoupMessage):
1728
1729 2009-09-07  Mads Ager  <ager@chromium.org>
1730
1731         Reviewed by Adam Barth.
1732
1733         [V8] Cleanup document/frame null-checking in V8DOMWindowCustom.cpp
1734         https://bugs.webkit.org/show_bug.cgi?id=29009
1735
1736         Be consistent in document and frame null checks.
1737
1738         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1739         (WebCore::V8Custom::WindowSetTimeoutImpl):
1740         (WebCore::ACCESSOR_GETTER):
1741         (WebCore::ACCESSOR_SETTER):
1742         (WebCore::CALLBACK_FUNC_DECL):
1743         (WebCore::NAMED_PROPERTY_GETTER):
1744         (WebCore::V8Custom::ClearTimeoutImpl):
1745
1746 2009-09-07  Xan Lopez  <xlopez@igalia.com>
1747
1748         Reviewed by Gustavo Noronha.
1749
1750         [Soup] Limit the number of connections
1751         https://bugs.webkit.org/show_bug.cgi?id=18431
1752
1753         Increase the maximum number of per host and total connections to
1754         similar values than those used by the other modern browsers. Seems
1755         to significantly improve page loading time in many cases.
1756
1757         * platform/network/soup/ResourceHandleSoup.cpp:
1758         (WebCore::ensureSessionIsInitialized):
1759
1760 2009-09-07  Michael Nordman  <michaeln@google.com>
1761
1762         Reviewed by Darin Fisher.
1763
1764         Various minor chromium appcache modifications.
1765         https://bugs.webkit.org/show_bug.cgi?id=28960
1766
1767         No new tests.
1768
1769         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
1770           Fix a null pointer exception.
1771         (WebCore::ACCESSOR_GETTER):
1772         * platform/network/chromium/ResourceRequest.h:
1773           Switch from appCache 'context' to 'host' terminology.
1774           Note: leaving the old deprecated accessors in place until the matching
1775           change in chrome is landed to use the new accessors.
1776         (WebCore::ResourceRequest::ResourceRequest):
1777         (WebCore::ResourceRequest::appCacheHostID):
1778         (WebCore::ResourceRequest::setAppCacheHostID):
1779         (WebCore::ResourceRequest::appCacheContextID):
1780         (WebCore::ResourceRequest::setAppCacheContextID):
1781         * platform/network/chromium/ResourceResponse.h:
1782           Add an appCacheManifestURL getter/setter.
1783           Drop the 'get' prefix from the appCacheID getter.
1784           Note: leaving the old deprecated 'get' prefixed accessor in place until the matching
1785           change in chrome is landed to use the new accessor.
1786         (WebCore::ResourceResponse::appCacheID):
1787         (WebCore::ResourceResponse::appCacheManifestURL):
1788         (WebCore::ResourceResponse::setAppCacheManifestURL):
1789         (WebCore::ResourceResponse::getAppCacheID):
1790
1791 2009-09-07  Michael Nordman  <michaeln@google.com>
1792
1793         Reviewed by Alexey Proskuryakov.
1794
1795         https://bugs.webkit.org/show_bug.cgi?id=28359
1796         Cleanup: Undo some accidental changes around DOMApplicationCache.
1797         - Restore support for constructing a DOMApplicationCache object with a null frame ptr.
1798         - Return a non-null object for window.applicationCache when the feature is disabled.
1799         - Simplify the swapCache method.
1800
1801         Test: http/tests/appcache/disabled.html
1802
1803         * loader/appcache/DOMApplicationCache.cpp:
1804         (WebCore::DOMApplicationCache::DOMApplicationCache):
1805         (WebCore::DOMApplicationCache::swapCache):
1806         (WebCore::DOMApplicationCache::scriptExecutionContext):
1807         * loader/appcache/DOMApplicationCache.h:
1808         * page/DOMWindow.cpp:
1809         (WebCore::DOMWindow::applicationCache):
1810
1811 2009-09-06  Yael Aharon  <yael.aharon@nokia.com>
1812
1813         Reviewed by Darin Adler.
1814
1815         hostname and host are mixed up when manipulating anchor elements.
1816         https://bugs.webkit.org/show_bug.cgi?id=28954
1817
1818         handle the case of port 0.
1819
1820         * html/HTMLAnchorElement.cpp:
1821         (WebCore::HTMLAnchorElement::host):
1822
1823 2009-09-06  Erik Arvidsson  <arv@chromium.org>
1824
1825         Reviewed by Eric Seidel.
1826
1827         Make hidden elements not focusable.
1828
1829         Clean up supportsFocus and isFocusable.
1830         supportsFocus now strictly means that the node can be focused by default.
1831         This is true for links, form controls and content editable elements for example.
1832         isFocusable means that the user can actually focus it.
1833         All (2) calls to supportsFocus have been updated to take this into account.
1834         
1835         Make a elements without href work correctly as well.
1836
1837         https://bugs.webkit.org/show_bug.cgi?id=27099
1838
1839         Tests: fast/events/click-focus-anchor.html
1840                fast/events/tab-focus-anchor.html
1841                fast/events/tab-focus-hidden.html
1842
1843         * dom/Element.cpp:
1844         (WebCore::Element::focus):
1845         * dom/Node.cpp:
1846         (WebCore::Node::supportsFocus):
1847         (WebCore::Node::isFocusable):
1848         * dom/Node.h:
1849         * html/HTMLAnchorElement.cpp:
1850         (WebCore::HTMLAnchorElement::supportsFocus):
1851         (WebCore::HTMLAnchorElement::isMouseFocusable):
1852         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
1853         * html/HTMLAnchorElement.h:
1854         * html/HTMLAreaElement.cpp:
1855         (WebCore::HTMLAreaElement::supportsFocus):
1856         * html/HTMLAreaElement.h:
1857         * html/HTMLElement.cpp:
1858         (WebCore::HTMLElement::supportsFocus):
1859         * html/HTMLElement.h:
1860         * html/HTMLFieldSetElement.cpp:
1861         (WebCore::HTMLFieldSetElement::supportsFocus):
1862         * html/HTMLFieldSetElement.h:
1863         * html/HTMLFormControlElement.cpp:
1864         (WebCore::HTMLFormControlElement::supportsFocus):
1865         (WebCore::HTMLFormControlElement::isFocusable):
1866         * html/HTMLFrameElementBase.cpp:
1867         (WebCore::HTMLFrameElementBase::supportsFocus):
1868         * html/HTMLFrameElementBase.h:
1869         * html/HTMLLegendElement.cpp:
1870         (WebCore::HTMLLegendElement::supportsFocus):
1871         * html/HTMLLegendElement.h:
1872         * html/HTMLOptGroupElement.cpp:
1873         (WebCore::HTMLOptGroupElement::supportsFocus):
1874         (WebCore::HTMLOptGroupElement::isFocusable):
1875         * html/HTMLOptGroupElement.h:
1876         * html/HTMLOptionElement.cpp:
1877         (WebCore::HTMLOptionElement::supportsFocus):
1878         (WebCore::HTMLOptionElement::isFocusable):
1879         * html/HTMLOptionElement.h:
1880         * page/EventHandler.cpp:
1881         (WebCore::EventHandler::dispatchMouseEvent):
1882         * page/FocusController.cpp:
1883         (WebCore::FocusController::advanceFocus):
1884         * svg/SVGAElement.cpp:
1885         (WebCore::SVGAElement::supportsFocus):
1886         (WebCore::SVGAElement::isFocusable):
1887         * wml/WMLAElement.cpp:
1888         (WebCore::WMLAElement::supportsFocus):
1889         * wml/WMLAElement.h:
1890         * wml/WMLFormControlElement.cpp:
1891         (WebCore::WMLFormControlElement::supportsFocus):
1892         (WebCore::WMLFormControlElement::isFocusable):
1893         * wml/WMLFormControlElement.h:
1894
1895 2009-09-06  Joel Stanley  <joel@jms.id.au>
1896
1897         Reviewed by Dimitri Glazkov.
1898
1899         Expose functions to set the caret blink interval for Linux Chromium.
1900         Default value is set to that of RenderTheme::caretBlankInterval().
1901         Uses caretBlinkIntervalInternal to avoid overriding
1902         RenderThemeChromiumSkia::caretBlankInterval to preserve the disabling
1903         of blinking caret required for layout tests.
1904         https://bugs.webkit.org/show_bug.cgi?id=28931
1905
1906         * rendering/RenderThemeChromiumLinux.cpp:
1907         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
1908         (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
1909         (WebCore::RenderThemeChromiumLinux::caretBlinkIntervalInternal):
1910         * rendering/RenderThemeChromiumLinux.h:
1911
1912 2009-09-06  Ada Chan  <adachan@apple.com>
1913
1914         Remove an extra </File> in WebCore.vcproj.
1915
1916         * WebCore.vcproj/WebCore.vcproj:
1917
1918 2009-09-06  Timothy Hatcher  <timothy@apple.com>
1919
1920         Adds a persistent setting for color format in the Web Inspector.
1921
1922         https://bugs.webkit.org/show_bug.cgi?id=28889
1923
1924         Reviewed by Dan Bernstein.
1925
1926         * English.lproj/localizedStrings.js: New strings.
1927         * inspector/front-end/Color.js: Minor style fixes.
1928         (WebInspector.Color.prototype.toString): Added. Replaces the individual
1929         "toFoo" functions. Takes a optional arguments for the color format to return.
1930         * inspector/front-end/Images/paneSettingsButtons.png: Added.
1931         * inspector/front-end/StylesSidebarPane.js:
1932         (WebInspector.StylesSidebarPane.prototype._changeColorFormat): Update the sections to show
1933         the new color format.
1934         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay):
1935         Use the new toString function on Color.
1936         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Use the persistent setting
1937         to format colors by default. Add a tooltip for the color swatch.
1938         * inspector/front-end/inspector.css: New styles for the settings menu.
1939         * inspector/front-end/inspector.js:
1940         (WebInspector.loaded): Initilize the colorFormat preference.
1941
1942 2009-09-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1943
1944         Reviewed by Eric Seidel.
1945
1946         [Qt] Remove Qt v4.6 check from the prefetchDNS implementation
1947         https://bugs.webkit.org/show_bug.cgi?id=28993
1948
1949         * platform/network/qt/DnsPrefetchHelper.cpp:
1950         * platform/network/qt/DnsPrefetchHelper.h:
1951
1952 2009-09-06  Cameron McCormack  <cam@mcc.id.au>
1953
1954         Reviewed by Eric Seidel.
1955
1956         Drop <definition-src> support
1957         https://bugs.webkit.org/show_bug.cgi?id=28991
1958
1959         http://dev.w3.org/SVG/profiles/1.1F2/publish/changes.html#FontsChapter
1960
1961         * DerivedSources.cpp: Remove references to definition-src.
1962         * DerivedSources.make: Ditto.
1963         * GNUmakefile.am: Ditto.
1964         * WebCore.gypi: Ditto.
1965         * WebCore.pro: Ditto.
1966         * WebCore.vcproj/WebCore.vcproj: Ditto.
1967         * WebCore.xcodeproj/project.pbxproj: Ditto.
1968         * bindings/objc/DOM.mm:
1969         (WebCore::createElementClassMap): Ditto.
1970         * bindings/objc/DOMSVG.h: Ditto.
1971         * bindings/v8/DerivedSourcesAllInOne.cpp: Ditto.
1972         * bindings/v8/V8DOMWrapper.cpp: Ditto.
1973         * bindings/v8/V8Index.cpp: Ditto.
1974         * bindings/v8/V8Index.h: Ditto.
1975         * svg/SVGAllInOne.cpp: Ditto.
1976         * svg/SVGDefinitionSrcElement.cpp: Removed.
1977         * svg/SVGDefinitionSrcElement.h: Removed.
1978         * svg/SVGDefinitionSrcElement.idl: Removed.
1979         * svg/SVGFontFaceElement.cpp:
1980         (WebCore::SVGFontFaceElement::rebuildFontFace): Don't search for
1981         definition-src child.
1982         * svg/svgtags.in: Remove definition-src.
1983
1984 2009-09-05  Dimitri Glazkov  <dglazkov@chromium.org>
1985
1986         Unreviewed, build fix.
1987
1988         [Chromium] Roll out http://trac.webkit.org/changeset/48094, because the
1989         logic of retrieving default caret blink interval was incorrect (non-existent)
1990         and caused layout test flakiness.
1991
1992         * rendering/RenderThemeChromiumLinux.cpp:
1993         * rendering/RenderThemeChromiumLinux.h:
1994
1995 2009-09-05  Jian Li  <jianli@chromium.org>
1996
1997         Reviewed by NOBODY (Chromium reliability build break).
1998
1999         Back up partial change in r48072 in order to fix chromium reliability build break.
2000
2001         * bindings/v8/V8AbstractEventListener.cpp:
2002         (WebCore::V8AbstractEventListener::invokeEventHandler):
2003
2004 2009-09-05  Nicolas Weber  <thakis@chromium.org>
2005
2006         Reviewed by Darin Fisher.
2007
2008         https://bugs.webkit.org/show_bug.cgi?id=28975
2009         Fix file upload on chrome/mac. Images that have "Hide Extension" set,
2010         such as screenshots by default, can now be uploaded to sites such as
2011         imgur.com.
2012
2013         * platform/FileSystem.h:
2014         Add pathGetDisplayFileName().
2015         * platform/chromium/FileChooserChromium.cpp:
2016         (WebCore::FileChooser::basenameForWidth):
2017         Call pathGetDisplayFileName() instead of pathGetFileName().
2018         * platform/chromium/FileSystemChromiumLinux.cpp:
2019         (WebCore::pathGetDisplayFileName):
2020         Implement pathGetDisplayFileName() by delegating to pathGetFileName().
2021         * platform/chromium/FileSystemChromiumMac.mm:
2022         (WebCore::pathGetFileName):
2023         Now returns a real filename instead of a presentational one, which
2024         fixes the problem addressed by this change.
2025         (WebCore::pathGetDisplayFileName):
2026         New function that returns a presentational filename; does what
2027         pathGetDisplayFileName() did prior to this patch.
2028         * platform/chromium/FileSystemChromiumWin.cpp:
2029         (WebCore::pathGetDisplayFileName):
2030         Implement pathGetDisplayFileName() by delegating to pathGetFileName().
2031
2032 2009-09-05  Joel Stanley  <joel@jms.id.au>
2033
2034         Reviewed by David Levin.
2035
2036         Expose functions to set the caret blink interval for Linux Chromium.
2037         https://bugs.webkit.org/show_bug.cgi?id=28931
2038
2039         * rendering/RenderThemeChromiumLinux.cpp:
2040         (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
2041         (WebCore::RenderThemeChromiumLinux::caretBlinkInterval):
2042         * rendering/RenderThemeChromiumLinux.h:
2043
2044 2009-09-04  Dmitry Titov  <dimich@chromium.org>
2045
2046         Reviewed by David Levin.
2047
2048         Prevent UI freeze in case when too many timers are in the timer queue.
2049         https://bugs.webkit.org/show_bug.cgi?id=23865
2050
2051         The fix measures the elapsed time while executing timers. If we have too many
2052         timers and it takes significant time to fire, quit the loop and reschedule.
2053         This lets the run loop process user input (close the window for example).
2054
2055         * platform/ThreadTimers.h:
2056         * platform/ThreadTimers.cpp:
2057         (WebCore::ThreadTimers::sharedTimerFiredInternal):
2058         (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
2059         Removed functions and members used before to grab a list of all expired timers.
2060         Now we fetch one by one, measuring time and quitting the loop if it takes too long.
2061         * platform/Timer.cpp:
2062         (WebCore::TimerBase::isActive):
2063         (WebCore::TimerBase::setNextFireTime):
2064         Since timers are now fired one by one, there is no need to keep track of updated timers.
2065         * manual-tests/input-starved-by-timers.html: Manual test that attempts to freeze browser by
2066         creating of enough timers. It then keeps UI frozen and after 10 seconds starts to drain the timers
2067         so the browser un-freezes. This is instead of a regular layout test because we don't have a way
2068         to inject an input events via regular run loop in DRT - instead they are directly dispatched by
2069         eventSender, which does not reproduce the UI freeze that happens with real input.
2070
2071 2009-09-04  Anders Carlsson  <andersca@apple.com>
2072
2073         Reviewed by Adele Peterson.
2074
2075         <rdar://problem/7201063>
2076         
2077         Detach any custom scrollbars before detaching the document.
2078         
2079         * page/Frame.cpp:
2080         (WebCore::Frame::setView):
2081
2082 2009-09-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2083
2084                 Unreviewed, build fix.
2085
2086                 Remove remaining references to UserStyleSheetLoader after r48075.
2087
2088                 * WebCore.gypi:
2089                 * WebCore.xcodeproj/project.pbxproj:
2090                 * page/qt/FrameQt.cpp:
2091                 * page/wince/FrameWince.cpp:
2092
2093 2009-09-04  Michelangelo De Simone  <micdesim@gmail.com>
2094
2095                 Reviewed by David Levin.
2096
2097                 https://bugs.webkit.org/show_bug.cgi?id=28988
2098                 Minor fix: "novalidate" attribute renamed in "noValidate", according to
2099                 HTML5 specs:
2100                 http://www.whatwg.org/specs/web-apps/current-work/#dom-fs-novalidate
2101
2102                 * html/HTMLFormElement.cpp:
2103                 (WebCore::HTMLFormElement::noValidate):
2104                 (WebCore::HTMLFormElement::setNoValidate):
2105                 * html/HTMLFormElement.h:
2106                 * html/HTMLFormElement.idl:
2107
2108 2009-09-04  Dmitry Titov  <dimich@chromium.org>
2109
2110         Reviewed by David Levin.
2111
2112         Remove unused line of code from WorkerContext
2113         https://bugs.webkit.org/show_bug.cgi?id=28990
2114
2115         * workers/WorkerContext.cpp:
2116         (WebCore::WorkerContext::importScripts):
2117
2118 2009-09-04  Darin Adler  <darin@apple.com>
2119
2120         Reviewed by Oliver Hunt.
2121
2122         Fix assertion seen when running buildbot.
2123
2124         * bindings/js/JSDOMBinding.h:
2125         (WebCore::DOMObjectWithGlobalPointer::createStructure): Create the structure without
2126         the HasDefaultMark bit since this has a custom mark function.
2127
2128 2009-09-04  Dave Hyatt  <hyatt@apple.com>
2129
2130         Reviewed by Adam Roben.
2131
2132         https://bugs.webkit.org/show_bug.cgi?id=28984, remove the remote stylesheet loader on Mac/Qt.
2133         Make sure the other code path (now used by everybody) can handle data URLs.
2134
2135         As per the post on webkit-dev, the ability to work remotely isn't working properly anyway (it doesn't
2136         hold up the pending sheet count, so you'd just FOUC on every Web page), and it's extremely unlikely
2137         that anybody is relying on this support.
2138         
2139         Tor Arne agreed it was ok to disable (he enabled it on the Qt side), and only Mac/Qt were using this
2140         code.
2141
2142         * WebCore.pro:
2143         * WebCore.xcodeproj/project.pbxproj:
2144         * dom/Document.cpp:
2145         (WebCore::Document::userStyleSheet):
2146         * dom/Document.h:
2147         * loader/FrameLoader.cpp:
2148         (WebCore::FrameLoader::begin):
2149         * loader/UserStyleSheetLoader.cpp: Removed.
2150         * loader/UserStyleSheetLoader.h: Removed.
2151         * page/Frame.cpp:
2152         (WebCore::Frame::reapplyStyles):
2153         * page/Frame.h:
2154         * page/Page.cpp:
2155         (WebCore::Page::userStyleSheetLocationChanged):
2156         (WebCore::Page::userStyleSheet):
2157         * page/mac/FrameMac.mm:
2158         * page/qt/FrameQt.cpp:
2159
2160 2009-09-04  Mikhail Naganov  <mnaganov@chromium.org>
2161
2162         Reviewed by Timothy Hatcher.
2163
2164         Add "sampling profiler" preference, simplify data display when it's set.
2165
2166         https://bugs.webkit.org/show_bug.cgi?id=28969
2167
2168         * inspector/front-end/ProfileDataGridTree.js:
2169         (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
2170         (WebInspector.ProfileDataGridNode.prototype.get data):
2171         * inspector/front-end/ProfileView.js:
2172         (WebInspector.ProfileView):
2173         * inspector/front-end/inspector.js:
2174
2175 2009-09-04  Jian Li  <jianli@chromium.org>
2176
2177         Reviewed by Adam Barth.
2178
2179         [V8] Run-time exception in onmessage handler is not forwarded to the worker object.
2180         https://bugs.webkit.org/show_bug.cgi?id=28980
2181
2182         Tested by worker-close.html.
2183
2184         * bindings/v8/ScriptFunctionCall.cpp:
2185         * bindings/v8/V8AbstractEventListener.cpp:
2186         (WebCore::V8AbstractEventListener::invokeEventHandler):
2187         * bindings/v8/V8Utilities.cpp:
2188         (WebCore::getScriptExecutionContext):
2189         (WebCore::reportException):
2190         * bindings/v8/V8Utilities.h:
2191         (WebCore::getScriptExecutionContext):
2192         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
2193         (WebCore::CALLBACK_FUNC_DECL):
2194         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
2195         (WebCore::CALLBACK_FUNC_DECL):
2196         * bindings/v8/custom/V8WorkerCustom.cpp:
2197         (WebCore::CALLBACK_FUNC_DECL):
2198         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
2199         (WebCore::CALLBACK_FUNC_DECL):
2200         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2201         (WebCore::CALLBACK_FUNC_DECL):
2202
2203 2009-09-04  Dave Hyatt  <hyatt@apple.com>
2204
2205         Reviewed by Anders Carlsson.
2206
2207         Remove unused m_sheet variable and setCSSStyleSheet methods.
2208
2209         * dom/Document.cpp:
2210         * dom/Document.h:
2211
2212 2009-09-04  Anders Carlsson  <andersca@apple.com>
2213
2214         Reviewed by David Hyatt and Adele Peterson.
2215
2216         (Based on a patch from Adele).
2217         
2218         Fix <rdar://problem/7185875>.
2219         
2220         * page/Frame.cpp:
2221         (WebCore::Frame::setView):
2222         Detach any custom scroll bars from the old view.
2223         
2224         * page/FrameView.cpp:
2225         (WebCore::FrameView::detachCustomScrollbars):
2226         Simplify the check (and make it work when body is null) by just checking that the scroll bar owner is
2227         not a RenderPart object.
2228
2229         * rendering/RenderObject.cpp:
2230         (WebCore::RenderObject::destroy):
2231         ASSERT that frame() is not null here and also add a null check so that release builds won't crash.
2232
2233 2009-09-04  Dave Hyatt  <hyatt@apple.com>
2234
2235         Reviewed by Adam Roben.
2236
2237         Make m_userStyleSheetLoader in Frame an OwnPtr.
2238
2239         * page/Frame.cpp:
2240         (WebCore::Frame::Frame):
2241         (WebCore::Frame::~Frame):
2242         * page/Frame.h:
2243         * page/mac/FrameMac.mm:
2244         (WebCore::Frame::setUserStyleSheetLocation):
2245         (WebCore::Frame::setUserStyleSheet):
2246
2247 2009-09-04  Timothy Hatcher  <timothy@apple.com>
2248
2249         Show color swatches in the Web Inspector before the color text so clicking them will not
2250         shift the swatch. Also makes multiple swatches in the single property toggle the color format.
2251
2252         https://bugs.webkit.org/show_bug.cgi?id=28978
2253
2254         Reviewed by Darin Adler.
2255
2256         * inspector/front-end/StylesSidebarPane.js:
2257         (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Some refactoring to consolidate
2258         the processing we do on the property value. This eliminated the old nickname code, since the new
2259         WebInspector.Color class handles this. We could also simplify the color regex since more
2260         is handled by the Color class. Also no longer uses innerHTML for the linkify code.
2261         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processValue): Helper function to
2262         process a value given a regex and processor functions. 
2263         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): Make an anchor for the
2264         URL with "url()" syntax surrounding it.
2265         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Makes a color, if
2266         there was an exception just return a text node.
2267         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay.changeTo):
2268         Moved from later in the file.
2269         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay): Ditto.
2270         * inspector/front-end/inspector.css:
2271
2272 2009-09-04  Mark Mentovai  <mark@chromium.org>
2273
2274         Reviewed by Dave Hyatt.
2275
2276         https://bugs.webkit.org/show_bug.cgi?id=28614
2277
2278         Account for scrollbar state changes that occur during layout.
2279
2280         * platform/ScrollView.cpp:
2281         (WebCore::ScrollView::updateScrollbars):
2282
2283         Perform a layout prior to checking whether the scrollbar modes are
2284         off, on, or automatic.  The modes may change during layout.
2285
2286         * WebCore.base.exp:
2287         * WebCore.order:
2288         * page/Frame.cpp:
2289         (WebCore::Frame::createView):
2290         * page/FrameView.cpp:
2291         (WebCore::FrameView::FrameView):
2292         (WebCore::FrameView::resetScrollbars):
2293         (WebCore::FrameView::layout):
2294         * page/FrameView.h:
2295         * platform/ScrollView.h:
2296
2297         Eliminate duplicated (and incorrect) scrollbar mode tracking between
2298         FrameView and ScrollView.
2299
2300 2009-09-04  Yael Aharon  <yael.aharon@nokia.com>
2301
2302         Reviewed by Darin Adler.
2303
2304         hostname and host are mixed up when manipulating anchor elements.
2305         https://bugs.webkit.org/show_bug.cgi?id=28954
2306
2307         Swapped the implementation of host and hostname, and made sure not to return
2308         the port number if it is default for the given protocol. 
2309         FireFox also avoids returning the protocol number if it is default.
2310
2311         Test: fast/dom/Element/hostname-host.html
2312
2313         * html/HTMLAnchorElement.cpp:
2314         (WebCore::HTMLAnchorElement::host):
2315         (WebCore::HTMLAnchorElement::hostname):
2316         * page/SecurityOrigin.cpp:
2317         (WebCore::SecurityOrigin::isDefaultPortForProtocol):
2318         * page/SecurityOrigin.h:
2319
2320 2009-09-04  Anders Carlsson  <andersca@apple.com>
2321
2322         Reviewed by Darin Adler and Steve Falkenburg.
2323
2324         Fix <rdar://problem/7192902>.
2325
2326         Add the necessary plumbing for having QTMovieWin use WebCore timers.
2327         
2328         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2329         (WebCore::TaskTimer::initialize):
2330         Create the timer and call QTMovieWin::setTaskTimerFuncs.
2331         
2332         (WebCore::TaskTimer::setTaskTimerDelay):
2333         Start the timer.
2334         
2335         (WebCore::TaskTimer::stopTaskTimer):
2336         Stop the timer.
2337         
2338         (WebCore::TaskTimer::fired):
2339         Call QTMovieWin::taskTimerFired().
2340         
2341         (WebCore::MediaPlayerPrivate::load):
2342         Initialize the Task timer.
2343         
2344         * platform/graphics/win/QTMovieWin.cpp:
2345         (updateTaskTimer):
2346         Call the global stopTaskTimer function and setTaskTimerDelay.
2347         
2348         (QTMovieWin::taskTimerFired):
2349         Make this a member function.
2350         
2351         (QTMovieWin::setTaskTimerFuncs):
2352         Set the global function pointers.
2353         
2354         (QTMovieWin::initializeQuickTime):
2355         (DllMain):
2356         No need to use the QT shared timer.
2357         * platform/graphics/win/QTMovieWin.h:
2358
2359 2009-09-04  Tony Chang  <tony@chromium.org>
2360
2361         Reviewed by David Levin.
2362
2363         Fix Chromium Win compile.  Missing return statement in
2364         WebCore::RenderThemeChromiumSkia::paintSliderThumb.
2365         https://bugs.webkit.org/show_bug.cgi?id=28974
2366
2367         No new tests, build fix.
2368
2369         * rendering/RenderThemeChromiumSkia.cpp:
2370         (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
2371
2372 2009-09-04  Dimitri Glazkov  <dglazkov@chromium.org>
2373
2374         Unreviewed, build fix.
2375
2376         [Chromium] Rolling out http://trac.webkit.org/changeset/48035, because it broke
2377         the build.
2378         https://bugs.webkit.org/show_bug.cgi?id=28696
2379
2380 2009-09-04  Anders Carlsson  <andersca@apple.com>
2381
2382         Fix vcproj file.
2383
2384         * WebCore.vcproj/WebCore.vcproj:
2385
2386 2009-09-03  Dave Hyatt  <hyatt@apple.com>
2387
2388         Reviewed by Adam Roben.
2389
2390         https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
2391         
2392         This patch adds new API for adding and removing user scripts from page groups.  User scripts
2393         are bundled together in isolated worlds (you can have multiple scripts together in the same
2394         world).
2395
2396         Added userscripts/ directory for holding new tests (along with a simple test of script injection).
2397
2398         * WebCore.base.exp:
2399         * WebCore.vcproj/WebCore.vcproj:
2400         * WebCore.xcodeproj/project.pbxproj:
2401         * bindings/js/ScriptController.cpp:
2402         (WebCore::ScriptController::evaluateInIsolatedWorld):
2403         * bindings/js/ScriptController.h:
2404         * bindings/v8/ScriptController.cpp:
2405         (WebCore::ScriptController::evaluateInIsolatedWorld):
2406         * bindings/v8/ScriptController.h:
2407         * loader/FrameLoader.cpp:
2408         (WebCore::FrameLoader::finishedParsing):
2409         (WebCore::FrameLoader::dispatchDocumentElementAvailable):
2410         * page/Frame.cpp:
2411         (WebCore::Frame::injectUserScripts):
2412         (WebCore::Frame::injectUserScriptsForWorld):
2413         * page/Frame.h:
2414         * page/PageGroup.cpp:
2415         (WebCore::PageGroup::~PageGroup):
2416         (WebCore::PageGroup::addUserScript):
2417         (WebCore::PageGroup::removeUserContentForWorld):
2418         (WebCore::PageGroup::removeAllUserContent):
2419         * page/PageGroup.h:
2420         (WebCore::PageGroup::userScripts):
2421         * page/UserScript.h: Added.
2422         (WebCore::UserScript::UserScript):
2423         (WebCore::UserScript::source):
2424         (WebCore::UserScript::url):
2425         (WebCore::UserScript::patterns):
2426         (WebCore::UserScript::worldID):
2427         (WebCore::UserScript::injectionTime):
2428         * page/UserScriptTypes.h: Added.
2429         (WebCore::):
2430
2431 2009-09-04  Alexey Proskuryakov  <ap@apple.com>
2432
2433         Reviewed by Eric Seidel.
2434
2435         https://bugs.webkit.org/show_bug.cgi?id=26402
2436         Crashes when using a detached DocumentType node
2437
2438         Test: fast/dom/DOMImplementation/detached-doctype.html
2439
2440         DocumentType nodes are the only one that can have null document(), and they can never have
2441         children, so they are a degenerate case for NodeLists.
2442
2443         * dom/Node.cpp:
2444         (WebCore::Node::childNodes): Don't try register node list with document if there's no
2445         document. Since there are no changes possible for a DocumentType's node list, this is not
2446         necessary.
2447         (WebCore::Node::registerDynamicNodeList): Ditto.
2448         (WebCore::Node::unregisterDynamicNodeList): Ditto. I couldn't find a scenario where this
2449         was invoked for a DocumentType node, but I also couldn't prove that it can't be (the
2450         de-registration code path that I saw taken was via Node destructor, and that already has
2451         a null check for document).
2452
2453         * bindings/js/JSNodeCustom.cpp:
2454         (WebCore::JSNode::addEventListener): Bail out if there is no document (just as we already do
2455         if there is no window).
2456         (WebCore::JSNode::removeEventListener): Ditto.
2457
2458 2009-09-04  Xan Lopez  <xlopez@igalia.com>
2459
2460         Reviewed by Gustavo Noronha.
2461
2462         [GTK] loadFinished never emitted
2463         https://bugs.webkit.org/show_bug.cgi?id=28935
2464
2465         Do not report errors right away from
2466         ResourceHandle::start. Instead return true and schedule an error
2467         to be reported in the handle later. Otherwise WebCore gets
2468         confused and thinks the resource never finished loading, making it
2469         not emit the finished status.
2470
2471         * platform/network/soup/ResourceHandleSoup.cpp:
2472         (WebCore::startHttp):
2473         (WebCore::):
2474
2475 2009-09-04  Ben Murdoch  <benm@google.com>
2476
2477         Reviewed by Eric Seidel.
2478
2479         [V8] DOM Storage bindings: Event Handler should create StorageEvents
2480         https://bugs.webkit.org/show_bug.cgi?id=28942
2481         
2482         Tests:
2483         Causes the following tests that were failing with V8 to pass:
2484         * storage/domstorage/localstorage/onstorage-attribute-setwindow.html
2485         * storage/domstorage/localstorage/complex-keys.html
2486         * storage/domstorage/localstorage/onstorage-attribute-markup.html
2487         * storage/domstorage/localstorage/simple-events.html
2488         * storage/domstorage/localstorage/onstorage-attribute-set-attribute.html
2489         * storage/domstorage/localstorage/index-get-and-set.html
2490         * storage/domstorage/sessionstorage/onstorage-attribute-setwindow.html
2491         * storage/domstorage/sessionstorage/onstorage-attribute-markup.html
2492         * storage/domstorage/sessionstorage/simple-events.html
2493         * storage/domstorage/sessionstorage/onstorage-attribute-set-attribute.html
2494         * storage/domstorage/sessionstorage/index-get-and-set.html
2495
2496         Code changes:
2497         * bindings/v8/V8DOMWrapper.cpp:
2498         (WebCore::V8DOMWrapper::convertEventToV8Object):  Create StorageEvents.
2499         * bindings/v8/custom/V8StorageCustom.cpp:
2500         (WebCore::storageGetter): Check if we are retrieving the length property and return the number of items in the object rather than a property named length when invoking the getItem() member of local/sessionStorage.
2501
2502 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
2503
2504         Reviewed by Timothy Hatcher.
2505
2506         https://bugs.webkit.org/show_bug.cgi?id=28911
2507
2508         * WebCore.gypi:
2509         * WebCore.vcproj/WebCore.vcproj:
2510         * inspector/InspectorBackend.cpp:
2511         (WebCore::InspectorBackend::dispatchOnInjectedScript):
2512         * inspector/InspectorBackend.h:
2513         * inspector/InspectorBackend.idl:
2514         * inspector/front-end/ConsoleView.js:
2515         (WebInspector.ConsoleView.prototype.doEvalInWindow):
2516         (WebInspector.ConsoleView.prototype._formatarray):
2517         (WebInspector.ConsoleView.prototype._formatnode):
2518         * inspector/front-end/DOMAgent.js:
2519         * inspector/front-end/ElementsPanel.js:
2520         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2521         (WebInspector.ElementsPanel.prototype.searchCanceled):
2522         (WebInspector.ElementsPanel.prototype.performSearch):
2523         * inspector/front-end/InjectedScript.js:
2524         (InjectedScript.dispatch):
2525         * inspector/front-end/InjectedScriptAccess.js: Added.
2526         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
2527         (InjectedScriptAccess._installHandler):
2528         * inspector/front-end/MetricsSidebarPane.js:
2529         (WebInspector.MetricsSidebarPane.prototype.update):
2530         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
2531         * inspector/front-end/ObjectPropertiesSection.js:
2532         (WebInspector.ObjectPropertiesSection.prototype.update):
2533         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
2534         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
2535         * inspector/front-end/PropertiesSidebarPane.js:
2536         (WebInspector.PropertiesSidebarPane.prototype.update):
2537         * inspector/front-end/ResourcesPanel.js:
2538         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
2539         * inspector/front-end/ScriptsPanel.js:
2540         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
2541         * inspector/front-end/StylesSidebarPane.js:
2542         (WebInspector.StylesSidebarPane.prototype.update):
2543         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
2544         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
2545         (WebInspector.StylePropertyTreeElement.prototype):
2546         * inspector/front-end/inspector.html:
2547
2548 2009-09-04  Tony Chang  <tony@chromium.org>
2549
2550         Reviewed by Eric Seidel.
2551
2552         Implement <input type="range"> for Chromium Linux by painting
2553         the slider and the thumb using skia.
2554         https://bugs.webkit.org/show_bug.cgi?id=28928
2555
2556         Covered by existing tests (we're currently hitting an assert for them).
2557
2558         * rendering/RenderThemeChromiumLinux.cpp:
2559         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
2560         * rendering/RenderThemeChromiumLinux.h:
2561         * rendering/RenderThemeChromiumSkia.cpp:
2562         (WebCore::drawVertLine):
2563         (WebCore::drawHorizLine):
2564         (WebCore::drawBox):
2565         (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
2566         (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
2567         * rendering/RenderThemeChromiumSkia.h:
2568
2569 2009-09-04  Kent Tamura  <tkent@chromium.org>
2570
2571         Reviewed by Eric Seidel.
2572
2573         - Implement <input type=color> as a text field.
2574         - ValidityState::typeMismatch supports for type=color.
2575         https://bugs.webkit.org/show_bug.cgi?id=28966
2576
2577         Tests: fast/forms/ValidityState-patternMismatch-unsupported.html
2578                fast/forms/ValidityState-typeMismatch-color.html
2579
2580         * html/HTMLInputElement.cpp:
2581         (WebCore::HTMLInputElement::valueMissing):
2582         (WebCore::HTMLInputElement::patternMismatch):
2583         (WebCore::HTMLInputElement::setInputType):
2584         (WebCore::HTMLInputElement::formControlType):
2585         (WebCore::HTMLInputElement::saveFormControlState):
2586         (WebCore::HTMLInputElement::restoreFormControlState):
2587         (WebCore::HTMLInputElement::accessKeyAction):
2588         (WebCore::HTMLInputElement::rendererIsNeeded):
2589         (WebCore::HTMLInputElement::createRenderer):
2590         (WebCore::HTMLInputElement::appendFormData):
2591         (WebCore::HTMLInputElement::valueWithDefault):
2592         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
2593         (WebCore::HTMLInputElement::defaultEventHandler):
2594         (WebCore::HTMLInputElement::isRequiredFormControl):
2595         (WebCore::HTMLInputElement::dataList):
2596         * html/HTMLInputElement.h:
2597         (WebCore::HTMLInputElement::):
2598         (WebCore::HTMLInputElement::isTextField):
2599         * html/ValidityState.cpp:
2600         (WebCore::ValidityState::typeMismatch):
2601         (WebCore::ValidityState::isValidColorString):
2602         * html/ValidityState.h:
2603
2604 2009-09-04  Mads Ager  <ager@chromium.org>
2605
2606         Reviewed by David Levin.
2607
2608         [V8] Crash when updating document cache
2609         https://bugs.webkit.org/show_bug.cgi?id=28965
2610
2611         Initialization of a V8 JavaScript context can fail.  When that
2612         happens, do not attempt to update the document wrapper cache.
2613
2614         This code path is exercised by http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html.
2615
2616         * bindings/v8/V8Proxy.cpp:
2617         (WebCore::V8Proxy::updateDocument):
2618
2619 2009-09-04  Yaar Schnitman  <yaar@chromium.org>
2620
2621         Reviewed by Eric Seidel.
2622
2623         Two bugs:
2624
2625         https://bugs.webkit.org/show_bug.cgi?id=25489
2626         CSS property background-position is now serialized in shorthand string as
2627         background-position-x background-position-y, as the specification requires
2628         (See http://www.w3.org/TR/2008/WD-css3-background-20080910/#the-background-position).
2629         
2630
2631         https://bugs.webkit.org/show_bug.cgi?id=26541
2632         CSS background-color is now be serialized before other background properties, 
2633         as CSS specification requires (See http://dev.w3.org/csswg/cssom/#css-value).  
2634
2635         An existing layout test that accepted wrong order and skipped position test 
2636         had to be modified.
2637
2638         * css/CSSMutableStyleDeclaration.cpp:
2639         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
2640
2641 2009-09-03  Kent Tamura  <tkent@chromium.org>
2642
2643         Reviewed by David Levin.
2644
2645         Add support for HTMLTextAreaElement.textLength
2646         https://bugs.webkit.org/show_bug.cgi?id=28929
2647
2648         Test: fast/forms/textarea-textlength.html
2649
2650         * html/HTMLTextAreaElement.h:
2651         (WebCore::HTMLTextAreaElement::textLength):
2652         * html/HTMLTextAreaElement.idl:
2653
2654 2009-09-03  Alexey Proskuryakov  <ap@apple.com>
2655
2656         Reviewed by Darin Adler.
2657
2658         <rdar://problem/7180197>, https://bugs.webkit.org/show_bug.cgi?id=28822
2659         REGRESSION(r31231): Creating document with current document's DOCTYPE causes crashes
2660
2661         Test: fast/dom/DOMImplementation/createDocument-with-used-doctype.html
2662
2663         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): Even though we
2664         cannot raise an exception immediately out of fear of breaking Acid3, we shouldn't use a
2665         DocumentType node in two documents.
2666
2667 2009-09-03  Brady Eidson  <beidson@apple.com>
2668
2669         Reviewed by Sam Weinig.
2670
2671         Page Cache should support pages with Frames.
2672         https://bugs.webkit.org/show_bug.cgi?id=13631
2673
2674         Tests: fast/events/pageshow-pagehide-on-back-cached-with-frames.html
2675                fast/loader/frames-with-unload-handlers-in-page-cache.html
2676
2677         * loader/FrameLoader.cpp:
2678         (WebCore::FrameLoader::canCachePageContainingThisFrame):
2679         (WebCore::FrameLoader::logCanCacheFrameDecision):
2680
2681 2009-09-03  Steve VanDeBogart  <vandebo@chromium.org>
2682
2683         Reviewed by Eric Seidel.
2684
2685         Handle middle click in Chromium like QT
2686         https://bugs.webkit.org/show_bug.cgi?id=28696
2687
2688         Tested by middle-click-onpaste.html.
2689
2690         * platform/Pasteboard.h:
2691         * platform/chromium/ChromiumBridge.h:
2692         * platform/chromium/ClipboardChromium.cpp:
2693         (WebCore::ClipboardChromium::getData):
2694         * platform/chromium/PasteboardChromium.cpp:
2695         (WebCore::Pasteboard::Pasteboard):
2696         (WebCore::Pasteboard::isSelectionMode):
2697         (WebCore::Pasteboard::setSelectionMode):
2698         (WebCore::Pasteboard::canSmartReplace):
2699         (WebCore::Pasteboard::plainText):
2700         (WebCore::Pasteboard::documentFragment):
2701         * platform/chromium/PasteboardPrivate.h:
2702         (WebCore::PasteboardPrivate::):
2703
2704 2009-09-03  Brady Eidson  <beidson@apple.com>
2705
2706         Reviewed by Sam Weinig.
2707
2708         More partial work towards "Page Cache should support pages with Frames"
2709         https://bugs.webkit.org/show_bug.cgi?id=13631
2710
2711         Fix a bug where subframes weren't asked if they were cacheable.
2712
2713         No new tests, especially since page caching for frames isn't turned on yet.
2714         A layout test will come in my next patch, which enables frames in the page cache.
2715
2716         * loader/FrameLoader.cpp:
2717         (WebCore::FrameLoader::canCachePageContainingThisFrame):
2718
2719 2009-09-03  Adam Barth  <abarth@webkit.org>
2720
2721         Reviewed by eric@webkit.org.
2722
2723         https://bugs.webkit.org/show_bug.cgi?id=24696
2724
2725         Added mixed content methods to FrameLoaderClient.
2726
2727         * loader/EmptyClients.h:
2728         (WebCore::EmptyFrameLoaderClient::didDisplayInsecureContent):
2729         (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
2730         * loader/FrameLoaderClient.h:
2731
2732 2009-09-03  Kevin Watters  <kevinwatters@gmail.com>
2733
2734         Reviewed by Kevin Ollivier.
2735
2736         [wx] Frames support
2737         https://bugs.webkit.org/show_bug.cgi?id=19041
2738
2739         * page/wx/EventHandlerWx.cpp:
2740         (WebCore::EventHandler::passMousePressEventToSubframe):
2741         (WebCore::EventHandler::passMouseMoveEventToSubframe):
2742         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
2743         (WebCore::EventHandler::passWheelEventToWidget):
2744         (WebCore::EventHandler::tabsToAllControls):
2745         (WebCore::EventHandler::passSubframeEventToSubframe):
2746         (WebCore::EventHandler::passMouseDownEventToWidget):
2747         * platform/wx/RenderThemeWx.cpp:
2748         (WebCore::nativeWindowForRenderObject):
2749         (WebCore::RenderThemeWx::paintButton):
2750         (WebCore::RenderThemeWx::paintTextField):
2751         (WebCore::RenderThemeWx::paintMenuList):
2752         (WebCore::RenderThemeWx::paintMenuListButton):
2753         * platform/wx/ScrollbarThemeWx.cpp: Added.
2754         (WebCore::ScrollbarTheme::nativeTheme):
2755         (WebCore::ScrollbarThemeWx::~ScrollbarThemeWx):
2756         (WebCore::ScrollbarThemeWx::scrollbarThickness):
2757         (WebCore::ScrollbarThemeWx::hasThumb):
2758         (WebCore::ScrollbarThemeWx::buttonSize):
2759         (WebCore::ScrollbarThemeWx::backButtonRect):
2760         (WebCore::ScrollbarThemeWx::forwardButtonRect):
2761         (WebCore::ScrollbarThemeWx::trackRect):
2762         (WebCore::ScrollbarThemeWx::paintScrollCorner):
2763         (WebCore::ScrollbarThemeWx::paint):
2764         * platform/wx/ScrollbarThemeWx.h: Added.
2765         (WebCore::ScrollbarThemeWx::hasButtons):
2766         * platform/wx/TemporaryLinkStubs.cpp:
2767         * platform/wx/wxcode/gtk/scrollbar_render.cpp: Added.
2768         (wxStyleForPart):
2769         (GetButtonWidget):
2770         (wxGetGdkWindowForDC):
2771         (wxRenderer_DrawScrollbar):
2772         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: Added.
2773         (wxScrollbarPartToHIPressedState):
2774         (wxRenderer_DrawScrollbar):
2775         * platform/wx/wxcode/scrollbar_render.h: Added.
2776         (calcThumbStartAndLength):
2777         * platform/wx/wxcode/win/non-kerned-drawing.cpp:
2778         (WebCore::drawTextWithSpacing):
2779         * platform/wx/wxcode/win/scrollbar_render.cpp: Added.
2780         (GraphicsHDC::GraphicsHDC):
2781         (GraphicsHDC::~GraphicsHDC):
2782         (GraphicsHDC::operator HDC):
2783         (getTSStateForPart):
2784         (wxRenderer_DrawScrollbar):
2785         * webcore-wx.bkl:
2786
2787 2009-09-03  Yael Aharon  <yael.aharon@nokia.com>
2788
2789         Reviewed by Simon Hausmann.
2790
2791         [Qt] Page content is not displayed in case of HTTP status error
2792         https://bugs.webkit.org/show_bug.cgi?id=28949
2793
2794         If the server sent content, show it to the user instead of an error,
2795         even if the HTTP status code is not success.
2796
2797         * platform/network/qt/QNetworkReplyHandler.cpp:
2798         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2799         (WebCore::QNetworkReplyHandler::finish):
2800         (WebCore::QNetworkReplyHandler::forwardData):
2801         (WebCore::QNetworkReplyHandler::resetState):
2802         * platform/network/qt/QNetworkReplyHandler.h:
2803
2804 2009-09-03  Drew Wilson  <atwilson@google.com>
2805
2806         Reviewed by Dimitri Glazkov.
2807
2808         Need to update v8 bindings to support passing multiple ports to postMessage()
2809         https://bugs.webkit.org/show_bug.cgi?id=28839
2810
2811         Added support for passing MessagePortArray to v8 bindings.
2812
2813         New tests that now pass with V8:
2814                fast/events/message-port-multi.html
2815                fast/workers/worker-context-multi-port.html
2816                fast/workers/worker-multi-port.html
2817
2818         * WebCore.gypi:
2819         Added V8MessageEventCustom.cpp and V8MessagePortCustom.h
2820         * bindings/v8/custom/V8CustomBinding.h:
2821         Added custom postMessage() handlers for various classes.
2822         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2823         (WebCore::DOMWindowPostMessage):
2824         Added custom handler that supports MessagePortArray.
2825         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
2826         (WebCore::DedicatedWorkerContextPostMessage):
2827         Added custom handler that supports MessagePortArray.
2828         * bindings/v8/custom/V8MessageEventCustom.cpp: Added.
2829         (WebCore::MessageEventPorts):
2830         Added getter for ports attribute.
2831         (WebCore::MessageEventInitMessageEvent):
2832         Added custom handler that supports MessagePortArray.
2833         * bindings/v8/custom/V8MessagePortCustom.cpp:
2834         (WebCore::MessagePortPostMessage):
2835         Added custom handler that supports MessagePortArray.
2836         (WebCore::getMessagePortArray):
2837         Added helper function that supports converting from a sequence-like object to a MessagePortArray.
2838         * bindings/v8/custom/V8MessagePortCustom.h: Added.
2839         Added declaration for getMessagePortArray().
2840         * bindings/v8/custom/V8WorkerCustom.cpp:
2841         (WebCore::WorkerPostMessage):
2842         Added custom handler that supports MessagePortArray.
2843
2844 2009-09-03  Drew Wilson  <atwilson@google.com>
2845
2846         Reviewed by Sam Weinig.
2847
2848         Need to update JS bindings and IDL files to support multiple message ports in postMessage()
2849         https://bugs.webkit.org/show_bug.cgi?id=28460
2850
2851         Added new toJSSequence() API which validates that a JSValue meets the WebIDL criteria for a sequence.
2852
2853         Tests: fast/events/message-port-multi.html
2854                fast/workers/worker-context-multi-port.html
2855                fast/workers/worker-multi-port.html
2856
2857         * GNUmakefile.am:
2858         * WebCore.gypi:
2859         * WebCore.pro:
2860         * WebCore.vcproj/WebCore.vcproj:
2861         * WebCore.xcodeproj/project.pbxproj:
2862         * WebCoreSources.bkl:
2863         Added JSMessagePortCustom.h and JSMessageEventCustom.cpp.
2864         * bindings/js/JSDOMBinding.cpp:
2865         (WebCore::toJSSequence):
2866         Added toJSSequence() API to do validation on sequence-like objects per WebIDL.
2867         * bindings/js/JSDOMBinding.h:
2868         * bindings/js/JSDOMWindowCustom.cpp:
2869         (WebCore::JSDOMWindow::postMessage):
2870         Added custom handler for postMessage() that handles being passed MessagePortArrays.
2871         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
2872         (WebCore::JSDedicatedWorkerContext::postMessage):
2873         Added custom handler for postMessage() that handles being passed MessagePortArrays.
2874         * bindings/js/JSMessageEventCustom.cpp: Added.
2875         (WebCore::JSMessageEvent::ports):
2876         Added custom ports() getter that converts from MessagePortArray to JSArray.
2877         (WebCore::JSMessageEvent::initMessageEvent):
2878         Added support for passing a MessagePortArray.
2879         * bindings/js/JSMessagePortCustom.cpp:
2880         (WebCore::JSMessagePort::postMessage):
2881         Added custom handler for postMessage() that handles being passed MessagePortArray.
2882         (WebCore::fillMessagePortArray):
2883         New helper routine that validates/converts from a JS sequence o a WebCore::MessagePortArray.
2884         * bindings/js/JSMessagePortCustom.h: Added.
2885         * bindings/js/JSWorkerCustom.cpp:
2886         (WebCore::JSWorker::postMessage):
2887         Added custom handler for postMessage() that handles being passed MessagePortArray.
2888         * dom/MessageEvent.cpp:
2889         * dom/MessageEvent.h:
2890         (WebCore::MessageEvent::ports):
2891         Changed ports() to return a MessagePortArray* since this value can be null.
2892         * dom/MessageEvent.idl:
2893         Updated IDL to match HTML5 spec (now accepts MessagePortArrays instead of a solitary MessagePort).
2894         * dom/MessagePort.cpp:
2895         * dom/MessagePort.h:
2896         * dom/MessagePort.idl:
2897         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
2898         * page/DOMWindow.h:
2899         * page/DOMWindow.idl:
2900         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
2901         * workers/DedicatedWorkerContext.cpp:
2902         * workers/DedicatedWorkerContext.h:
2903         * workers/DedicatedWorkerContext.idl:
2904         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
2905         * workers/Worker.cpp:
2906         * workers/Worker.h:
2907         * workers/Worker.idl:
2908         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
2909
2910 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
2911
2912         Reviewed by Timothy Hatcher.
2913
2914         WebInspector: Do not query non-function call frames for function name.
2915
2916         https://bugs.webkit.org/show_bug.cgi?id=28799
2917
2918         * inspector/front-end/InjectedScript.js:
2919         (InjectedScript.CallFrameProxy):
2920         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
2921
2922 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
2923
2924         Reviewed by Timothy Hatcher.
2925
2926         Crash after typing "clear" and pressing return in inspector console.
2927
2928         https://bugs.webkit.org/show_bug.cgi?id=28684
2929
2930         * inspector/front-end/InjectedScript.js:
2931         (InjectedScript._clearConsoleMessages):
2932         (InjectedScript._inspectObject):
2933         (InjectedScript._ensureCommandLineAPIInstalled):
2934
2935 2009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>
2936
2937         Reviewed by Adam Barth.
2938
2939         [V8] Squeezed out some performance from string conversion.
2940         https://bugs.webkit.org/show_bug.cgi?id=28945
2941
2942         * bindings/v8/V8Binding.cpp:
2943         (WebCore::WebCoreStringResource::WebCoreStringResource):
2944         (WebCore::WebCoreStringResource::~WebCoreStringResource):
2945         (WebCore::WebCoreStringResource::data):
2946         (WebCore::WebCoreStringResource::length):
2947         (WebCore::WebCoreStringResource::atomicString):
2948         (WebCore::WebCoreStringResource::string):
2949         Avoid calling virtual length method. Be more explicit with
2950         external memory computation. Avoid function calls in data and
2951         length.
2952         (WebCore::):
2953         (WebCore::v8StringToWebCoreString):
2954         (WebCore::v8StringToAtomicWebCoreString):
2955         (WebCore::v8NonStringValueToWebCoreString):
2956         (WebCore::v8NonStringValueToAtomicWebCoreString):
2957         Avoid extra calls of WebCoreStringResource::toString. When
2958         AtomicString is computed pass it immediately when constructing
2959         WebCoreStringResource. Use inline buffer for small strings.
2960         * bindings/v8/V8Binding.h:
2961         (WebCore::v8ValueToWebCoreString):
2962         (WebCore::v8ValueToAtomicWebCoreString):
2963         (WebCore::toString):
2964         Inline dispatch of string vs. non-string values.
2965
2966 2009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>
2967
2968         Reviewed by Adam Barth.
2969
2970         [V8] Inlined common case of V8IsolatedWorld::getEntered to speed
2971         up V8Proxy lookup.
2972         https://bugs.webkit.org/show_bug.cgi?id=28946
2973
2974         * bindings/v8/V8IsolatedWorld.cpp:
2975         (WebCore::V8IsolatedWorld::getEnteredImpl):
2976         * bindings/v8/V8IsolatedWorld.h:
2977         (WebCore::V8IsolatedWorld::getEntered):
2978
2979 2009-09-03  Kent Tamura  <tkent@chromium.org>
2980
2981         Reviewed by Eric Seidel.
2982
2983         Fix a regression bug that maxLength doesn't work for IME input.
2984         https://bugs.webkit.org/show_bug.cgi?id=25253
2985
2986         Tests: fast/forms/input-maxlength-ime-completed.html
2987                fast/forms/input-maxlength-ime-preedit.html
2988
2989         * dom/InputElement.cpp:
2990         (WebCore::InputElement::handleBeforeTextInsertedEvent):
2991         * dom/InputElement.h:
2992         * html/HTMLInputElement.cpp:
2993         (WebCore::HTMLInputElement::defaultEventHandler):
2994         * wml/WMLInputElement.cpp:
2995         (WebCore::WMLInputElement::defaultEventHandler):
2996
2997 2009-09-03  Cameron McCormack  <cam@mcc.id.au>
2998
2999         Reviewed by Eric Seidel.
3000
3001         Make SVGStyleElement title/media/type setters do something
3002         https://bugs.webkit.org/show_bug.cgi?id=28828
3003
3004         Test: svg/dom/style-reflect.html
3005
3006         * svg/SVGStyleElement.cpp:
3007         (WebCore::SVGStyleElement::setXmlspace): Actually change the attribute.
3008         (WebCore::SVGStyleElement::setType): Ditto.
3009         (WebCore::SVGStyleElement::setMedia): Ditto.
3010         (WebCore::SVGStyleElement::setTitle): Ditto.
3011
3012 2009-09-03  Ben Murdoch  <benm@google.com>
3013
3014         https://bugs.webkit.org/show_bug.cgi?id=28872
3015         
3016         Fixes a bug where handleEvent() in the V8 Custom SQL Statement Error binding would not return the correct result to WebCore after invoking the callback.
3017
3018         Test: storage/statement-error-callback.html
3019
3020         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
3021         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): Return true from handleEvent() if the callback raised an exception or the callback itself returned true.
3022
3023 2009-09-03  Maxime Simon  <simon.maxime@gmail.com>
3024
3025         Reviewed by Eric Seidel.
3026
3027         [Haiku] Adding three font-specific files to WebCore:
3028         FontCustomPlatformData.cpp, FontCustomPlatformData.h,
3029         and FontPlatformData.h
3030         https://bugs.webkit.org/show_bug.cgi?id=28131
3031
3032         * platform/graphics/haiku/FontCustomPlatformData.cpp: Added.
3033         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
3034         (WebCore::FontCustomPlatformData::fontPlatformData):
3035         (WebCore::createFontCustomPlatformData):
3036         * platform/graphics/haiku/FontCustomPlatformData.h: Added.
3037         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
3038         * platform/graphics/haiku/FontPlatformData.h: Added.
3039         (WebCore::FontPlatformData::FontPlatformData):
3040         (WebCore::FontPlatformData::font):
3041         (WebCore::FontPlatformData::size):
3042         (WebCore::FontPlatformData::bold):
3043         (WebCore::FontPlatformData::oblique):
3044         (WebCore::FontPlatformData::hashTableDeletedFontValue):
3045
3046 2009-09-02  Brady Eidson  <beidson@apple.com>
3047
3048         Reviewed by Darin Adler.
3049
3050         More partial work towards "Page Cache should support pages with Frames"
3051         https://bugs.webkit.org/show_bug.cgi?id=13631
3052
3053         No new tests. (No change in behavior, current tests pass).
3054
3055         * loader/DocumentLoader.cpp:
3056         (WebCore::DocumentLoader::stopLoading): Adopt the new enum form for FrameLoader::stopLoading().
3057
3058         * loader/FrameLoader.cpp:
3059         (WebCore::FrameLoader::stopLoading): Take an enum to decide whether to dispatch no unload events,
3060           only unload, or unload and pagehide.
3061         (WebCore::FrameLoader::closeURL):
3062         (WebCore::FrameLoader::scheduleRedirection):
3063         (WebCore::FrameLoader::cachePageForHistoryItem): Call pageHidden().
3064         (WebCore::FrameLoader::pageHidden): Add to dispatch the pagehide event to all frames in the case
3065           where a page is added to the PageCache.
3066         * loader/FrameLoader.h:
3067
3068         * loader/FrameLoaderTypes.h: Add an UnloadEventPolicy enum.
3069
3070 2009-09-02  Brady Eidson  <beidson@apple.com>
3071
3072         Reviewed by Darin Adler.
3073
3074         More partial work towards "Page Cache should support pages with Frames"
3075         https://bugs.webkit.org/show_bug.cgi?id=13631
3076
3077         - More CachedFrame destruction work.
3078         - Including related Frame and FrameLoader changes and cleanup.
3079
3080         No new tests. (No change in behavior, current tests pass).
3081
3082         * history/CachedFrame.cpp:
3083         (WebCore::CachedFrameBase::restore): Rebuild up the whole FrameTree when restoring.
3084         (WebCore::CachedFrame::CachedFrame): Tear down the entire FrameTree when caching.
3085         (WebCore::CachedFrame::destroy): For child frames that are being destroyed while in
3086           the PageCache, do lightweight cleanup to:
3087           A - Prevent referring to a stale Page object.
3088           B - Prevent World Leaks of WebKit objects.
3089
3090         * loader/FrameLoader.cpp:
3091         (WebCore::FrameLoader::stopAllLoaders): stopAllLoaders() should never be called on Frames that are
3092           in the PageCache. ASSERT that fact.
3093         (WebCore::FrameLoader::open): Remove a bogus release-build workaround, as the comment right above it
3094           explains it is not effective, and it'd be better to see the crash locally instead of downstream.
3095         (WebCore::FrameLoader::closeAndRemoveChild): Make sure the owner element has a page pointer before
3096           referencing it.
3097         (WebCore::FrameLoader::detachFromParent): Use the new detachViewsAndDocumentLoader() call
3098         (WebCore::FrameLoader::detachViewsAndDocumentLoader): Does lightweight cleanup of client (WebKit) objects.
3099         * loader/FrameLoader.h:
3100
3101         * page/Frame.cpp:
3102         (WebCore::Frame::detachFromPage): Simply clear the Page pointer without doing any other work.
3103         (WebCore::Frame::pageDestroyed): Use the new detachFromPage().
3104         * page/Frame.h:
3105
3106 2009-09-02  Jungshik Shin  <jshin@chromium.org>
3107
3108         Reviewed by Dimitri Glazkov
3109
3110         [Chromium] Add 'icu::' qualifier in preparation for ICU upgrade to 4.2
3111         in Chromium. This is to fix a new file added in r28742 since the
3112         last patch for this issue.
3113
3114         https://bugs.webkit.org/show_bug.cgi?id=28410
3115
3116         No change in the test result.
3117
3118         * platform/graphics/chromium/FontLinux.cpp:
3119         (WebCore::TextRunWalker::getNormalizedTextRun):
3120
3121 2009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>
3122
3123         Unreviewed, build fix.
3124
3125         [Chromium] Correct a typo to fix bustage, caused by r47991.
3126         https://bugs.webkit.org/show_bug.cgi?id=27933
3127
3128         * platform/graphics/skia/ImageBufferSkia.cpp: Changed "Unpremultipled" to "Unmultiplied".
3129
3130 2009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>
3131
3132         Unreviewed, build fix.
3133
3134         [Chromium] Add a missing include to fix bustage, caused by r47991.
3135         https://bugs.webkit.org/show_bug.cgi?id=27933
3136
3137         * platform/graphics/skia/ImageBufferSkia.cpp: Added SkColorPriv include.
3138
3139 2009-09-02  Jian Li  <jianli@chromium.org>
3140
3141         Reviewed by Dimitri Glazkov.
3142
3143         [Chromium] Implement file support for DragData.
3144         https://bugs.webkit.org/show_bug.cgi?id=28896
3145
3146         * platform/chromium/DragDataChromium.cpp:
3147         (WebCore::DragData::containsURL):
3148         (WebCore::DragData::asURL):
3149         (WebCore::DragData::containsCompatibleContent):
3150
3151 2009-09-02  Kevin Watters  <kevinwatters@gmail.com>
3152
3153         Reviewed by Kevin Ollivier.
3154
3155         Protect libcurl shared data with Mutex objects via curl_set_share_opt.
3156         https://bugs.webkit.org/show_bug.cgi?id=28920
3157
3158         * platform/network/curl/ResourceHandleManager.cpp:
3159         (WebCore::sharedResourceMutex):
3160         (WebCore::curl_lock_callback):
3161         (WebCore::curl_unlock_callback):
3162         (WebCore::ResourceHandleManager::ResourceHandleManager):
3163
3164 2009-09-02  Evan Stade  <estade@chromium.org>
3165
3166         Reviewed by Eric Seidel.
3167
3168         Expose functions to change the focus ring color for Linux Chromium
3169
3170         https://bugs.webkit.org/show_bug.cgi?id=28887
3171
3172         * rendering/RenderThemeChromiumLinux.cpp:
3173         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
3174         (WebCore::RenderThemeChromiumLinux::setFocusRingColor):
3175         (WebCore::RenderThemeChromiumLinux::platformFocusRingColor):
3176         * rendering/RenderThemeChromiumLinux.h:
3177
3178 2009-09-02  Dirk Schulze  <krit@webkit.org>
3179
3180         Reviewed by Eric Seidel.
3181
3182         SVG Filter premultiplied color support for getImageDate/putImageData
3183         [https://bugs.webkit.org/show_bug.cgi?id=27933]
3184
3185         Patch to get premultiplied color support for Skia on getImageDate/putImageData.
3186
3187         * platform/graphics/skia/ImageBufferSkia.cpp:
3188         (WebCore::getImageData):
3189         (WebCore::putImageData):
3190
3191 2009-09-02  Brady Eidson  <beidson@apple.com>
3192
3193         Forget to rename openInFrameloader() to open(), which was requested in Darin's review of my last patch.
3194
3195         * history/CachedFrame.cpp:
3196         (WebCore::CachedFrameBase::restore):
3197         (WebCore::CachedFrame::open):
3198         * history/CachedFrame.h:
3199         * history/CachedPage.cpp:
3200         (WebCore::CachedPage::restore):
3201
3202 2009-09-02  Brady Eidson  <beidson@apple.com>
3203
3204         Reviewed by Darin Adler.
3205
3206         In http://trac.webkit.org/changeset/47943 I added new header dependencies to FrameLoader.h.
3207         Removing them is a little trouble, but worth it going forward.
3208         The pattern of creating a "CachedFrameBase" as the interface CachedFrame provides to FrameLoader
3209         was suggested by Darin Adler.
3210
3211         No new tests. (No change in behavior)
3212
3213         Make CachedFrame inherit privately from CachedFrameBase, which becomes the interface FrameLoader uses:
3214         * history/CachedFrame.cpp:
3215         (WebCore::CachedFrameBase::CachedFrameBase):
3216         (WebCore::CachedFrameBase::~CachedFrameBase):
3217         (WebCore::CachedFrameBase::restore):
3218         (WebCore::CachedFrame::CachedFrame):
3219         (WebCore::CachedFrame::openInFrameLoader):
3220         * history/CachedFrame.h:
3221         (WebCore::CachedFrameBase::document):
3222         (WebCore::CachedFrameBase::view):
3223         (WebCore::CachedFrameBase::domWindow):
3224         (WebCore::CachedFrame::create):
3225         (WebCore::CachedFrame::documentLoader):
3226         (WebCore::CachedFrame::mousePressNode):
3227
3228         Call the new ::openInFrameLoader() method on the CachedFrame, as CachedFrameBase is now the only
3229         thing capable of interacting with FrameLoader::open(CachedFrameBase):
3230         * history/CachedPage.cpp:
3231         (WebCore::CachedPage::restore):
3232         * history/CachedPage.h:
3233         (WebCore::CachedPage::documentLoader):
3234
3235         Make ::open(CachedFrame) public, and change it to ::open(CachedFrameBase):
3236         * loader/FrameLoader.cpp:
3237         (WebCore::FrameLoader::open):
3238         * loader/FrameLoader.h:
3239
3240 2009-09-02  Ryosuke Niwa  <rniwa@webkit.org>
3241
3242         Reviewed by Eric Seidel.
3243
3244         Cannot pres Enter to escape from bulleted list when <ul> is a child of <li>.
3245         https://bugs.webkit.org/show_bug.cgi?id=24866
3246
3247         This patch modifies breakOutOfEmptyListItem to break out of a properly nested list
3248         (a list to break out of is inside another list item).
3249
3250         When the empty list item appears at the end of another list item, WebKit breaks out of
3251         the outer list item, and adds new item below the outer list item.
3252         Otherwise, WebKit breaks out of the the inner list item and inserts new paragraph.
3253
3254         Test: editing/execCommand/break-out-of-empty-list-item.html
3255
3256         * editing/CompositeEditCommand.cpp:
3257         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
3258
3259 2009-09-02  Brady Eidson  <beidson@apple.com>
3260
3261         Reviewed by Sam Weinig.
3262
3263         More partial work towards "Page Cache should support pages with Frames"
3264         https://bugs.webkit.org/show_bug.cgi?id=13631
3265
3266         This patch is primarily about the "CachedFrame tree" and making slightly different decisions
3267         based on whether a CachedFrame is the main frame or a subframe.
3268
3269         - Store whether a CachedFrame represents the main frame or a subframe.
3270         - "Chop off the frame tree" for the main frame when creating its CachedFrame, as main frames 
3271           are reused and need to start new page loads with an empty frame tree.
3272         - Reattach the frame tree to the main frame when restoring it.
3273         - open() the cached subframes in their respective loaders when restoring.
3274         - Properly clear() and destroy() cached subframes.
3275         - When committing to a new page load, and after caching the previous page, only clear the
3276           FrameView for the main frame.
3277
3278         Note that all of above will eventually be necessary as I continue to land this work in pieces,
3279         but doesn't actually change any behavior right now because we still refuse to even *try* to
3280         cache pages with frames.
3281
3282         No new tests. No change in behavior, and current tests continue to pass.
3283
3284         * history/CachedFrame.cpp:
3285         (WebCore::CachedFrame::CachedFrame):
3286         (WebCore::CachedFrame::restore):
3287         (WebCore::CachedFrame::clear):
3288         (WebCore::CachedFrame::destroy):
3289         * history/CachedFrame.h:
3290         (WebCore::CachedFrame::isMainFrame):
3291
3292         * loader/FrameLoader.cpp:
3293         (WebCore::FrameLoader::clear):
3294         (WebCore::FrameLoader::open):
3295         * loader/FrameLoader.h:
3296
3297 2009-09-02  Brady Eidson  <beidson@apple.com>
3298
3299         No review, build fix.
3300
3301         http://trac.webkit.org/changeset/47976 broke the build.  
3302         Let's try compiling before we land things, shall we?
3303
3304         * platform/graphics/SimpleFontData.cpp:
3305         (WebCore::SimpleFontData::SimpleFontData): Order the initialization list correctly.
3306
3307 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
3308
3309         waf build fixes for Windows/MSVC.
3310
3311         * wscript:
3312
3313 2009-09-02  Ben Murdoch  <benm@google.com>
3314
3315         Unreviewed build fix for Chromium.
3316
3317         Missed #including V8Proxy.h in WebCore/bindings/v8/V8Binding.cpp.
3318
3319         * bindings/v8/V8Binding.cpp: add V8Proxy.h as an include
3320
3321 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
3322
3323         waf build fix, don't define symbols we now grab from other sources.
3324
3325         * platform/wx/TemporaryLinkStubs.cpp:
3326
3327 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
3328
3329         Build fixes for PluginViewNone.cpp and a wx build fix for PluginView.cpp.
3330
3331         * plugins/PluginView.cpp:
3332         (WebCore::PluginView::stop):
3333         * plugins/PluginViewNone.cpp:
3334         (WebCore::PluginView::platformDestroy):
3335
3336 2009-09-02  Charles Wei  <charles.wei@torchmobile.com.cn>
3337
3338         Reviewed by Eric Seidel.
3339
3340         Fix the build failure of WebKit for Linux/Qt when WML is enabled
3341
3342         No test cases needed since this just fixes the build problem.
3343
3344         * wml/WMLElement.cpp:
3345         (WebCore::WMLElement::create):
3346         * wml/WMLTableElement.cpp:
3347         (WebCore::WMLTableElement::joinSuperflousColumns):
3348         (WebCore::WMLTableElement::padWithEmptyColumns):
3349
3350 2009-09-02 Yong Li <yong.li@torchmobile.com>
3351
3352         Reviewed by Adam Barth.
3353
3354         WINCE PORT: use shared buffer for custom font data
3355         https://bugs.webkit.org/show_bug.cgi?id=27734
3356
3357         Refactored by Joe Mason <joe.mason@torchmobile.com>
3358
3359         * loader/CachedFont.cpp:
3360         add WINCE to platforms using cached custom data
3361         * platform/graphics/opentype/OpenTypeUtilities.cpp:
3362         (WebCore::renameFont): implement for WinCE
3363         * platform/graphics/opentype/OpenTypeUtilities.h:
3364         build fixes
3365         * platform/graphics/wince/FontCustomPlatformData.cpp:
3366         (WebCore::setCustomFontCache): add accessor
3367         (WebCore::createFontCustomPlatformData): change param to SharedBuffer
3368         * platform/graphics/wince/FontCustomPlatformData.h:
3369         update function signatures 
3370  
3371 2009-09-02 Yong Li <yong.li@torchmobile.com>
3372
3373         Reviewed by Adam Barth.
3374
3375         WINCE PORT: font-related build fixes and minor bugfixes
3376         https://bugs.webkit.org/show_bug.cgi?id=27734
3377
3378         * platform/graphics/FontCache.h: declare functions added in https://bugs.webkit.org/show_bug.cgi?id=27509
3379         * platform/graphics/GlyphPageTreeNode.cpp:
3380         (WebCore::GlyphPageTreeNode::initializePage): fix ambiguous overload error in min/max on Windows
3381         * platform/graphics/SimpleFontData.cpp:
3382         (WebCore::SimpleFontData::SimpleFontData): initialize member vars
3383         * platform/graphics/SimpleFontData.h: disable unused members on Wince to save space 
3384
3385 2009-09-02  Jeremy Orlow  <jorlow@chromium.org>
3386
3387         Reviewed by Adam Barth.
3388
3389         Another pass at releasing the storage mutex.
3390         https://bugs.webkit.org/show_bug.cgi?id=28904
3391
3392         Another pass at releasing the storage mutex (when applicable) when we finish
3393         executing JavaScript.  http://dev.w3.org/html5/spec/Overview.html#storage-mutex
3394         describes the required behavior.
3395
3396         As it turns out, https://bugs.webkit.org/show_bug.cgi?id=28789 didn't solve
3397         the problem correctly.  First of all, I missed that events and timeouts go
3398         through a different call path.  Second of all, I didn't consider recursion
3399         correctly.  Third of all, my check to see if LocalStorage is alive actually
3400         instantiates it if it isn't yet.  Fourth, I forgot DOM_STORAGE guards around
3401         it.  So I'm reverting that change completely and doing it more cleanly.
3402         Unfortunately, the solution isn't as portable (and thus I've left out the JSC
3403         implementation for now).
3404
3405         NOTE: This change now tracks recursion on function callbacks in V8.  I ran this
3406         by Mads Ager and Mike Belshe and they seemed to think adding the checks were
3407         fine.  Most callbacks are asynchronous and thus wouldn't be nested.  The few
3408         scenareos where you can have nested callbacks probably should have always been
3409         protected by a recursion guard.
3410
3411         Unfortunately, this can't be tested without a hook added to the layout test
3412         controllers since the lock is (by design) not supposed to be observable by
3413         JavaScript.  https://bugs.webkit.org/show_bug.cgi?id=28906
3414
3415         * bindings/js/ScriptController.cpp:
3416         (WebCore::ScriptController::evaluate): revert
3417         * bindings/v8/ScriptController.cpp:
3418         (WebCore::ScriptController::evaluate): revert
3419         * bindings/v8/V8Proxy.cpp:
3420         (WebCore::V8Proxy::runScript):
3421             Add releaseStorageMutex call.  A small amount of clean up.
3422         (WebCore::V8Proxy::callFunction):
3423             Add releaseStorageMutex call.  A small amount of clean up.
3424         (WebCore::V8Proxy::releaseStorageMutex):
3425             Check to see if localStorage has been instantiated.  If so, tell it to
3426             unlock all storage areas.
3427         * bindings/v8/V8Proxy.h:
3428         * page/PageGroup.h:
3429         (WebCore::PageGroup::hasLocalStorage):  Make hasLocalStorage public.
3430
3431 2009-09-02  Yong Li  <yong.li@torchmobile.com>
3432
3433         Reviewed by Adam Barth.
3434
3435         WINCE PORT: Implement ImageBuffer for WINCE
3436         Implement Image interface with a light class BufferedImage
3437         for rendering ImageBuffer
3438         https://bugs.webkit.org/show_bug.cgi?id=28167
3439
3440         * platform/graphics/wince/ImageBufferData.h: Added.
3441         * platform/graphics/wince/ImageBufferWince.cpp: Added.
3442
3443 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3444
3445         Reviewed by Eric Seidel.
3446
3447         Join the various PluginView destructors into one shared implementation
3448
3449         https://bugs.webkit.org/show_bug.cgi?id=27706
3450
3451         The Qt port used to delete the platform plugin widget as the last step.
3452         Now this is done before cleaning up the script objects and unloading the
3453         plugin package, similar to how the Win port does it.
3454
3455         * plugins/PluginView.cpp:
3456         * plugins/PluginViewNone.cpp:
3457         * plugins/gtk/PluginViewGtk.cpp:
3458         * plugins/mac/PluginViewMac.cpp:
3459         * plugins/qt/PluginViewQt.cpp:
3460         * plugins/win/PluginViewWin.cpp:
3461
3462 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3463
3464         Reviewed by Eric Seidel.
3465
3466         Share PluginView::init() between ports
3467
3468         https://bugs.webkit.org/show_bug.cgi?id=27706
3469
3470         The port-spesific bits are moved to platformStart(), which now returns
3471         a bool based on the success of the platformStart.
3472
3473         m_hasPendingGeometryChange is now initialized in the initializer list
3474         instead of in PluginViewQt's init()
3475
3476         PluginViewMac (currently used only by the Qt port) used to manually call
3477         stop() in the case where an unsupported drawing or event model was detected.
3478         This was wrong, as the m_status and m_isStarted fields should be used to
3479         guard against doing operations on a plugin in this intermediate state.
3480
3481         * plugins/PluginView.cpp:
3482         * plugins/PluginView.h:
3483         * plugins/PluginViewNone.cpp:
3484         * plugins/gtk/PluginViewGtk.cpp:
3485         * plugins/mac/PluginViewMac.cpp:
3486         * plugins/qt/PluginViewQt.cpp:
3487         * plugins/win/PluginViewWin.cpp:
3488
3489 2009-09-02  Ben Murdoch  <benm@google.com>
3490
3491         https://bugs.webkit.org/show_bug.cgi?id=28737
3492         
3493         Update JavaScript bindings in JSC and V8 for SQLTransaction to throw exceptions in the right places.
3494
3495         * bindings/js/JSSQLTransactionCustom.cpp:
3496         (WebCore::JSSQLTransaction::executeSql): Throw an exception if no parameters are passed to executeSql().
3497         * bindings/v8/V8Binding.cpp:
3498         (WebCore::v8ValueToWebCoreString): Catch an exception if thrown from toString().
3499         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3500         (WebCore::CALLBACK_FUNC_DECL): Allow "arrayish objects" to be passed to executeSql.
3501
3502 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
3503
3504         Reviewed by Timothy Hatcher.
3505
3506         WebInspector: Migrate Databases tab to InjectedScript /
3507         serialized interaction.
3508
3509         https://bugs.webkit.org/show_bug.cgi?id=28873
3510
3511         * inspector/InspectorDOMAgent.cpp:
3512         (WebCore::InspectorDOMAgent::handleEvent):
3513         * inspector/front-end/Database.js:
3514         (WebInspector.Database.prototype.isDB):
3515         (WebInspector.Database.prototype.runWithTableNames.sortingCallback):
3516         (WebInspector.Database.prototype.runWithTableNames):
3517         (WebInspector.Database.prototype.executeSql):
3518         (WebInspector.Database.prototype.executeSql.errorCallback):
3519         (WebInspector.Database.prototype.executeSql.queryTransaction):
3520         * inspector/front-end/DatabaseQueryView.js:
3521         (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
3522         (WebInspector.DatabaseQueryView.prototype._queryFinished):
3523         * inspector/front-end/DatabaseTableView.js:
3524         (WebInspector.DatabaseTableView):
3525         * inspector/front-end/StoragePanel.js:
3526         (WebInspector.StoragePanel.prototype.selectDatabase):
3527         (WebInspector.StoragePanel.prototype.updateDatabaseTables.withTableNames):
3528         (WebInspector.StoragePanel.prototype.updateDatabaseTables):
3529         (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate.withTableNames):
3530         (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate):
3531
3532 2009-09-02  Pavel Feldman  <pfeldman@chromium.org>
3533
3534         Not reviewed (trivial followup fix). 
3535         
3536         Web Inspector: Trivial follow up fix to r47944.
3537
3538         https://bugs.webkit.org/show_bug.cgi?id=28800
3539
3540         * inspector/InspectorBackend.cpp:
3541         (WebCore::InspectorBackend::nodeForId):
3542
3543 2009-09-01  Brian Weinstein  <bweinstein@apple.com>
3544
3545         Reviewed by John Sullivan.
3546
3547         Fixed a bug in handling of isReadOnly, where textareas were casted to HTMLInputElements.
3548
3549         * accessibility/AccessibilityRenderObject.cpp:
3550         (WebCore::AccessibilityRenderObject::isReadOnly):
3551
3552 2009-09-01  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
3553
3554         Reviewed by Timothy Hatcher.
3555
3556         https://bugs.webkit.org/show_bug.cgi?id=28047
3557         add utility method to enable logging messages for inspector development
3558
3559         manual test case added (see below)
3560
3561         * inspector/front-end/ConsoleView.js:
3562         (WebInspector.ConsoleMessage.prototype.toMessageElement):
3563         (WebInspector.ConsoleMessage.prototype.toString):
3564