6608a5fd821cde142a49570bac83ce185be024dd
[WebKit-https.git] / WebCore / ChangeLog
1 2010-05-06  Adam Barth  <abarth@webkit.org>
2
3         Reviewed by Eric Seidel.
4
5         drop support for sessionStorage in sandbox iframes
6         https://bugs.webkit.org/show_bug.cgi?id=38151
7
8         This patch causes us to throw a security exception when a sandboxed
9         iframe attempts to access sessionStorage, matching our behavior for
10         localStorage.  The letter of the spec asks us to create a separate
11         storage area for each unique origin.  We might want to do that in a
12         future patch, but throwing a security error seems like a safe move now.
13
14         * page/DOMWindow.cpp:
15         (WebCore::DOMWindow::sessionStorage):
16         (WebCore::DOMWindow::localStorage):
17         * page/DOMWindow.h:
18         * page/DOMWindow.idl:
19         * page/SecurityOrigin.h:
20         (WebCore::SecurityOrigin::canAccessSessionStorage):
21         * storage/StorageEventDispatcher.cpp:
22         (WebCore::StorageEventDispatcher::dispatch):
23
24 2010-05-06  Andy Estes  <aestes@apple.com>
25
26         Reviewed by Maciej Stachowiak.
27
28         Allow forms submitting to target="_blank" to open popups if the submission
29         originated from a user gesture.
30
31         https://bugs.webkit.org/show_bug.cgi?id=37335
32         <rdar://problem/7884980>
33
34         Test: fast/events/popup-allowed-from-gesture-initiated-form-submit.html
35
36         * bindings/js/ScriptController.cpp:
37         (WebCore::ScriptController::processingUserGesture): If no DOM event is
38         being processed, consult UserGestureIndicator to determine return value.
39         * bindings/js/ScriptController.h: Moved the logic of processingUserGestureEvent()
40         into processingUserGesture().
41
42 2010-05-06  Xan Lopez  <xlopez@igalia.com>
43
44         Rubber-stamped by Eric Seidel.
45
46         [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
47         https://bugs.webkit.org/show_bug.cgi?id=38577
48
49         Thinko caught while refactoring, $custom variable was not
50         initialized.
51
52         * bindings/scripts/CodeGeneratorGObject.pm:
53         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
54         (webkit_dom_test_obj_set_property):
55         (webkit_dom_test_obj_get_property):
56         (webkit_dom_test_obj_class_init):
57
58 2010-05-06  Xan Lopez  <xlopez@igalia.com>
59
60         Rubber-stamped by Eric Seidel.
61
62         [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
63         https://bugs.webkit.org/show_bug.cgi?id=38577
64
65         Refactor GenerateProperty out of GenerateProperties. This is in
66         preparation for EventListeren attributes, which won't generate
67         normal GObject properties.
68
69         * bindings/scripts/CodeGeneratorGObject.pm:
70
71 2010-05-06  Pavel Feldman  <pfeldman@chromium.org>
72
73         Reviewed by Joseph Pecoraro.
74
75         Web Inspector: follow up to linkify event listeners.
76
77         https://bugs.webkit.org/show_bug.cgi?id=38257
78
79         * bindings/js/ScriptEventListener.cpp:
80         (WebCore::eventListenerHandlerLocation):
81         * bindings/v8/ScriptEventListener.cpp:
82         (WebCore::eventListenerHandlerLocation):
83         * inspector/front-end/ElementsPanel.js:
84         (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
85         * inspector/front-end/EventListenersSidebarPane.js:
86
87 2010-05-05  Charles Wei  <charles.wei@torchmobile.com.cn>
88
89         Reviewed by George Staikos
90
91         https://bugs.webkit.org/show_bug.cgi?id=37848
92         This patch adds WCSS -wap-input-format and -wap-input-required support to WebKit
93
94         Tests: fast/wcss/wap-input-format.xhtml
95                fast/wcss/wap-input-required.xhtml
96
97         * css/CSSParser.cpp:
98         (WebCore::CSSParser::parseValue):
99         (WebCore::CSSParser::parseWCSSInputProperty):
100         * css/CSSParser.h:
101         * css/CSSStyleSelector.cpp:
102         (WebCore::CSSStyleSelector::applyProperty):
103         * css/WCSSPropertyNames.in:
104         * dom/InputElement.cpp:
105         (WebCore::InputElement::sanitizeValue):
106         (WebCore::InputElement::handleBeforeTextInsertedEvent):
107         (WebCore::InputElementData::InputElementData):
108         (WebCore::formatCodes):
109         (WebCore::cursorPositionToMaskIndex):
110         (WebCore::InputElement::isConformToInputMask):
111         (WebCore::InputElement::validateInputMask):
112         * dom/InputElement.h:
113         (WebCore::InputElementData::inputFormatMask):
114         (WebCore::InputElementData::setInputFormatMask):
115         (WebCore::InputElementData::maxInputCharsAllowed):
116         (WebCore::InputElementData::setMaxInputCharsAllowed):
117         * html/HTMLInputElement.cpp:
118         (WebCore::HTMLInputElement::setWapInputFormat):
119         * html/HTMLInputElement.h:
120         (WebCore::HTMLInputElement::data):
121         * wml/WMLInputElement.h:
122         (WebCore::WMLInputElement::data):
123
124 2010-05-05  MORITA Hajime  <morrita@google.com>
125
126         Reviewed by Darin Adler.
127
128         https://bugs.webkit.org/show_bug.cgi?id=38150
129         Refactoring: webkitEditableContentChangedEvent should be handled by the owner of appropriate the renderer.
130
131         Moved a part of code chunk in HTMLFormControlElementWithState::defaultEventHandler()
132         which accesses the renderer from foreign node, 
133         to TextControlInnerTextElement::defaultEventHandler() which owns the renderer.
134         
135         No new tests. No behavioral change.
136
137         * html/HTMLFormControlElement.cpp:
138         (WebCore::HTMLFormControlElementWithState::defaultEventHandler):
139         * html/HTMLFormControlElement.h:
140         * html/HTMLInputElement.h:
141         * html/HTMLTextAreaElement.h:
142         * rendering/TextControlInnerElements.cpp:
143         (WebCore::TextControlInnerTextElement::defaultEventHandler):
144
145 2010-05-05  Joseph Pecoraro  <joepeck@webkit.org>
146
147         Reviewed by Timothy Hatcher.
148
149         Web Inspector: Line Numbers should be Aligned with the Source Code Line
150         https://bugs.webkit.org/show_bug.cgi?id=38593
151
152         If there is a message bubble, such as an error message, in a source view
153         the line number should be in line with the source code line, not centered
154         between the source and bubble.
155
156         * inspector/front-end/textViewer.css:
157         (.webkit-line-number): added vertical-align: top
158
159 2010-05-05  Dan Bernstein  <mitz@apple.com>
160
161         Fix the decelerated compositing build.
162
163         * page/FrameView.cpp:
164         (WebCore::FrameView::isEnclosedInCompositingLayer):
165         * page/FrameView.h:
166
167 2010-05-05  Gavin Barraclough  <barraclough@apple.com>
168
169         Reviewed by Darin Adler.
170
171         Bug 38604 - workers-gc2 crashing on Qt
172
173         This appears to be due to a couple of issues.
174         (1) When the atomic string table is deleted it does not clear the 'inTable' bit
175         on AtomicStrings - it implicitly assumes that all AtomicStrings have already
176         been deleted at this point (otherwise they will crash in their destructor when
177         they try to remove themselves from the atomic string table).
178         (2) We don't fix the ordering in which WTF::WTFThreadData and
179         WebCore::ThreadGlobalData are destructed.
180
181         We should make sure that ThreadGlobalData is cleaned up before worker threads
182         terminate and WTF::WTFThreadData is destroyed, and we should clear the inTable
183         bit of members on atomic string table destruction.
184
185         WTF changes (fix issue 2, above) - clean up the thread data on worker termination.
186
187         * platform/ThreadGlobalData.cpp:
188         (WebCore::ThreadGlobalData::~ThreadGlobalData):
189         (WebCore::ThreadGlobalData::destroy):
190         * platform/ThreadGlobalData.h:
191         * workers/WorkerThread.cpp:
192         (WebCore::WorkerThread::workerThread):
193
194 2010-05-05  Dan Bernstein  <mitz@apple.com>
195
196         Reviewed by Simon Fraser.
197
198         <rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1)
199         https://bugs.webkit.org/show_bug.cgi?id=38427
200
201         Test: compositing/iframes/iframe-in-composited-layer.html
202
203         * WebCore.base.exp: Export FrameView::isEnclosedInCompositingLayer().
204         * page/FrameView.cpp:
205         (WebCore::FrameView::isEnclosedInCompositingLayer): Added this predicate.
206         * page/FrameView.h:
207
208 2010-05-05  Chris Marrin  <cmarrin@apple.com>
209
210         Reviewed by Simon Fraser.
211
212         Got composited iframes showing up on Mac again
213         https://bugs.webkit.org/show_bug.cgi?id=38565
214
215         This was broken by http://trac.webkit.org/changeset/58798. That
216         change connected iframes through the parent document to the root
217         of the layer tree. That is correct for Windows, but not for Mac.
218         So the places where the linkage is made were wrapped in 
219         shouldPropagateCompositingToIFrameParent() calls, which is 
220         always false for Mac.
221
222         Test: compositing/iframes/composited-iframe-alignment.html
223
224         * rendering/RenderLayerCompositor.cpp:Avoid doing composited iframe linkage on Mac
225         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
226         (WebCore::RenderLayerCompositor::didMoveOnscreen):
227         (WebCore::RenderLayerCompositor::willMoveOffscreen):
228         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
229
230 2010-05-05  Alexey Proskuryakov  <ap@apple.com>
231
232         Reviewed by Darin Adler.
233
234         https://bugs.webkit.org/show_bug.cgi?id=38260
235         <rdar://problem/7917548> Fix whitespace removing in deprecatedParseURL().
236
237         Broken all the way since r4 (yes, that's a revision number).
238
239         Test: http/tests/security/xss-DENIED-javascript-with-spaces.html
240
241         * css/CSSHelper.cpp: (WebCore::deprecatedParseURL): Fixed loop conditions for remaining length.
242
243 2010-05-05  Chris Fleizach  <cfleizach@apple.com>
244
245         Reviewed by Beth Dakin.
246
247         Many AXUnknown showing up in the hierarchy
248         https://bugs.webkit.org/show_bug.cgi?id=38607
249
250         The RenderTableSection should not be an accessible element.
251
252         Test: platform/mac/accessibility/parent-of-table-row-is-table.html
253
254         * accessibility/AccessibilityRenderObject.cpp:
255         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
256
257 2010-05-05  Csaba Osztrogonác  <ossy@webkit.org>
258
259         Reviewed by Simon Hausmann.
260
261         [Qt]Disable Qt Multimedia backend for HTML 5 Audio and Video elements
262         Fall back to the Phonon backend until the release situation has been cleared up.
263
264         https://bugs.webkit.org/show_bug.cgi?id=38612
265
266         Buildfix for QT_VERSION >= 0x040700 after r58810.
267
268         * platform/graphics/MediaPlayer.cpp:
269
270 2010-05-05  Jian Li  <jianli@chromium.org>
271
272         Reviewed by David Levin.
273
274         XMLHttpRequestUpload events do not fire when sending a raw file or FormData object.
275         https://bugs.webkit.org/show_bug.cgi?id=37771
276
277         Test: http/tests/local/formdata/upload-events.html
278
279         * xml/XMLHttpRequest.cpp:
280         (WebCore::XMLHttpRequest::createRequest):
281
282 2010-05-05  Csaba Osztrogonác  <ossy@webkit.org>
283
284         Reviewed by Simon Hausmann.
285
286         [Qt] Qt port should use its own QUuid class to create UUID string.
287         https://bugs.webkit.org/show_bug.cgi?id=38581
288
289         * platform/UUID.cpp:
290         (WebCore::createCanonicalUUIDString): Added PLATFORM(QT) case.
291
292 2010-05-05  Alexey Proskuryakov  <ap@apple.com>
293
294         Roll out r58830 for breaking tests.
295
296         Was: https://bugs.webkit.org/show_bug.cgi?id=38546
297         Node.focus() fails to move focus from subframe properly
298
299         * html/HTMLFrameElementBase.cpp:
300         (WebCore::HTMLFrameElementBase::setFocus):
301
302 2010-05-05  Jian Li  <jianli@chromium.org>
303
304         Reviewed by Adam Barth.
305
306         Implement FileReader class.
307         https://bugs.webkit.org/show_bug.cgi?id=38157
308
309         This patch only contains the implementation of FileReader class as defined
310         in the File API spec: http://www.w3.org/TR/file-upload/#dfn-filereader.
311
312         New test will be added when a IDL is exposed and the FILE_READER is turned
313         on.
314
315         * GNUmakefile.am:
316         * WebCore.gypi:
317         * WebCore.pro:
318         * WebCore.vcproj/WebCore.vcproj:
319         * WebCore.xcodeproj/project.pbxproj:
320         * dom/EventNames.h:
321         * dom/EventTarget.cpp:
322         (WebCore::EventTarget::toFileReader):
323         * dom/EventTarget.h:
324         * html/FileError.h:
325         (WebCore::FileError::FileError):
326         * html/FileReader.cpp: Added.
327         * html/FileReader.h: Added.
328         * html/FileStream.cpp:
329         (WebCore::FileStream::FileStream):
330         (WebCore::FileStream::openForRead):
331         (WebCore::FileStream::close):
332         (WebCore::FileStream::read):
333         * html/FileStream.h:
334
335 2010-05-05  Steve Falkenburg  <sfalken@apple.com>
336
337         Reviewed by Maciej Stachowiak.
338
339         REGRESSION(r57969) Image decoder is repeatedly destroyed/created in CoreGraphics-based Windows WebKit
340         https://bugs.webkit.org/show_bug.cgi?id=38595
341
342         * platform/graphics/cg/ImageSourceCG.cpp:
343         (WebCore::ImageSource::setData):
344
345 2010-05-05  Alexey Proskuryakov  <ap@apple.com>
346
347         Reviewed by Adele Peterson.
348
349         https://bugs.webkit.org/show_bug.cgi?id=38546
350         Node.focus() fails to move focus from subframe properly
351
352         Test: fast/frames/take-focus-from-iframe.html
353
354         * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setFocus): Don't clear
355         focus if this frame doesn't have it. This can happen if page's and HTMLFrameElement's ideas
356         of focused frame get out of sync temporarily.
357
358 2010-05-05  Alexey Proskuryakov  <ap@apple.com>
359
360         Reviewed by Adele Peterson.
361
362         https://bugs.webkit.org/show_bug.cgi?id=26824
363         <rdar://problem/7018610> EventHandler can operate on a wrong frame if focus changes during
364         keyboard event dispatch.
365
366         EventHandler object is tied to a frame, so it's wrong for it to continue processing a keyboard
367         event if focused frame changes between keydown and keypress.
368
369         * manual-tests/focus-change-between-key-events.html: Added.
370
371         * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Bail out early if focused frame
372         changes while dispatching keydown. Also made similar changes for Windows to maintain matching
373         behavior, even though EventHandler was re-entered anyway due to WM_KEYDOWN and WM_CHAR being
374         separate events.
375
376 2010-05-05  Steve Block  <steveblock@google.com>
377
378         Reviewed by Adam Barth.
379
380         MediaError.h is missing PassRefPtr.h include
381         https://bugs.webkit.org/show_bug.cgi?id=38575
382
383         No new tests, build fix only.
384
385         * html/MediaError.h:
386
387 2010-05-05  Alexander Pavlov  <apavlov@chromium.org>
388
389         Reviewed by Pavel Feldman.
390
391         Web Inspector: Audits panel: Resource counters get reset when switching panels while reloading page
392         https://bugs.webkit.org/show_bug.cgi?id=38579
393
394         * inspector/front-end/AuditLauncherView.js:
395         (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
396         (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
397
398 2010-05-05  Pavel Feldman  <pfeldman@chromium.org>
399
400         Reviewed by Joseph Pecoraro.
401
402         Web Inspector: Doubleclick on line number should not trigger source editing.
403
404         https://bugs.webkit.org/show_bug.cgi?id=38588
405
406         * inspector/front-end/TextViewer.js:
407         (WebInspector.TextViewer.prototype._handleDoubleClick):
408
409 2010-05-05  Martin Robinson  <mrobinson@webkit.org>
410
411         Reviewed by Gustavo Noronha.
412
413         [GTK] Enable DOM clipboard and drag-and-drop access
414         https://bugs.webkit.org/show_bug.cgi?id=30623
415
416         Add support in the PasteboardHelper for images, in preparation for drag-and-drop data.
417
418         No new tests as functionality has not changed.
419
420         * platform/gtk/PasteboardHelper.cpp:
421         (WebCore::PasteboardHelper::fillSelectionData): Add support for images here.
422         (WebCore::PasteboardHelper::targetListForDataObject): Add support for images here.
423
424 2010-05-05  Stuart Morgan  <stuartmorgan@chromium.org>
425
426         Reviewed by Darin Fisher.
427
428         Add a "focused" parameter to Widget::setFocus, and updates Document
429         so that Widget is informed of focus loss as well as focus gain.
430         Changes all existing setFocus implementations so that they ignore
431         the 'false' case, so no behavior is changed until individual
432         platforms are updated to handle the new case (if they want to).
433
434         https://bugs.webkit.org/show_bug.cgi?id=37961
435
436         * dom/Document.cpp:
437         (WebCore::Document::setFocusedNode):
438         * platform/Widget.h:
439         * platform/android/WidgetAndroid.cpp:
440         (WebCore::Widget::setFocus):
441         * platform/chromium/WidgetChromium.cpp:
442         (WebCore::Widget::setFocus):
443         * platform/efl/WidgetEfl.cpp:
444         (WebCore::Widget::setFocus):
445         * platform/gtk/WidgetGtk.cpp:
446         (WebCore::Widget::setFocus):
447         * platform/haiku/WidgetHaiku.cpp:
448         (WebCore::Widget::setFocus):
449         * platform/mac/WidgetMac.mm:
450         (WebCore::Widget::setFocus):
451         * platform/qt/WidgetQt.cpp:
452         (WebCore::Widget::setFocus):
453         * platform/win/WidgetWin.cpp:
454         (WebCore::Widget::setFocus):
455         * platform/wx/WidgetWx.cpp:
456         (WebCore::Widget::setFocus):
457         * plugins/PluginView.h:
458         * plugins/PluginViewNone.cpp:
459         (WebCore::PluginView::setFocus):
460         * plugins/gtk/PluginViewGtk.cpp:
461         (WebCore::PluginView::setFocus):
462         * plugins/mac/PluginViewMac.cpp:
463         (WebCore::PluginView::setFocus):
464         * plugins/qt/PluginViewQt.cpp:
465         (WebCore::PluginView::setFocus):
466         * plugins/symbian/PluginViewSymbian.cpp:
467         (WebCore::PluginView::setFocus):
468         * plugins/win/PluginViewWin.cpp:
469         (WebCore::PluginView::setFocus):
470
471 2010-05-05  Steve Block  <steveblock@google.com>
472
473         Reviewed by Pavel Feldman.
474
475         Move V8 ScriptDebugServer::topStackFrame() to ScriptCallStack
476         https://bugs.webkit.org/show_bug.cgi?id=38531
477
478         ScriptCallStack::create() uses ScriptDebugServer::topStackFrame(), but ScriptDebugServer
479         is guarded with ENABLE(JAVASCRIPT_DEBUGGER). This prevents ScriptCallStack from being
480         built on platforms that do not define ENABLE(JAVASCRIPT_DEBUGGER).
481
482         No new tests, build fix only.
483
484         * bindings/v8/ScriptCallStack.cpp:
485         (WebCore::ScriptCallStack::callLocation):
486         (WebCore::ScriptCallStack::createUtilityContext): Helper for topStackFrame, moved from ScriptDebugServer
487         (WebCore::ScriptCallStack::topStackFrame): Moved from ScriptDebugServer
488         * bindings/v8/ScriptCallStack.h:
489         (WebCore::ScriptCallStack::utilityContext): Helper for topStackFrame, moved from ScriptDebugServer
490         * bindings/v8/ScriptDebugServer.cpp:
491         * bindings/v8/ScriptDebugServer.h:
492
493 2010-05-05  Csaba Osztrogonác  <ossy@webkit.org>
494
495         Rubber-stamped by Simon Hausmann.
496
497         [Qt] REGRESSION(r56869): WinCE build is broken
498         https://bugs.webkit.org/show_bug.cgi?id=36929
499
500         * WebCore.pro: LIBS += -lOle32 added.
501
502 2010-05-05  Simon Hausmann  <simon.hausmann@nokia.com>
503
504         Reviewed by Tor Arne Vestbø.
505
506         [Qt] Disable Qt Multimedia backend for HTML 5 Audio and Video elements
507
508         Fall back to the Phonon backend until the release situation has been cleared up.
509
510         * WebCore.pro:
511
512 2010-05-05  Ilya Tikhonovsky  <loislo@chromium.org>
513
514         Reviewed by Pavel Feldman.
515
516         WebInspector: Clickable links to resources should be used as 'details' part for the all suitable kinds of records.
517         https://bugs.webkit.org/show_bug.cgi?id=38542
518
519         * inspector/front-end/TimelinePanel.js:
520         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
521         (WebInspector.TimelineRecordListRow):
522         (WebInspector.TimelineRecordListRow.prototype.update):
523         (WebInspector.TimelinePanel.FormattedRecord):
524         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
525         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
526         (WebInspector.TimelinePanel.PopupContentHelper):
527         (WebInspector.TimelinePanel.PopupContentHelper.prototype._createCell):
528         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow):
529         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
530         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
531
532 2010-05-05  Nikolas Zimmermann  <nzimmermann@rim.com>
533
534         Not reviewed. Add missing files generated by "run-bindings-test", after the DOMTestCallback.idl addition.
535
536         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Added.
537         (WebKit::kit):
538         (webkit_dom_test_callback_callback_with_class1param):
539         (webkit_dom_test_callback_callback_with_class2param):
540         (webkit_dom_test_callback_callback_with_non_bool_return_type):
541         (WebKit::wrapTestCallback):
542         (WebKit::core):
543         (webkit_dom_test_callback_finalize):
544         (webkit_dom_test_callback_set_property):
545         (webkit_dom_test_callback_get_property):
546         (webkit_dom_test_callback_class_init):
547         (webkit_dom_test_callback_init):
548         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: Added.
549         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h: Added.
550         * bindings/scripts/test/ObjC/DOMTestCallback.h: Added.
551         * bindings/scripts/test/ObjC/DOMTestCallback.mm: Added.
552         (-[DOMTestCallback dealloc]):
553         (-[DOMTestCallback finalize]):
554         (-[DOMTestCallback callbackWithClass1Param:]):
555         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
556         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
557         (-[DOMTestCallback customCallback:class6Param:]):
558         (core):
559         (kit):
560         * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h: Added.
561
562 2010-05-05  Joseph Pecoraro  <joepeck@webkit.org>
563
564         Reviewed by Pavel Feldman.
565
566         Web Inspector: FontView needs Cleanup
567         https://bugs.webkit.org/show_bug.cgi?id=38567
568
569         FontView was missing some of the newer practices for initialization
570         that other Resource Views had. Also its width calculations could
571         result in a single character wrapping. This is general cleanup.
572
573         * inspector/front-end/FontView.js:
574         (WebInspector.FontView): move initialization into contentTabSelected
575         (WebInspector.FontView.prototype.contentTabSelected): handle initialization like other Resource Views
576         (WebInspector.FontView.prototype.updateFontPreviewSize): use a narrower width to prevent text from widowing
577
578 2010-05-05  Dirk Schulze  <krit@webkit.org>
579
580         Reviewed by Nikolas Zimmermann.
581
582         SVG hit testing is *way* too slow
583         https://bugs.webkit.org/show_bug.cgi?id=19312
584
585         Use the cached stroke and fill boundaries in RenderPath as a heuristik to
586         speed up SVG's hit testing.
587
588         No new tests added.
589
590         * rendering/RenderPath.cpp:
591         (WebCore::RenderPath::fillContains):
592         (WebCore::RenderPath::strokeContains):
593
594 2010-05-04  Dumitru Daniliuc  <dumi@chromium.org>
595
596         Reviewed by Adam Barth.
597
598         Auto-generate all Database callbacks.
599         https://bugs.webkit.org/show_bug.cgi?id=38503
600
601         * DerivedSources.cpp:
602         * DerivedSources.make:
603         * GNUmakefile.am:
604         * WebCore.gypi:
605         * WebCore.pri:
606         * WebCore.pro:
607         * WebCore.vcproj/WebCore.vcproj:
608         * WebCore.xcodeproj/project.pbxproj:
609         * bindings/js/JSBindingsAllInOne.cpp:
610         * bindings/js/JSCustomSQLStatementCallback.cpp: Removed.
611         * bindings/js/JSCustomSQLStatementCallback.h: Removed.
612         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
613         (WebCore::JSSQLStatementErrorCallback::handleEvent):
614         * bindings/js/JSCustomSQLStatementErrorCallback.h: Removed.
615         * bindings/js/JSCustomSQLTransactionCallback.cpp: Removed.
616         * bindings/js/JSCustomSQLTransactionCallback.h: Removed.
617         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Removed.
618         * bindings/js/JSCustomSQLTransactionErrorCallback.h: Removed.
619         * bindings/js/JSDatabaseCallback.cpp: Removed.
620         * bindings/js/JSDatabaseCallback.h: Removed.
621         * bindings/js/JSDatabaseCustom.cpp:
622         (WebCore::JSDatabase::changeVersion):
623         (WebCore::createTransaction):
624         * bindings/js/JSSQLTransactionCustom.cpp:
625         (WebCore::JSSQLTransaction::executeSql):
626         * bindings/scripts/CodeGeneratorJS.pm:
627         * bindings/scripts/test/JS/JSTestCallback.cpp:
628         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Removed.
629         * bindings/v8/custom/V8CustomSQLStatementCallback.h: Removed.
630         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
631         (WebCore::V8SQLStatementErrorCallback::handleEvent):
632         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Removed.
633         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Removed.
634         * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Removed.
635         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Removed.
636         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Removed.
637         * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
638         * bindings/v8/custom/V8DatabaseCallback.h: Removed.
639         * bindings/v8/custom/V8DatabaseCustom.cpp:
640         (WebCore::V8Database::changeVersionCallback):
641         (WebCore::createTransaction):
642         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
643         (WebCore::V8SQLTransaction::executeSqlCallback):
644         * storage/DatabaseCallback.h:
645         * storage/DatabaseCallback.idl: Added.
646         * storage/SQLStatement.cpp:
647         (WebCore::SQLStatement::performCallback):
648         * storage/SQLStatementCallback.h:
649         * storage/SQLStatementCallback.idl: Added.
650         * storage/SQLStatementErrorCallback.idl: Added.
651         * storage/SQLTransaction.cpp:
652         (WebCore::SQLTransaction::deliverTransactionCallback):
653         * storage/SQLTransactionCallback.h:
654         * storage/SQLTransactionCallback.idl: Added.
655         * storage/SQLTransactionErrorCallback.h:
656         * storage/SQLTransactionErrorCallback.idl: Added.
657
658 2010-05-04  Chris Marrin  <cmarrin@apple.com>
659
660         Reviewed by Simon Fraser.
661
662         Made composited iframes work on Windows
663         https://bugs.webkit.org/show_bug.cgi?id=32446
664         
665         This completes the work in http://trac.webkit.org/changeset/57919
666         to create compositing layers in the parent document when an iframe has 
667         a compositing layer. The parent document has a layer for the iframe 
668         element and builds a layer tree to the page root. The layer tree for the
669         iframe document is then parented to the iframe element's GraphicsLayer.
670         
671         The RenderLayerCompositor for the iframe document (which owns the
672         root of the layer tree) now has a clippingLayer which is the 
673         parent of the layer tree root so it can be clipped to the parent
674         iframe's bounds, taking into account borders, padding, etc. in
675         the parent iframe element.
676         
677         I also got rid of a no longer used function: RenderLayerCompositor::parentInRootLayer
678
679         Test: compositing/iframes/composited-parent-iframe.html
680
681         * rendering/RenderLayerBacking.cpp:Make calls to RenderLayerCompositor to set the clipping bounds for iframe content
682         * rendering/RenderLayerCompositor.cpp:Hook the iframe content to the parent iframe element
683         * rendering/RenderLayerCompositor.h:
684
685 2010-05-03  Alexey Proskuryakov  <ap@apple.com>
686
687         Reviewed by Adam Barth.
688
689         https://bugs.webkit.org/show_bug.cgi?id=38497
690         <rdar://problem/7759438> Make sure that http URLs always have a host in SecurityOrigin
691
692         This is a hardening fix, and behavior really depends on what an underlying networking layer
693         does. So, no test.
694
695         * page/SecurityOrigin.cpp:
696         (WebCore::schemeRequiresAuthority): List schemes that need an authority for successful loading.
697         (WebCore::SecurityOrigin::SecurityOrigin): Never let e.g. http origins with empty authorities
698         have the same security origin.
699
700 2010-05-04  Zhenyao Mo  <zmo@google.com>
701
702         Reviewed by Dimitri Glazkov.
703
704         getFramebufferAttachmentParameter should return the original WebGLTexture/WebGLRenderbuffer instead of creating new ones sharing names.
705         https://bugs.webkit.org/show_bug.cgi?id=38236
706
707         * html/canvas/CanvasObject.h: Add type check functions.
708         (WebCore::CanvasObject::isBuffer):
709         (WebCore::CanvasObject::isFramebuffer):
710         (WebCore::CanvasObject::isProgram):
711         (WebCore::CanvasObject::isRenderbuffer):
712         (WebCore::CanvasObject::isShader):
713         (WebCore::CanvasObject::isTexture):
714         * html/canvas/WebGLBuffer.h: Add type check functions.
715         (WebCore::WebGLBuffer::isBuffer):
716         * html/canvas/WebGLFramebuffer.h: Add type check functions.
717         (WebCore::WebGLFramebuffer::isFramebuffer):
718         * html/canvas/WebGLProgram.h: Add type check functions.
719         (WebCore::WebGLProgram::isProgram):
720         * html/canvas/WebGLRenderbuffer.cpp: remove constructor using existing name.
721         * html/canvas/WebGLRenderbuffer.h: Add type check functions; remove constructor using existing name.
722         (WebCore::WebGLRenderbuffer::isRenderbuffer):
723         * html/canvas/WebGLRenderingContext.cpp:
724         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Return original Texture/Renderbuffer instead of creating new ones.
725         (WebCore::WebGLRenderingContext::findTexture): Find a WebGLTexture using a name.
726         (WebCore::WebGLRenderingContext::findRenderbuffer): Find a WebGLRenderbuffer using a name.
727         * html/canvas/WebGLRenderingContext.h: Add find* functions.
728         * html/canvas/WebGLShader.h: Add type check functions.
729         (WebCore::WebGLShader::isShader):
730         * html/canvas/WebGLTexture.cpp: remove constructor using existing name.
731         * html/canvas/WebGLTexture.h: Add type check functions; remove constructor using existing name.
732         (WebCore::WebGLTexture::isTexture):
733
734 2010-05-04  Luiz Agostini  <luiz.agostini@openbossa.org>
735
736         Reviewed by Simon Hausmann.
737
738         [Qt] QT_MOBILE_THEME compile time flag
739         https://bugs.webkit.org/show_bug.cgi?id=38439
740
741         Replacing preprocessor conditional used in RenderThemeQt from Q_WS_MAEMO_5 to
742         USE(QT_MOBILE_THEME).
743
744         * WebCore.pro:
745         * platform/qt/RenderThemeQt.cpp:
746         (WebCore::RenderThemeQt::RenderThemeQt):
747         (WebCore::RenderThemeQt::qStyle):
748         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
749         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
750         (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
751         * platform/qt/RenderThemeQt.h:
752
753 2010-05-04  Joseph Pecoraro  <joepeck@webkit.org>
754
755         Reviewed by Dan Bernstein.
756
757         SVG fonts trigger GlyphPage::fill with null font
758         https://bugs.webkit.org/show_bug.cgi?id=38530
759
760         SVG fonts do not use the glyph page cache. This change detects when
761         attempting to fill a GlyphPage with an SVG font and indicates that
762         the glyphs were not available.
763
764         * platform/graphics/GlyphPageTreeNode.cpp:
765         (WebCore::fill): helper method which handles attempts to fill a GlyphPage with SVG or non-SVG fonts
766         (WebCore::GlyphPageTreeNode::initializePage): use the helper where appropriate
767
768 2010-05-04  Kent Tamura  <tkent@chromium.org>
769
770         Reviewed by David Levin (and unofficially by Enrica Casucci).
771
772         REGRESSION(r54368): Text drag-and-drop from input/textarea doesn't work
773         if the text is like a URL
774         https://bugs.webkit.org/show_bug.cgi?id=38374
775
776         Since r54368, documentFragmentFromDragData() creates an <a> element
777         with no anchor text for URL-like text dragged from input/textarea
778         element. If such text is dropped to input/textarea element, the text
779         is not inserted.
780         To fix this problem, use the original text or the URL as an anchor
781         text.
782
783         Test: editing/pasteboard/drag-drop-url-text.html
784
785         * page/DragController.cpp:
786         (WebCore::documentFragmentFromDragData):
787
788 2010-05-04  Steve Block  <steveblock@google.com>
789
790         Reviewed by Darin Adler.
791
792         JavaInstanceJSC.cpp and JNIUtilityPrivate.cpp need to include jni_jsobject.h for jlong_to_pt() and ptr_to_jlong()
793         https://bugs.webkit.org/show_bug.cgi?id=38525
794
795         No new tests, build fix only.
796
797         * bridge/jni/jni_jsobject.h: Guard Mac-specific code with PLATFORM(MAC)
798         * bridge/jni/jsc/JNIUtilityPrivate.cpp: Include jni_jsobject.h
799         * bridge/jni/jsc/JavaInstanceJSC.cpp: Include jni_jsobject.h
800
801 2010-05-04  Steve Block  <steveblock@google.com>
802
803         Reviewed by Darin Adler.
804
805         New FileSystemPOSIX functions cause linker errors on Android
806         https://bugs.webkit.org/show_bug.cgi?id=38521
807
808         No new tests, build fix only.
809
810         * platform/android/FileSystemAndroid.cpp: Remove closeFile, which is provided in FileSystemPOSIX.cpp
811         * platform/posix/FileSystemPOSIX.cpp: Guard writeToFile with !PLATFORM(ANDROID)
812
813 2010-05-04  Pavel Feldman  <pfeldman@chromium.org>
814
815         Reviewed by Timothy Hatcher.
816
817         Web Inspector: restore main and sidebar scroller positions
818         when switching between panels.
819
820         https://bugs.webkit.org/show_bug.cgi?id=38522
821
822         * inspector/front-end/ElementsPanel.js:
823         (WebInspector.ElementsPanel.prototype.elementsToRestoreScrollPositionsFor):
824         * inspector/front-end/Panel.js:
825         (WebInspector.Panel.prototype.show):
826         (WebInspector.Panel.prototype.hide):
827         (WebInspector.Panel.prototype.elementsToRestoreScrollPositionsFor):
828         (WebInspector.Panel.prototype._storeScrollPositions):
829         (WebInspector.Panel.prototype._restoreScrollPositions):
830         * inspector/front-end/ResourcesPanel.js:
831         (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor):
832         * inspector/front-end/ScriptsPanel.js:
833         (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
834
835 2010-05-04  Steven Lai  <steven_lai@asia.apple.com>
836
837         Reviewed by Darin Adler.
838
839         https://bugs.webkit.org/show_bug.cgi?id=37900
840         <rdar://problem/7806164> cloneNode() does not preserve z-index with more than six digits 
841
842         Tests: fast/dom/HTMLInputElement/clone-input-checked.html
843                fast/dom/clone-node-z-index.html
844
845         * dom/Element.cpp: undid the order change of calling copyNonAttributeProperties() before setAttributes()
846         (WebCore::Element::cloneElementWithoutChildren): uncheck the previous radio button in the same radio button group only when the checked radio box is appended to the dom tree
847         * html/HTMLInputElement.cpp:
848         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
849         (WebCore::HTMLInputElement::attach):
850         (WebCore::HTMLInputElement::setChecked):
851         * html/HTMLInputElement.h:
852
853 2010-04-29  John Gregg  <johnnyg@google.com>
854
855         Reviewed by Dmitry Titov.
856
857         notifications should have dir and replaceId attributes.
858         Note that tests are only enabled in Chromium, skipped elsewhere
859         since notifications aren't implemented.
860         https://bugs.webkit.org/show_bug.cgi?id=38336
861
862         Tests: fast/notifications/notifications-replace.html
863                fast/notifications/notifications-rtl.html
864
865         * notifications/Notification.h:
866         (WebCore::Notification::dir):
867         (WebCore::Notification::setDir):
868         (WebCore::Notification::replaceId):
869         (WebCore::Notification::setReplaceId):
870         * notifications/Notification.idl:
871
872 2010-05-04  Alejandro G. Castro  <alex@igalia.com>
873
874         Reviewed by Xan Lopez.
875
876         Fixed error defining the float/double minimum in the object
877         properties, the smallest value of a float/double is
878         -G_MAXDOUBLE/-G_MAXFLOAT.
879
880         * bindings/scripts/CodeGeneratorGObject.pm:
881
882 2010-05-03  Joseph Pecoraro  <joepeck@webkit.org>
883
884         Reviewed by Dan Bernstein.
885
886         REGRESSION: Text clipped in absolutely positioned search inputs
887         https://bugs.webkit.org/show_bug.cgi?id=38468
888
889         Previously I incorrectly added x() and y() to the tx and ty positioning.
890         This clips a search input like a text input, respecting the vertically
891         centered text.
892
893         * rendering/RenderTextControlSingleLine.cpp:
894         (WebCore::RenderTextControlSingleLine::layout): only the Y changes, so change setLocation to setY
895         (WebCore::RenderTextControlSingleLine::controlClipRect):
896
897 2010-05-04  Alexander Pavlov  <apavlov@chromium.org>
898
899         Reviewed by Timothy Hatcher.
900
901         Web Inspector: REGRESSION: Up/Down, PgUp/PgDown keys do not change numeric style properties
902         https://bugs.webkit.org/show_bug.cgi?id=38516
903
904         * inspector/front-end/StylesSidebarPane.js:
905         (WebInspector.StylePropertyTreeElement.prototype):
906
907 2010-05-04  Ben Murdoch  <benm@google.com>
908
909         Reviewed by Simon Hausmann.
910
911         Crash in handleTouchEvent: using dangling node ptrs in hashmap
912         https://bugs.webkit.org/show_bug.cgi?id=38514
913
914         When navigating away from a page, if you have your finger still
915         pressed and then lift it on the new page we see a crash if the
916         node got deleted as we still have a dangling pointer in the
917         m_originatingTouchPointTargets hashmap and try to use it as the
918         receiver to dispatch a touchend event.
919
920         Test: fast/events/touch/touch-stale-node-crash.html
921
922         * page/EventHandler.cpp:
923         (WebCore::EventHandler::clear): Clear the hashmap of touch targets.
924
925 2010-05-04  Joseph Pecoraro  <joepeck@webkit.org>
926
927         Reviewed by Pavel Feldman.
928
929         Web Inspector: Drawer Misbehaving when Docking / Undocking in Console Panel
930         https://bugs.webkit.org/show_bug.cgi?id=38510
931
932         * inspector/front-end/inspector.js:
933         (WebInspector.set attached): resize the drawer after docking/undocking
934
935 2010-05-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
936
937         Unreviewed, build fix for Symbian.
938
939         [Symbian] Build fix after r58598. 
940
941         Use C99 integer types for the Symbian plugin
942         implementation.
943
944         No new tests, as there is no new functionality.
945
946         * plugins/symbian/PluginPackageSymbian.cpp:
947         (WebCore::PluginPackage::NPVersion):
948         * plugins/symbian/PluginViewSymbian.cpp:
949         (WebCore::PluginView::handlePostReadFile):
950
951 2010-05-04  Nikolas Zimmermann  <nzimmermann@rim.com>
952
953         Reviewed by Dirk Schulze.
954
955         Split SVGCharacterLayoutInfo in smaller pieces
956         https://bugs.webkit.org/show_bug.cgi?id=38513
957
958         Split SVGCharacterLayoutInfo into SVGCharacterLayoutInfo/SVGCharacterData and SVGTextChunkLayoutInfo.
959         This is a preparation for more work in the text area.
960
961         * Android.mk: Add SVGCharacterData.(cpp|h) and SVGTextChunkLayoutInfo.h to build.
962         * GNUmakefile.am: Ditto.
963         * WebCore.gypi: Ditto.
964         * WebCore.pro: Ditto
965         * WebCore.vcproj/WebCore.vcproj: Ditto.
966         * WebCore.xcodeproj/project.pbxproj: Ditto.
967         * rendering/SVGCharacterData.cpp: Copied from rendering/SVGCharacterLayoutInfo.cpp.
968         * rendering/SVGCharacterData.h: Copied from rendering/SVGCharacterLayoutInfo.h.
969         (WebCore::SVGChar::SVGChar):
970         * rendering/SVGCharacterLayoutInfo.cpp:
971         (WebCore::SVGCharacterLayoutInfo::isInitialLayout): Introduced new helper function to share code between addLayoutInformation/addStackContent.
972         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): Use new helper function.
973         (WebCore::SVGCharacterLayoutInfo::addStackContent): Ditto
974         * rendering/SVGCharacterLayoutInfo.h:
975         * rendering/SVGRootInlineBox.h: Include new files.
976         * rendering/SVGTextChunkLayoutInfo.h: Copied from rendering/SVGCharacterLayoutInfo.h.
977
978 2010-05-04  Xan Lopez  <xlopez@igalia.com>
979
980         Reviewed by Holger Freyther.
981
982         [GTK] GObject DOM bindings
983         https://bugs.webkit.org/show_bug.cgi?id=33590
984
985         Use helper functions from CodeGenerator.pm to figure out whether a
986         type is "fundamental" or not (basically whether it's anything
987         other than a string or a non-pointer type).
988
989         * bindings/scripts/CodeGeneratorGObject.pm:
990
991 2010-04-30  Alexander Pavlov  <apavlov@chromium.org>
992
993         Reviewed by Yury Semikhatsky.
994
995         Web Inspector: REGRESSION: Disabled style properties are absent in Styles sidebar after WebInspector is re-opened
996         https://bugs.webkit.org/show_bug.cgi?id=38255
997
998         Moved stylesheet-related mappings into a separate object stored
999         in InspectorController rather than InspectorDOMAgent (which gets reset
1000         on every frontend [dis]connect).
1001
1002         * GNUmakefile.am:
1003         * WebCore.gypi:
1004         * WebCore.pro:
1005         * WebCore.vcproj/WebCore.vcproj:
1006         * WebCore.xcodeproj/project.pbxproj:
1007         * inspector/InspectorCSSStore.cpp: Added.
1008         (WebCore::InspectorCSSStore::InspectorCSSStore):
1009         (WebCore::InspectorCSSStore::~InspectorCSSStore):
1010         (WebCore::InspectorCSSStore::reset):
1011         * inspector/InspectorCSSStore.h: Added.
1012         * inspector/InspectorController.cpp:
1013         (WebCore::InspectorController::InspectorController):
1014         (WebCore::InspectorController::setFrontend):
1015         (WebCore::InspectorController::didCommitLoad):
1016         * inspector/InspectorController.h:
1017         * inspector/InspectorDOMAgent.cpp:
1018         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1019         (WebCore::InspectorDOMAgent::discardBindings):
1020         (WebCore::InspectorDOMAgent::applyStyleText):
1021         (WebCore::InspectorDOMAgent::setStyleText):
1022         (WebCore::InspectorDOMAgent::setStyleProperty):
1023         (WebCore::InspectorDOMAgent::toggleStyleEnabled):
1024         (WebCore::InspectorDOMAgent::setRuleSelector):
1025         (WebCore::InspectorDOMAgent::addRule):
1026         (WebCore::InspectorDOMAgent::bindStyle):
1027         (WebCore::InspectorDOMAgent::bindRule):
1028         (WebCore::InspectorDOMAgent::buildObjectForStyle):
1029         (WebCore::InspectorDOMAgent::buildObjectForRule):
1030         * inspector/InspectorDOMAgent.h:
1031         (WebCore::InspectorDOMAgent::create):
1032         (WebCore::InspectorDOMAgent::cssStore):
1033
1034 2010-05-04  Mikhail Naganov  <mnaganov@chromium.org>
1035
1036         Reviewed by Pavel Feldman.
1037
1038         Display "Recording..." item when recording an user-initiated CPU profile.
1039
1040         https://bugs.webkit.org/show_bug.cgi?id=38043
1041
1042         * English.lproj/localizedStrings.js:
1043         * inspector/front-end/ProfilesPanel.js:
1044         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
1045         (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
1046         (WebInspector.ProfilesPanel.prototype.showProfile):
1047         * inspector/front-end/inspector.js:
1048         (WebInspector.setRecordingProfile):
1049
1050 2010-05-04  Tucker Jay  <jay.tucker@nokia.com>
1051
1052         Reviewed by Holger Freyther.
1053
1054         Animated GIF images does not animate 10x as expected by default.
1055         https://bugs.webkit.org/show_bug.cgi?id=36818
1056
1057         Added test case to existing manual test to test the
1058         fixed functionality.
1059
1060         * manual-tests/qt/qt-10loop-anim.gif: Added.
1061         * manual-tests/qt/qt-gif-test.html:
1062         * platform/graphics/qt/ImageDecoderQt.cpp:
1063         (WebCore::ImageDecoderQt::repetitionCount):
1064
1065 2010-05-04  Dirk Schulze  <krit@webkit.org>
1066
1067         Unreviewed sort of XCodes project file.
1068
1069         * WebCore.xcodeproj/project.pbxproj:
1070
1071 2010-05-03  Steven Lai  <steven_lai@asia.apple.com>
1072
1073         Reviewed by Brady Eidson.
1074
1075         Reverted hashchange() event back to async.
1076         (This change does not update HashChangeEvent to its new proposed interface)
1077         https://bugs.webkit.org/show_bug.cgi?id=36201
1078         rdar://problem/7780794
1079         rdar://problem/7761278 (partial fix)
1080
1081         Tests: fast/loader/hashchange-event-async.html
1082
1083         * dom/Document.cpp: reverted hashchange() event back to async
1084         (WebCore::Document::enqueueHashchangeEvent):
1085
1086 2010-05-03  Holger Hans Peter Freyther  <zecke@selfish.org>
1087
1088         Rubber-stamped by Xan Lopez.
1089
1090         [Cairo,WX] Stop leaking a FontPlatformData.
1091         https://bugs.webkit.org/show_bug.cgi?id=37500
1092
1093         Stephan Aßmus pointed out that the pango font backend
1094         is leaking memory and fixed it. The WX font backend
1095         and the Cairo/Fontconfig backend have the same snippet
1096         of code and are leaking memory as well. This commit is
1097         fixing that.
1098
1099         * platform/graphics/cairo/SimpleFontDataCairo.cpp:
1100         (WebCore::SimpleFontData::smallCapsFontData):
1101         * platform/graphics/wx/SimpleFontDataWx.cpp:
1102         (WebCore::SimpleFontData::smallCapsFontData):
1103
1104 2010-05-03  James Robinson  <jamesr@chromium.org>
1105
1106         Reviewed by Eric Seidel.
1107
1108         Clean up a few compiler warnings
1109         https://bugs.webkit.org/show_bug.cgi?id=38073
1110
1111         * html/TextMetrics.h:
1112         (WebCore::TextMetrics::width):
1113         * rendering/style/StyleRareInheritedData.h:
1114         * rendering/style/StyleRareNonInheritedData.h:
1115
1116 2010-05-02  Dumitru Daniliuc  <dumi@chromium.org>
1117
1118         Reviewed by Adam Barth.
1119
1120         Add the ability to auto-generate callbacks to all code generators.
1121         https://bugs.webkit.org/show_bug.cgi?id=38414
1122
1123         * bindings/scripts/CodeGeneratorJS.pm:
1124         * bindings/scripts/CodeGeneratorV8.pm:
1125         * bindings/scripts/test/JS/JSTestCallback.cpp: Added.
1126         (WebCore::JSTestCallback::JSTestCallback):
1127         (WebCore::JSTestCallback::~JSTestCallback):
1128         (WebCore::JSTestCallback::callbackWithClass1Param):
1129         (WebCore::JSTestCallback::callbackWithClass2Param):
1130         * bindings/scripts/test/JS/JSTestCallback.h: Added.
1131         (WebCore::JSTestCallback::create):
1132         * bindings/scripts/test/V8/JSTestCallback.cpp: Added.
1133         (WebCore::V8TestCallback::V8TestCallback):
1134         (WebCore::V8TestCallback::~V8TestCallback):
1135         (WebCore::V8TestCallback::callbackWithClass1Param):
1136         (WebCore::V8TestCallback::callbackWithClass2Param):
1137         * bindings/scripts/test/V8/V8TestCallback.h: Added.
1138         (WebCore::V8TestCallback::create):
1139         * bindings/scripts/test/TestCallback.idl: Added.
1140
1141 2010-05-03  Kevin Watters  <kevinwatters@gmail.com>
1142
1143         Reviewed by Kevin Ollivier.
1144
1145         [wx] Build and use Mac's ComplexTextController to support complex text in wx.
1146         https://bugs.webkit.org/show_bug.cgi?id=38482
1147
1148         * platform/graphics/FloatSize.h:
1149         * platform/graphics/GlyphBuffer.h:
1150         (WebCore::GlyphBuffer::advanceAt):
1151         (WebCore::GlyphBuffer::add):
1152         * platform/graphics/SimpleFontData.h:
1153         (WebCore::SimpleFontData::getNSFont):
1154         * platform/graphics/mac/ComplexTextController.cpp:
1155         * platform/graphics/mac/ComplexTextController.h:
1156         * platform/graphics/wx/FontCacheWx.cpp:
1157         (WebCore::FontCache::getFontDataForCharacters):
1158         (WebCore::FontCache::getLastResortFallbackFont):
1159         * platform/graphics/wx/FontPlatformData.h:
1160         (toCTFontRef):
1161         (WebCore::FontPlatformData::FontPlatformData):
1162         (WebCore::FontPlatformData::allowsLigatures):
1163         * platform/graphics/wx/FontPlatformDataWx.cpp:
1164         (WebCore::FontPlatformData::FontPlatformData):
1165         (WebCore::FontPlatformData::cgFont):
1166         * platform/graphics/wx/FontPlatformDataWxMac.mm: Added.
1167         (WebCore::FontPlatformData::nsFont):
1168         (WebCore::FontPlatformData::cacheNSFont):
1169         * platform/graphics/wx/FontWx.cpp:
1170         (WebCore::Font::canReturnFallbackFontsForComplexText):
1171         (WebCore::Font::selectionRectForComplexText):
1172         (WebCore::Font::drawComplexText):
1173         (WebCore::Font::floatWidthForComplexText):
1174         (WebCore::Font::offsetForPositionForComplexText):
1175         * platform/graphics/wx/SimpleFontDataWx.cpp:
1176         (WebCore::SimpleFontData::platformInit):
1177         (WebCore::SimpleFontData::containsCharacters):
1178         (WebCore::SimpleFontData::platformWidthForGlyph):
1179         * platform/wx/wxcode/fontprops.h:
1180         * platform/wx/wxcode/mac/carbon/fontprops.mm:
1181         (wxFontContainsCharacters):
1182         (GetTextExtent):
1183         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
1184         (WebCore::drawTextWithSpacing):
1185         * platform/wx/wxcode/win/fontprops.cpp:
1186         (wxFontContainsCharacters):
1187         * wscript:
1188
1189 2010-05-03  Abhishek Arya  <inferno@chromium.org>
1190
1191         Reviewed by Adam Barth.
1192
1193         Add support for controlling clipboard access from javascript.
1194         Clipboard access from javascript is disabled by default.
1195         https://bugs.webkit.org/show_bug.cgi?id=27751
1196
1197         Test: editing/execCommand/clipboard-access.html
1198
1199         * WebCore.base.exp:
1200         * editing/EditorCommand.cpp:
1201         (WebCore::supportedCopyCut):
1202         (WebCore::supportedPaste):
1203         (WebCore::createCommandMap):
1204         * page/Settings.cpp:
1205         (WebCore::Settings::Settings):
1206         (WebCore::Settings::setJavaScriptCanAccessClipboard):
1207         * page/Settings.h:
1208         (WebCore::Settings::javaScriptCanAccessClipboard):
1209
1210 2010-05-03  Alexey Proskuryakov  <ap@apple.com>
1211
1212         Reviewed by Adam Barth.
1213
1214         https://bugs.webkit.org/show_bug.cgi?id=38285
1215         <rdar://problem/7903453> REGRESSION: Javascript command window.open does not work in empty tab
1216
1217         Cannot be tested, because new windows created in DRT always have an opener, and thus inherit
1218         its security origin. Only new windows and tabs created by browser chrome had this problem.
1219
1220         * loader/FrameLoader.cpp: (WebCore::FrameLoader::init): Moved updateSandboxFlags() call to
1221         the beginning, so that an initial document would get correct flags.
1222
1223 2010-05-03  Noam Rosenthal  <noam.rosenthal@nokia.com>
1224
1225         Reviewed by Darin Adler.
1226
1227         WebGL compile issue.
1228         Added ExceptionCode.h to JSWebGLArrayBufferConstructor.cpp, for some reason it was missing.
1229         https://bugs.webkit.org/show_bug.cgi?id=38453
1230
1231         No new tests: compile fix.
1232
1233         * bindings/js/JSWebGLArrayBufferConstructor.cpp:
1234
1235 2010-05-03  Eric Seidel  <eric@webkit.org>
1236
1237         Unreviewed, rolling out r58685.
1238         http://trac.webkit.org/changeset/58685
1239         https://bugs.webkit.org/show_bug.cgi?id=38461
1240
1241         Broke a test on Gtk
1242
1243         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1244         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
1245
1246 2010-05-03  Yael Aharon  <yael.aharon@nokia.com>
1247
1248         Reviewed by Darin Adler.
1249
1250         Use HTML5 number parsing in HTMLProgressElement
1251         https://bugs.webkit.org/show_bug.cgi?id=38434
1252
1253         Use parseToDoubleForNumberType instead of toDouble.
1254         Throw an exception when the number is NaN or Infinity.
1255
1256         * html/HTMLProgressElement.cpp:
1257         (WebCore::HTMLProgressElement::value):
1258         (WebCore::HTMLProgressElement::setValue):
1259         (WebCore::HTMLProgressElement::max):
1260         (WebCore::HTMLProgressElement::setMax):
1261         * html/HTMLProgressElement.h:
1262         * html/HTMLProgressElement.idl:
1263
1264 2010-05-03  Jens Alfke  <snej@chromium.org>
1265
1266         Reviewed by Darin Fisher.
1267
1268         [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
1269         https://bugs.webkit.org/show_bug.cgi?id=38397
1270
1271         No tests (functionality is exposed only through native WebKit API.)
1272
1273         * html/HTMLFormElement.cpp:
1274         (WebCore::HTMLFormElement::prepareSubmit):  Call frame loader's dispatchWillSendSubmitEvent
1275         * loader/EmptyClients.h:
1276         * loader/FrameLoaderClient.h:
1277         (WebCore::FrameLoaderClient::dispatchWillSendSubmitEvent):  New empty method
1278
1279 2010-05-03  Philippe Normand  <pnormand@igalia.com>
1280
1281         Reviewed by Eric Carlson.
1282
1283         [GStreamer] forgotten call to durationChanged in updateStates()
1284         https://bugs.webkit.org/show_bug.cgi?id=38461
1285
1286         Notify MediaPlayer if duration is known after playback started.
1287
1288         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1289         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
1290
1291 2010-05-03  Ryuan Choi  <ryuan.choi@gmail.com>
1292
1293         Reviewed by Darin Adler.
1294
1295         fixing build break due to clearWatch() when Geolocation feature is
1296         disabled.
1297
1298         https://bugs.webkit.org/show_bug.cgi?id=38091
1299
1300         no test because this is a build fix only
1301
1302         * page/Geolocation.cpp:
1303         (WebCore::Geolocation::clearWatch):
1304
1305 2010-05-03  Stephan Aßmus  <superstippi@gmx.de>
1306
1307         Reviewed by Holger Freyther.
1308
1309         [Gtk] Fix leaking the FontPlatformData instance used to create the the
1310         small caps font data.
1311         https://bugs.webkit.org/show_bug.cgi?id=37500
1312
1313         No new tests needed.
1314
1315         * platform/graphics/gtk/SimpleFontDataPango.cpp:
1316         (WebCore::SimpleFontData::smallCapsFontData):
1317             - Use a stack allocated FontPlatformData instead of a heap allocated
1318               one that is never freed.
1319
1320 2010-05-03  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
1321
1322         Reviewed by Simon Hausmann.
1323
1324         [Qt] GraphicsLayer: support webGL
1325         https://bugs.webkit.org/show_bug.cgi?id=35388
1326
1327         Added support GraphicsContext3D to GraphicsLayer.
1328         Added paint method to GraphicsContext3D for Qt platform that
1329         uses drawTexture() when QGLWidget is used as viewport of
1330         QGraphicsWebView.
1331         Fine-tuned texture and handling and image to texture conversion to
1332         work also when drawTexture() blitting is used.
1333
1334         * platform/graphics/GraphicsContext3D.h:
1335         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1336         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
1337         (WebCore::GraphicsContext3D::beginPaint):
1338         (WebCore::GraphicsContext3D::paint):
1339         (WebCore::GraphicsContext3D::texImage2D):
1340         (WebCore::GraphicsContext3D::texSubImage2D):
1341         (WebCore::GraphicsContext3D::getImageData):
1342         * platform/graphics/qt/GraphicsLayerQt.cpp:
1343         (WebCore::GraphicsLayerQtImpl::):
1344         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
1345         (WebCore::GraphicsLayerQtImpl::paint):
1346         (WebCore::GraphicsLayerQtImpl::flushChanges):
1347         (WebCore::GraphicsLayerQt::setContentsToGraphicsContext3D):
1348         (WebCore::GraphicsLayerQt::setGraphicsContext3DNeedsDisplay):
1349         * platform/graphics/qt/GraphicsLayerQt.h:
1350
1351 2010-05-03  Janne Koskinen  <janne.p.koskinen@digia.com>
1352
1353         Reviewed by Simon Hausmann.
1354
1355         [Qt] Fix qtlibraryinfix not to contain space
1356
1357         List catenation with += adds whitespace cutting the infix
1358         from the final target.
1359
1360         * WebCore.pro:
1361
1362 2010-05-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1363
1364         Reviewed by Simon Hausmann.
1365
1366         [Qt] Fix rendering of <button> elements on Mac OS X
1367
1368         The <button> element has ButtonPart appearance, not PushButton part,
1369         so we have to include ButtonPart when we decide if we should draw the
1370         button as raised on Mac OS X.
1371
1372         https://bugs.webkit.org/show_bug.cgi?id=38458
1373
1374         * platform/qt/RenderThemeQt.cpp:
1375         (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
1376
1377 2010-04-30  Philippe Normand  <pnormand@igalia.com>
1378
1379         Reviewed by Eric Seidel.
1380
1381         [GStreamer] endless loop after playback ended
1382         https://bugs.webkit.org/show_bug.cgi?id=38384
1383
1384         At playback end ensure duration() will return a valid duration if
1385         we managed to calculate it based on current position.
1386
1387         Test: media/video-duration-known-after-eos.html
1388
1389         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1390         (WebCore::MediaPlayerPrivateGStreamer::didEnd):
1391
1392 2010-05-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1393
1394         [Qt] Fix build break on Mac OS X
1395
1396         * plugins/mac/PluginPackageMac.cpp: Use correct type
1397         * WebCore.pro: Remove duplicate symbol, we now have a Qt implementation
1398
1399 2010-05-03  Thomas Zander <t.zander@nokia.com>
1400
1401         Reviewed by Simon Hausmann.
1402
1403         [Qt] Fix library infix usage when compiling inside of Qt
1404
1405         Don't apply the infix when building inside Qt, as that's done through the
1406         inclusion of qbase.pri.
1407
1408         * WebCore.pro:
1409
1410 2010-05-02  Dan Bernstein  <mitz@apple.com>
1411
1412         Reviewed by Simon Fraser.
1413
1414         Another case of <rdar://problem/7552959> REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
1415         https://bugs.webkit.org/show_bug.cgi?id=38445
1416
1417         Test: editing/selection/mixed-editability-11.html
1418
1419         * dom/Position.cpp:
1420         (WebCore::downstreamIgnoringEditingBoundaries): Added. Returns the furthest visually equivalent
1421         position downstream, crossing any editability boundaries.
1422         (WebCore::upstreamIgnoringEditingBoundaries): Similarly for upstream.
1423         (WebCore::Position::getInlineBoxAndOffset): Changed the logic for finding an inline box for positions
1424         whose node is a block flow. Instead of traversing the DOM, advance downstream or upstream as far as
1425         possible, crossing any editability boudaries. Infinite recursion is avoided by advancing all the way
1426         and checking that the new position is different from the starting position. Also replaced the specific
1427         test for buttons with the generic and more comprehensive canHaveChildrenForEditing().
1428
1429 2010-05-02  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
1430
1431         Reviewed by Simon Hausmann.
1432
1433         [Qt] Fix compilation with QT_NO_BEARERMANAGEMENT
1434         https://bugs.webkit.org/show_bug.cgi?id=38324
1435
1436         * platform/network/NetworkStateNotifier.h:
1437         * platform/network/qt/NetworkStateNotifierQt.cpp:
1438
1439 2010-04-29  Janne Koskinen  <janne.p.koskinen@digia.com>
1440
1441         Reviewed by Simon Hausmann.
1442
1443         [Qt] QtWebKit versioning added
1444         https://bugs.webkit.org/show_bug.cgi?id=37207
1445
1446         QtWebkit releases separated from Qt release cycle.
1447
1448         * WebCore.pro:
1449
1450 2010-05-02  Joseph Pecoraro  <joepeck@webkit.org>
1451
1452         Reviewed by Timothy Hatcher.
1453
1454         Web Inspector: Old Style trimWhitespace() should be trim()
1455         https://bugs.webkit.org/show_bug.cgi?id=38441
1456
1457         * inspector/front-end/SourceFrame.js:
1458         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
1459
1460 2010-05-02  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
1461
1462         Reviewed by Simon Hausmann.
1463
1464         [Qt] Fix compilation with QT_NO_LINEEDIT
1465         https://bugs.webkit.org/show_bug.cgi?id=38324
1466
1467         * platform/qt/RenderThemeQt.cpp:
1468         (WebCore::RenderThemeQt::~RenderThemeQt):
1469         (WebCore::RenderThemeQt::findFrameLineWidth):
1470
1471 2010-05-02  Pavel Feldman  <pfeldman@chromium.org>
1472
1473         Not reviewed: Touch inspector controller to kick windows tests.
1474
1475         * inspector/InspectorController.cpp:
1476
1477 2010-05-02  Pavel Feldman  <pfeldman@chromium.org>
1478
1479         Reviewed by Timothy Hatcher.
1480
1481         Web Inspector: IMG nodes are being added to the DOM tree late, sometimes hiding the revealed element.
1482
1483         https://bugs.webkit.org/show_bug.cgi?id=38432
1484
1485         * inspector/front-end/ElementsTreeOutline.js:
1486         (WebInspector.ElementsTreeOutline.prototype._onmousemove):
1487         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
1488         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
1489         (WebInspector.ElementsTreeElement.prototype.updateTitle):
1490         (WebInspector.ElementsTreeElement.prototype._attributeHTML):
1491         ():
1492
1493 2010-05-02  Dirk Schulze  <krit@webkit.org>
1494
1495         Reviewed by Nikolas Zimmermann.
1496
1497         SVG hkern implementation incomplete
1498         https://bugs.webkit.org/show_bug.cgi?id=38407
1499
1500         Test: svg/text/text-hkern.svg
1501
1502         The current SVG hkern implementation is incomplete and partly wrong. We pass the ACID3 test
1503         by accident.
1504         The new implementation supports all glyph and unicode combinations that are allowed by the Spec
1505         and fixes various of bugs. The parser moved from SVGFontElement to the general parsing code in
1506         SVGParserUtilities.
1507         Some clean-up makes the code more readable and reuseable for the upcoming vkern implementation.
1508         hkern support for text on path is missing and will be added by a following patch.
1509         Unicode strings of hkern elements are just parsed once and not on every glyph again anymore.
1510
1511         * rendering/SVGRootInlineBox.cpp:
1512         (WebCore::calculateCSSKerning):
1513         (WebCore::applySVGKerning):
1514         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
1515         * svg/SVGFontElement.cpp:
1516         (WebCore::stringMatchesUnicodeRange):
1517         (WebCore::stringMatchesGlyphName):
1518         (WebCore::matches):
1519         (WebCore::SVGFontElement::getHorizontalKerningPairForStringsAndGlyphs):
1520         * svg/SVGFontElement.h:
1521         * svg/SVGHKernElement.cpp:
1522         (WebCore::SVGHKernElement::buildHorizontalKerningPair):
1523         * svg/SVGHKernElement.h:
1524         * svg/SVGParserUtilities.cpp:
1525         (WebCore::parseGlyphName):
1526         (WebCore::parseUnicodeRange):
1527         (WebCore::parseKerningUnicodeString):
1528         * svg/SVGParserUtilities.h:
1529
1530 2010-05-02  Pavel Feldman  <pfeldman@chromium.org>
1531
1532         Reviewed by Timothy Hatcher.
1533
1534         Web Inspector: debugger shortcuts are processed twice if source frame has focus.
1535
1536         https://bugs.webkit.org/show_bug.cgi?id=38431
1537
1538         * inspector/front-end/SourceFrame.js:
1539         (WebInspector.SourceFrame):
1540         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
1541
1542 2010-05-02  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
1543
1544         Reviewed by Eric Seidel.
1545
1546         [Qt] Build error in GraphicsContext3DQt.cpp
1547         https://bugs.webkit.org/show_bug.cgi?id=38382
1548
1549         Removed duplicate implementation of isGLES2Compliant from
1550         GraphicsContext3DQt.cpp. Removed deprecated API stuff for
1551         texImage2D/texSubImage2D.
1552         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1553
1554 2010-05-02  Garret Kelly  <gdk@chromium.org>
1555
1556         Reviewed by David Levin.
1557
1558         Make the Touch RuntimeEnabledFeature disabled by default.
1559         https://bugs.webkit.org/show_bug.cgi?id=38392
1560
1561         * bindings/generic/RuntimeEnabledFeatures.cpp: Disable the Touch feature by default.
1562
1563 2010-05-02  Michael Nordman  <michaeln@google.com>
1564
1565         Reviewed by Dmitry Titov.
1566
1567         Define two new ResourceRequestBase TargetTypes for worker and shared worker
1568         main resources. Use the new target types where appropiate. Add logic to marshal
1569         the target type specified by requests initiated on a background worker thread.
1570
1571         https://bugs.webkit.org/show_bug.cgi?id=38295
1572
1573         No new tests. This doesn't have script visible artifacts.
1574
1575         * platform/network/ResourceRequestBase.cpp: marshal the values
1576         (WebCore::ResourceRequestBase::adopt):
1577         (WebCore::ResourceRequestBase::copyData):
1578         * platform/network/ResourceRequestBase.h:  define the types
1579         (WebCore::ResourceRequestBase::):
1580         * workers/DefaultSharedWorkerRepository.cpp: use TargetIsSharedWorker
1581         (WebCore::SharedWorkerScriptLoader::load):
1582         * workers/Worker.cpp: use TargetIsWorker
1583         (WebCore::Worker::Worker):
1584         * workers/WorkerContext.cpp: use TargetIsScript for importScripts
1585         (WebCore::WorkerContext::importScripts):
1586         * workers/WorkerScriptLoader.cpp: add a data member for the target type
1587         (WebCore::WorkerScriptLoader::WorkerScriptLoader):
1588         (WebCore::WorkerScriptLoader::createResourceRequest):
1589         * workers/WorkerScriptLoader.h:
1590
1591 2010-05-02  Noam Rosenthal  <noam.rosenthal@nokia.com>
1592
1593         Reviewed by Adele Peterson.
1594
1595         Webkit doesn't compile with 3D-canvas enabled and video disabled
1596         https://bugs.webkit.org/show_bug.cgi?id=38297
1597
1598         Added a #ifdef ENABLE(VIDEO) to WebGL code
1599
1600         No new tests: compile fix.
1601
1602         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1603         (WebCore::JSWebGLRenderingContext::texImage2D):
1604         (WebCore::JSWebGLRenderingContext::texSubImage2D):
1605
1606 2010-05-01  Evan Stade  <estade@chromium.org>
1607
1608         Reviewed by David Levin.
1609
1610         [chromium] Skia needs to fade DragImages
1611         https://bugs.webkit.org/show_bug.cgi?id=38008
1612
1613         tested by DragImageTest
1614
1615         * platform/chromium/DragImageChromiumSkia.cpp:
1616         (WebCore::dissolveDragImageToFraction):implement
1617         (WebCore::createDragImageFromImage):deep copy instead of shallow
1618
1619 2010-05-01  Maciej Stachowiak  <mjs@apple.com>
1620
1621         Reviewed by Sam Weinig.
1622
1623         REGRESSION (r58273): Visited links do not change color immediately when Cmd-clicked
1624         https://bugs.webkit.org/show_bug.cgi?id=38422
1625         <rdar://problem/7921778>
1626
1627         Tests:
1628             manual-tests/visited-link-new-window.html
1629
1630         * css/CSSStyleSelector.cpp:
1631         (WebCore::CSSStyleSelector::initElement): Only cache the visited link state
1632         when invoked as part of a helper call to styleForElement or pseudoStyleForElement,
1633         to avoid caching the visited link state beyond the scope of a single style lookup.
1634         (WebCore::CSSStyleSelector::styleForElement): Adjust for above change.
1635         (WebCore::CSSStyleSelector::pseudoStyleForElement): Adjust for above change.
1636         * css/CSSStyleSelector.h:
1637         (WebCore::CSSStyleSelector::styleForElement): Change so "visited link helper mode"
1638         can't accidentally be called from outside CSSStyleSelector itself.
1639         (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto
1640         * manual-tests/visited-link-new-window.html: Added. I could not figure out any way
1641         to make an automated test that supports visited link coloring.
1642
1643 2010-05-01  Yael Aharon  <yael.aharon@nokia.com>
1644
1645         Reviewed by Darin Adler.
1646
1647         Move number parsing code out of HTMLInputElement.
1648         https://bugs.webkit.org/show_bug.cgi?id=38203
1649
1650         The numebr parsing code follows HTML5 parsing rules and should be available outside of HTMLInputElement.
1651         No new tests as no new functionality was introduced.
1652
1653         * html/HTMLInputElement.cpp:
1654         * html/HTMLInputElement.h:
1655         * html/HTMLParser.cpp:
1656         (WebCore::serializeForNumberType):
1657         (WebCore::parseToDoubleForNumberType):
1658         * html/HTMLParser.h:
1659         * html/StepRange.cpp:
1660         (WebCore::StepRange::clampValue):
1661         (WebCore::StepRange::valueFromElement):
1662         * html/ValidityState.cpp:
1663         (WebCore::ValidityState::typeMismatch):
1664         * rendering/RenderSlider.cpp:
1665         (WebCore::RenderSlider::setValueForPosition):
1666
1667 2010-05-01  Xan Lopez  <xlopez@igalia.com>
1668
1669         Reviewed by Oliver Hunt.
1670
1671         [GTK] GObject DOM bindings
1672         https://bugs.webkit.org/show_bug.cgi?id=33590
1673
1674         Unify more logic to skip functions into SkipFunction, and
1675         whitelist the two [Custom] methods in HTMLCollection.idl.
1676
1677         * bindings/scripts/CodeGeneratorGObject.pm:
1678
1679 2010-05-01  Robert Hogan  <robert@webkit.org>
1680
1681         Reviewed by Simon Hausmann.
1682
1683         [Qt] Add smart paste support
1684
1685         https://bugs.webkit.org/show_bug.cgi?id=38136
1686
1687         * WebCore.pro:
1688         * editing/qt/SmartReplaceQt.cpp: Added.
1689         (WebCore::isCharacterSmartReplaceExempt):
1690         * platform/qt/PasteboardQt.cpp:
1691         (WebCore::Pasteboard::writeSelection):
1692         (WebCore::Pasteboard::canSmartReplace):
1693
1694 2010-04-30  Yoshiki Hayashi  <yhayashi@google.com>
1695
1696         Reviewed by Shinichiro Hamaji.
1697
1698         https://bugs.webkit.org/show_bug.cgi?id=38249
1699         
1700         Fixes an issue where border height and padding height are ignored when computing vertically shrinking flexbox's height.
1701
1702         Test: fast/flexbox/child-flexing.html
1703
1704         * rendering/RenderFlexibleBox.cpp:
1705         (WebCore::RenderFlexibleBox::allowedChildFlex):
1706
1707 2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>
1708
1709         Reviewed by Darin Adler.
1710
1711         Add layoutTestController.setPrinting()
1712         https://bugs.webkit.org/show_bug.cgi?id=37203
1713
1714         Use the renderer's width insteead of screen's width as the width of
1715         a screen depends on machines.
1716
1717         * rendering/RenderTreeAsText.cpp:
1718         (WebCore::externalRepresentation):
1719
1720 2010-04-30  Joseph Pecoraro  <joepeck@webkit.org>
1721
1722         Reviewed by Timothy Hatcher.
1723
1724         Web Inspector: Missing INSPECTOR Guard in Console::lastWMLErrorMessage
1725         https://bugs.webkit.org/show_bug.cgi?id=38366
1726
1727         Console::lastWMLErrorMessage is only available if WML is enabled, however
1728         its implementation only makes sense as long as INSPECTOR is enabled
1729         as well. So this adds the ENABLE(INSPECTOR) guard in the function. A
1730         browser without ENABLE(INSPECTOR) will always get an empty result.
1731
1732         * page/Console.cpp:
1733
1734 2010-04-28  Joseph Pecoraro  <joepeck@webkit.org>
1735
1736         Reviewed by Oliver Hunt.
1737
1738         REGRESSION(r58313): Regression evident in pixel tests: the search icon is always clipped at the bottom.
1739         https://bugs.webkit.org/show_bug.cgi?id=38253
1740
1741         Test: fast/css/input-search-padding.html
1742
1743         An <input type="search"> contains an inner block, which is explicitly
1744         centered in RenderTextControlSingleLine based on the height of the element.
1745         However, the clipping rect was not using the set location, and instead
1746         calculated off of the top border and padding alone. This also vertically
1747         centers the Caps Lock indicator.
1748
1749         * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine
1750         * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect
1751         * rendering/RenderTextControlSingleLine.cpp:
1752         (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator
1753         (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead
1754         * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search">
1755
1756 2010-04-30  Jon Honeycutt  <jhoneycutt@apple.com>
1757
1758         Caret may fail to blink if a focus handler brings up a modal dialog 
1759         https://bugs.webkit.org/show_bug.cgi?id=38372
1760
1761         Reviewed by Darin Adler.
1762
1763         * manual-tests/onfocus-alert-blinking-caret.html: Added.
1764
1765         * page/EventHandler.cpp:
1766         (WebCore::EventHandler::handleMousePressEvent):
1767         Moved the call to setCaretBlinkingSuspended() from here...
1768         (WebCore::EventHandler::handleMousePressEvent):
1769         ... to here. This makes us suspend caret blinking before dispatching the
1770         mouse down event. If dispatching the mouse down event allows the message
1771         loop to run, we want mouse up events received in that message loop to be
1772         able to resume caret blinking.
1773         (WebCore::EventHandler::lostMouseCapture):
1774         We've lost mouse capture and won't be notified of mouse up events;
1775         resume caret blinking.
1776
1777         * page/EventHandler.h:
1778         Declare lostMouseCapture().
1779
1780 2010-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
1781
1782         Unreviewed, build fix.
1783
1784         [Chromium] Added a simple IdentifierRep struct and removed dependency on
1785         IdentifierRep.h.
1786
1787         * bindings/v8/V8NPObject.cpp: Added simple IdentifierRep struct.
1788
1789 2010-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
1790
1791         Unreviewed, build fix.
1792
1793         [Chromium] Remove bridge/ from include paths.
1794
1795         * WebCore.gyp/WebCore.gyp: Removed bridge/ from include path.
1796
1797 2010-04-30  Abhishek Arya  <inferno@chromium.org>
1798
1799         Reviewed by David Kilzer.
1800
1801         Convert m_documentUnderMouse, m_dragInitiator to RefPtr.
1802         Eliminated unused m_dragInitiator accessor to prevent dereferencing.
1803         https://bugs.webkit.org/show_bug.cgi?id=37618
1804
1805         Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
1806
1807         * page/DragController.cpp:
1808         (WebCore::DragController::tryDocumentDrag):
1809         (WebCore::DragController::concludeEditDrag):
1810         * page/DragController.h:
1811         (WebCore::DragController::draggingImageURL):
1812         (WebCore::DragController::documentUnderMouse):
1813
1814 2010-04-29  James Robinson  <jamesr@chromium.org>
1815
1816         Reviewed by Simon Fraser.
1817
1818         Calls FrameView::scrollPositionChanged whenever a ScrollView is scrolled
1819         https://bugs.webkit.org/show_bug.cgi?id=38286
1820
1821         When a ScrollView's  scroll position is changed, we have to call
1822         FrameView::scrollPositionChanged to generate repaint invalidation for
1823         fixed position elements.  This ends up getting called indirectly when
1824         the ScrollView has a platformWidget through the port layer
1825         (see WebHTMLView.mm's _frameOrBoundsChanged method for how the mac
1826         port does it) but not when there is no platformWidget.
1827
1828         This is tested by the fast/repaint/fixed-* tests when run in pixel
1829         mode.
1830
1831         Test: fast/repaint/fixed-move-after-keyboard-scroll.html
1832
1833         * page/FrameView.h:
1834         * platform/ScrollView.cpp:
1835         (WebCore::ScrollView::valueChanged):
1836         * platform/ScrollView.h:
1837         (WebCore::ScrollView::scrollPositionChanged):
1838
1839 2010-04-30  Anders Carlsson  <andersca@apple.com>
1840
1841         Reviewed by Darin Adler.
1842
1843         Use C99 integer types in more places.
1844
1845         * manual-tests/NPN_Invoke/main.c:
1846         (NPP_New):
1847         (NPP_NewStream):
1848         (NPP_WriteReady):
1849         (NPP_Write):
1850         (NPP_HandleEvent):
1851         (functionPointerForTVector):
1852         * plugins/mac/PluginViewMac.cpp:
1853         (WebCore::PluginView::platformGetValueStatic):
1854         (WebCore::PluginView::handlePostReadFile):
1855
1856 2010-04-30  Darin Adler  <darin@apple.com>
1857
1858         Reviewed by Oliver Hunt.
1859
1860         Remove unused scrollRectIntoViewRecursively function
1861         https://bugs.webkit.org/show_bug.cgi?id=38403
1862
1863         * page/Chrome.cpp:
1864         (WebCore::Chrome::scrollRectIntoView): Moved comment here that was previously
1865         in the scrollRectIntoViewRecursively function.
1866
1867         * platform/ScrollView.cpp: Get rid scrollRectIntoViewRecursively.
1868         * platform/ScrollView.h: Ditto. Fix comment that refers to the two functions.
1869         Also correct all uses of the term "method" to use the C++ term "function" and
1870         got rid of double spaces after periods.
1871
1872 2010-04-30  Anders Carlsson  <andersca@apple.com>
1873
1874         Another Qt build fix.
1875
1876         * plugins/qt/PluginViewQt.cpp:
1877         (WebCore::PluginView::platformGetValueStatic):
1878
1879 2010-04-30  Anders Carlsson  <andersca@apple.com>
1880
1881         Add back TRUE, FALSE and NULL macros. They were not meant to be removed!
1882
1883         * bridge/npapi.h:
1884
1885 2010-04-30  Anders Carlsson  <andersca@apple.com>
1886
1887         Try to fix the Qt build this time.
1888
1889         * plugins/qt/PluginPackageQt.cpp:
1890         (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue):
1891         (WebCore::PluginPackage::NPVersion):
1892
1893 2010-04-30  Anders Carlsson  <andersca@apple.com>
1894
1895         Yet another build fix.
1896
1897         * plugins/gtk/PluginPackageGtk.cpp:
1898         (WebCore::PluginPackage::NPVersion):
1899
1900 2010-04-30  Anders Carlsson  <andersca@apple.com>
1901
1902         Fix build.
1903
1904         * bridge/npapi.h:
1905
1906 2010-04-30  Jian Li  <jianli@chromium.org>
1907
1908         Reviewed by Darin Fisher.
1909
1910         [chromium] Add WebFileSystem interface and hook up with all FileSystem methods.
1911         https://bugs.webkit.org/show_bug.cgi?id=38228
1912
1913         * platform/chromium/ChromiumBridge.h:
1914         * platform/chromium/FileSystemChromium.cpp:
1915         (WebCore::openFile):
1916         (WebCore::closeFile):
1917         (WebCore::seekFile):
1918         (WebCore::truncateFile):
1919         (WebCore::readFromFile):
1920         (WebCore::writeToFile):
1921
1922 2010-04-30  Anders Carlsson  <andersca@apple.com>
1923
1924         Reviewed by Dan Bernstein.
1925
1926         Final part of 
1927         
1928         https://bugs.webkit.org/show_bug.cgi?id=20784
1929         move npapi.h to C99 integer types
1930
1931         * bridge/npapi.h:
1932         Remove the old types.
1933
1934 2010-04-30  Sheriff Bot  <webkit.review.bot@gmail.com>
1935
1936         Unreviewed, rolling out r58569.
1937         http://trac.webkit.org/changeset/58569
1938         https://bugs.webkit.org/show_bug.cgi?id=38399
1939
1940         This broke the GTK bots due to bad GC behavior (Requested by
1941         ericu on #webkit).
1942
1943         * bindings/js/JSWorkerContextCustom.cpp:
1944         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1945         * storage/Database.idl:
1946         * storage/SQLError.idl:
1947         * storage/SQLResultSet.idl:
1948         * storage/SQLResultSetRowList.idl:
1949         * storage/SQLTransaction.idl:
1950         * workers/WorkerContext.cpp:
1951         (WebCore::WorkerContext::openDatabase):
1952         * workers/WorkerContext.h:
1953         (WebCore::WorkerContext::databaseExceededQuota):
1954         * workers/WorkerContext.idl:
1955
1956 2010-04-30  Anders Carlsson  <andersca@apple.com>
1957
1958         Fix GTK+ build.
1959
1960         * plugins/gtk/PluginViewGtk.cpp:
1961         (WebCore::PluginView::handlePostReadFile):
1962         (WebCore::PluginView::platformGetValueStatic):
1963
1964 2010-04-30  Anders Carlsson  <andersca@apple.com>
1965
1966         Fix Qt build.
1967
1968         * plugins/qt/PluginViewQt.cpp:
1969         (WebCore::PluginView::handlePostReadFile):
1970         (WebCore::PluginView::platformGetValue):
1971
1972 2010-04-30  Anders Carlsson  <andersca@apple.com>
1973
1974         Reviewed by Timothy Hatcher.
1975
1976         Next step towards fixing
1977         
1978         https://bugs.webkit.org/show_bug.cgi?id=20784
1979         move npapi.h to C99 integer types
1980
1981         Use the C99 types everywhere. The "old" types are still around but will be removed
1982         in a subsequent commit.
1983
1984         * bridge/npapi.h:
1985         (_NPCocoaEvent::):
1986         * plugins/PluginPackage.h:
1987         * plugins/PluginStream.cpp:
1988         (WebCore::PluginStream::deliverData):
1989         * plugins/PluginStream.h:
1990         * plugins/PluginView.cpp:
1991         (WebCore::PluginView::postURLNotify):
1992         (WebCore::PluginView::postURL):
1993         (WebCore::PluginView::write):
1994         (WebCore::PluginView::handlePost):
1995         * plugins/PluginView.h:
1996         * plugins/PluginViewNone.cpp:
1997         (WebCore::PluginView::handlePostReadFile):
1998         * plugins/npapi.cpp:
1999         (NPN_MemAlloc):
2000         (NPN_MemFlush):
2001         (NPN_PostURLNotify):
2002         (NPN_PostURL):
2003         (NPN_Write):
2004         * plugins/npfunctions.h:
2005         * plugins/win/PluginPackageWin.cpp:
2006         (WebCore::PluginPackage::NPVersion):
2007         * plugins/win/PluginViewWin.cpp:
2008         (WebCore::PluginView::handlePostReadFile):
2009
2010 2010-04-30  Peter Kasting  <pkasting@google.com>
2011
2012         Reviewed by David Levin.
2013
2014         Make all image decoders set the "failed" bit if an image could not be
2015         completely decoded, but no more data is coming.  The ICO and BMP
2016         decoders already did this.
2017         https://bugs.webkit.org/show_bug.cgi?id=35411
2018
2019         "Failed" does not cause the image to not be displayed, it simply causes
2020         us to not bother to try to decode again if future requests are made, and
2021         for some decoders, lets the decoder clean up some of its temporary
2022         objects.
2023
2024         No layout tests because this does not change the visible output of decoding in any way.
2025
2026         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2027         (WebCore::GIFImageDecoder::frameComplete): Return whether the frame could be marked as complete.
2028         (WebCore::GIFImageDecoder::decode): Fail if read() needs more data (and thus returns false) and no more is coming.
2029         * platform/image-decoders/gif/GIFImageDecoder.h:
2030         * platform/image-decoders/gif/GIFImageReader.cpp:
2031         (GIFImageReader::do_lzw): Instead of returning true for buffer underrun and false for failure, return false for both and set the failure flag on failure.
2032         (GIFImageReader::read): Ditto.
2033         * platform/image-decoders/gif/GIFImageReader.h:
2034         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2035         (WebCore::):
2036         (WebCore::JPEGImageReader::decode): See do_lzw() comment above.
2037         (WebCore::JPEGImageDecoder::decode): Fail if decode() needs more data (and thus returns false) and no more is coming.
2038         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2039         * platform/image-decoders/png/PNGImageDecoder.cpp:
2040         (WebCore::PNGImageReader::decode): Return true for decode success, false for buffer underrun or decode failure, and set the failure flag on decode failure.
2041         (WebCore::PNGImageDecoder::decode): See JPEGImageDecoder::decode() comment above.
2042         * platform/image-decoders/png/PNGImageDecoder.h:
2043
2044 2010-04-30  Brady Eidson  <beidson@apple.com>
2045
2046         Reviewed by Eric Carlson.
2047
2048         <rdar://problem/7902467> - Audio plays upon loading of npr.org but shouldn't
2049
2050         No new tests. (Currently no way to test such site specific hack behavior)
2051
2052         * html/HTMLMediaElement.cpp:
2053         (WebCore::HTMLMediaElement::HTMLMediaElement):
2054         (WebCore::HTMLMediaElement::asyncEventTimerFired): If the event to be dispatched is the canplay
2055           event, wrap the dispatch with m_dispatchingCanPlayEvent set.
2056         (WebCore::HTMLMediaElement::play): If m_dispatchingCanPlayEvent is true and the site is npr.org, 
2057           don't perform the play().
2058         * html/HTMLMediaElement.h: Add m_dispatchingCanPlayEvent member.
2059
2060 2010-04-30  Dan Bernstein  <mitz@apple.com>
2061
2062         Reviewed by Adele Peterson.
2063
2064         Part of <rdar://problem/6649734> Text repainting does not account for glyphs which draw outside the typographic bounds of the font
2065         https://bugs.webkit.org/show_bug.cgi?id=6274
2066
2067         Account for glyph overflow of characters in the range U+1E00..U+2000, but without sending them
2068         through the complex text code path. Instead, introduce a variant of the fast path that tracks
2069         glyph overflow.
2070
2071         * platform/graphics/Font.cpp:
2072         (WebCore::Font::drawText): Use codePath().
2073         (WebCore::Font::floatWidth): Use codePath(). Pass the GlyphOverflow pointer through to
2074         floatWidthForSimpleText() if the code path is SimpleWithGlyphOverflow.
2075         (WebCore::Font::selectionRectForText): Use codePath().
2076         (WebCore::Font::offsetForPosition): Ditto.
2077         * platform/graphics/Font.h: Replaced canUseGlyphCache() with codePath(). Added a GlyphOverflow
2078         parameter to floatWidthForSimpleText().
2079         * platform/graphics/FontFastPath.cpp:
2080         Removed ROMAN_AND_GREEK_DIACRITICS_CAN_USE_GLYPH_CACHE.
2081         (WebCore::Font::codePath): Renamed canUseGlyphCache() to this. Where it used to return false,
2082         it now returns Complex. Where it used to return true, it now returns Simple, except for
2083         the range U+1E00..U+2000, where it now returns SimpleWithGlyphOverflow.
2084         (WebCore::Font::floatWidthForSimpleText): Added a GlyphOverflow parameter. If not 0, have the
2085         width iterator account for glyph bounds, then update the GlyphOverflow accordingly.
2086         * platform/graphics/WidthIterator.cpp:
2087         (WebCore::WidthIterator::WidthIterator): Added boolean parameter telling the width iterator
2088         whether to account for glyph bounds. Initialize m_accountForGlyphBounds accordingly. Initialize
2089         m_maxGlyphBoundingBoxY, m_minGlyphBoundingBoxY, m_firstGlyphOverflow and m_lastGlyphOverflow.
2090         (WebCore::WidthIterator::advance): If accounting for glyph bounds, update the above member variables.
2091         * platform/graphics/WidthIterator.h:
2092         (WebCore::WidthIterator::maxGlyphBoundingBoxY): Added this accessor.
2093         (WebCore::WidthIterator::minGlyphBoundingBoxY): Ditto.
2094         (WebCore::WidthIterator::firstGlyphOverflow): Ditto.
2095         (WebCore::WidthIterator::lastGlyphOverflow): Ditto.
2096
2097 2010-04-30  Chris Marrin  <cmarrin@apple.com>
2098
2099         Reviewed by Simon Fraser.
2100
2101         Reversed the order of the CSSMatrix.multiply method
2102         https://bugs.webkit.org/show_bug.cgi?id=38337
2103
2104         Test: transforms/svg-vs-css.xhtml
2105
2106         * css/WebKitCSSMatrix.cpp:
2107         (WebCore::WebKitCSSMatrix::multiply):
2108         * platform/graphics/transforms/TransformationMatrix.cpp:
2109
2110 2010-04-30  Kevin Ollivier  <kevino@theolliviers.com>
2111
2112         Unreviewed. Attempt to fix the Chromium Mac build after the last commit.
2113
2114         * WebCore.gypi:
2115
2116 2010-04-30  Kevin Ollivier  <kevino@theolliviers.com>
2117
2118         Reviewed by Dan Bernstein.
2119
2120         Allow other ports to compile ATSUI and CoreText functions in SimpleFontData for Mac.
2121         https://bugs.webkit.org/show_bug.cgi?id=38334
2122
2123         * WebCore.xcodeproj/project.pbxproj:
2124         * platform/graphics/mac/SimpleFontDataATSUI.mm: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
2125         * platform/graphics/mac/SimpleFontDataCoreText.cpp: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
2126         * platform/graphics/mac/SimpleFontDataMac.mm:
2127
2128 2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>
2129
2130         Reviewed by Simon Fraser.
2131
2132         SHOULD NEVER BE REACHED assertion loading forbes.com
2133         https://bugs.webkit.org/show_bug.cgi?id=38272
2134
2135         Ignore page media related pseudo classes.
2136
2137         Test: printing/pseudo-class-outside-page.html
2138
2139         * css/CSSStyleSelector.cpp:
2140         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2141
2142 2010-04-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2143
2144         Unreviewed, build fix.
2145
2146         Fix compiler warning "suggest parentheses around"
2147
2148         No new tests as there is no new functionality.
2149
2150         * svg/SVGAnimateElement.cpp:
2151         (WebCore::SVGAnimateElement::calculateFromAndToValues):
2152
2153 2010-04-30  Kent Tamura  <tkent@chromium.org>
2154
2155         Unreviewed. Regression fix.
2156
2157         Revert a part of r58564 to be compatible with prior behavior
2158         https://bugs.webkit.org/show_bug.cgi?id=38383
2159
2160         * rendering/RenderTextControlSingleLine.cpp:
2161         (WebCore::RenderTextControlSingleLine::forwardEvent):
2162          r58564 made a region check for the cancel button stricter, but it
2163          made some tests failing on Chromium. So, relax the check again.
2164
2165 2010-04-29  Jeremy Orlow  <jorlow@chromium.org>
2166
2167         Reviewed by Darin Fisher.
2168
2169         Change StorageEvent.uri to StorageEvent.url to match the spec
2170         https://bugs.webkit.org/show_bug.cgi?id=38331
2171
2172         As I mentioned in http://www.mail-archive.com/public-webapps@w3.org/msg08495.html
2173         WebKit is the only one who places the document's URL in a 'uri' property
2174         rather than a 'url' property.  Even though we've shipped several versions of
2175         browsers with the old name, we probably should change this to comply with the
2176         spec.
2177
2178         This stuff is covered by existing tests.
2179
2180         * storage/StorageEvent.cpp:
2181         (WebCore::StorageEvent::create):
2182         (WebCore::StorageEvent::StorageEvent):
2183         (WebCore::StorageEvent::initStorageEvent):
2184         * storage/StorageEvent.h:
2185         (WebCore::StorageEvent::url):
2186         * storage/StorageEvent.idl:
2187
2188 2010-04-30  Nikolas Zimmermann  <nzimmermann@rim.com>
2189
2190         Reviewed by Dirk Schulze.
2191
2192         REGRESSION: RenderPath does not handle repaints correctly anymore if bounds changed
2193         https://bugs.webkit.org/show_bug.cgi?id=38385
2194
2195         The last SVG performance patch broke repainting if bounds of a RenderPath get smaller.
2196         It would only repaint the smaller part, not the original larger bounds.
2197
2198         Remove all lazy calculation of the repaint rects, instead calculate object/strokeBoundingBox and repaintRectInLocalCoordinates
2199         once in layout - after LayoutRepainter grabbed the initial bounds, before calling repaintAfterLayout(). We can now inline
2200         all these functions, and save a lot of m_path.isEmpty() checks, which are expensive. No need to store a seperated markerBoundingBox(),
2201         combine with strokeBoundingBox() -> save one FloatRect per RenderPath. Move strokeBoundingBox() from SVGRenderBase to RenderObject,
2202         right next to objectBoundingBox() - to save unnecessary toSVGRenderBase() calls. Completly remove this method.
2203
2204         Overall this is a regression fix, a performance improvement and saves memory. Something for everyone.
2205
2206         Tests: svg/custom/repaint-stroke-width-changes.svg
2207
2208         * rendering/RenderObject.cpp: Added strokeBoundingBox() here, to avoid the toSVGRenderBase() dance.
2209         (WebCore::RenderObject::strokeBoundingBox):
2210         * rendering/RenderObject.h: Ditto.
2211         * rendering/RenderPath.cpp:
2212         (WebCore::RenderPath::RenderPath):
2213         (WebCore::RenderPath::layout): Fix regression, do repainting correctly, by recalculating the boundaries, if needed, instead of nulling them.
2214         (WebCore::RenderPath::paint): Cache SVGRenderStyle in local variable, remove no longer valid FIXME.
2215         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Return a FloatRect, to avoid having to store the marker bounding box seperated.
2216         (WebCore::RenderPath::styleWillChange): Mark boundaries as dirty.
2217         (WebCore::RenderPath::updateCachedBoundaries): New function to (re-)calculate all cached boundaries, only called from layout().
2218         * rendering/RenderPath.h: Rename cached rect variables to have more sensible names.
2219         (WebCore::RenderPath::objectBoundingBox): Inlined, just returns the cached value - no more lazy creation. Huge speedup as this is hot code.
2220         (WebCore::RenderPath::strokeBoundingBox): Ditto.
2221         (WebCore::RenderPath::repaintRectInLocalCoordinates): Ditto.
2222         * rendering/RenderSVGBlock.h: Remove toSVGRenderBase() method.
2223         * rendering/RenderSVGImage.h: Ditto.
2224         * rendering/RenderSVGInline.cpp: No need to call toSVGRenderBase() just to get the strokeBoundingBox(). Unifies code to retrieve bounding boxes.
2225         (WebCore::RenderSVGInline::strokeBoundingBox):
2226         * rendering/RenderSVGInline.h: Remove toSVGRenderBase() method.
2227         * rendering/RenderSVGModelObject.h: Ditto.
2228         * rendering/RenderSVGResourceFilter.cpp: No need to call toSVGRenderBase() anymore, just grab the strokeBoundingBox() from the RenderObject.
2229         (WebCore::RenderSVGResourceFilter::applyResource):
2230         * rendering/RenderSVGText.h: Remove toSVGRenderBase() method.
2231         * rendering/SVGRenderSupport.h: Ditto. Remove markerBoundingBox() method, now combined with strokeBoundingBox().
2232         (WebCore::SVGRenderBase::strokeBoundingBox):
2233         * rendering/SVGRootInlineBox.h: Remove toSVGRenderBase() method.
2234         * rendering/style/SVGRenderStyle.h: Add hasMarkers() helper method, to avoid doing unnecessary work in RenderPath.
2235         (WebCore::SVGRenderStyle::hasMarkers):
2236
2237 2010-04-30  Eric Uhrhane  <ericu@chromium.org>
2238
2239         Reviewed by Dmitry Titov.
2240
2241         Add bindings for async DB API in Workers.
2242         https://bugs.webkit.org/show_bug.cgi?id=34992
2243
2244         Tests: storage/change-version-handle-reuse-worker.html
2245                storage/execute-sql-args-worker.html
2246
2247         * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
2248         (WebCore::JSWorkerContext::openDatabase):
2249
2250         * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
2251         (WebCore::V8WorkerContext::openDatabaseCallback):
2252
2253         Add NoStaticTables flags to all objects now shared with workers.
2254         * storage/Database.idl:
2255         * storage/SQLError.idl:
2256         * storage/SQLResultSet.idl:
2257         * storage/SQLResultSetRowList.idl:
2258         * storage/SQLTransaction.idl:
2259         
2260         * workers/WorkerContext.h: Add databaseExceededQuota.
2261         * workers/WorkerContext.cpp:
2262         (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
2263         (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
2264
2265         Add the IDL for the call to openDatabase.
2266         * workers/WorkerContext.idl:
2267
2268 2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>
2269
2270         Reviewed by Darin Adler.
2271
2272         Unnecessary PrintContext::end() calls
2273         https://bugs.webkit.org/show_bug.cgi?id=38247
2274
2275         Refactoring only, so no new tests.
2276
2277         * page/PrintContext.cpp:
2278         (WebCore::PrintContext::pageNumberForElement):
2279         (WebCore::PrintContext::numberOfPages):
2280
2281 2010-04-30  Kent Tamura  <tkent@chromium.org>
2282
2283         Reviewed by Adele Peterson.
2284
2285         Implement interactive behavior of spin buttons.
2286         https://bugs.webkit.org/show_bug.cgi?id=35686
2287
2288         Introduce SpinButtonElement. It is a shadow element class for
2289         spin buttons. If the upper side of the element is clicked, calls
2290         HTMLInputElement::stepUpFromRenderer(1). If the lower button is
2291         clicked, calls HTMLInputElement::stepUpFromRenderer(-1).
2292
2293         SpinButtonElement tracks the mouse pointer position, and
2294         RenderTheme sets ControlStates::SpinUpState if the pointer is on
2295         the upper side.
2296
2297         Test: platform/mac/fast/forms/input-number-click.html
2298
2299         * dom/Element.h:
2300         (WebCore::Element::isSpinButtonElement):
2301         * editing/VisibleSelection.cpp:
2302         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
2303          Remove an assertion. lastEditablePositionBeforePositionInRoot() can
2304          return null in a case that m_end is at a shadow element (a spin button)
2305          and baseRoot is another shadow element (inner text block) in the same
2306          node (an INPUT element).
2307         * html/HTMLInputElement.cpp:
2308         (WebCore::HTMLInputElement::stepUpFromRenderer):
2309         * html/HTMLInputElement.h:
2310         (WebCore::HTMLInputElement::hasSpinButton):
2311          Add types supporting step attribute except RANGE.
2312         * rendering/RenderTextControlSingleLine.cpp:
2313         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
2314         (WebCore::RenderTextControlSingleLine::forwardEvent):
2315         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
2316         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
2317         * rendering/RenderTextControlSingleLine.h:
2318         * rendering/RenderTheme.cpp:
2319         (WebCore::RenderTheme::controlStatesForRenderer):
2320         (WebCore::RenderTheme::isSpinUpButtonPartPressed):
2321         (WebCore::RenderTheme::isSpinUpButtonPartHovered):
2322         * rendering/RenderTheme.h:
2323         * rendering/TextControlInnerElements.cpp:
2324         (WebCore::SpinButtonElement::SpinButtonElement):
2325         (WebCore::SpinButtonElement::defaultEventHandler):
2326         * rendering/TextControlInnerElements.h:
2327         (WebCore::SpinButtonElement::isSpinButtonElement):
2328         (WebCore::SpinButtonElement::isEnabledFormControl):
2329         (WebCore::SpinButtonElement::onUpButton):
2330
2331 2010-04-30  Yael Aharon  <yael.aharon@nokia.com>
2332
2333         Reviewed by Kenneth Rohde Christiansen.
2334
2335         [Qt] Enable DOMWindow constructor for HTMLProgressElement
2336         https://bugs.webkit.org/show_bug.cgi?id=38333
2337
2338         Add ENABLE_PROGRESS_TAG to FEATURES_DEFINES_JAVASCRIPT.
2339
2340         * WebCore.pri:
2341
2342 2010-04-30  Kent Tamura  <tkent@chromium.org>
2343
2344         Reviewed by Adele Peterson.
2345
2346         Mac implementation of outer-spin-button appearance, and anonymous
2347         element generation for <input type=number>.
2348         https://bugs.webkit.org/show_bug.cgi?id=32813
2349
2350         The implementation uses NSStepperCell. Like the other Mac
2351         controls, it has only three candidates for sizes.
2352
2353         The editable block of an input element is shrunk, and the
2354         anonymous block for a spin button is put on the right of the
2355         editable block.
2356
2357         Tests: platform/mac/fast/forms/input-appearance-spinbutton-size.html
2358                platform/mac/fast/forms/input-appearance-spinbutton.html
2359
2360         * dom/Element.cpp:
2361         (WebCore::Element::pseudoStyleCacheIsInvalid):
2362         * dom/InputElement.h:
2363         (WebCore::InputElement::hasSpinButton):
2364         * html/HTMLInputElement.h:
2365         (WebCore::HTMLInputElement::hasSpinButton): Return true for NUMBER type.
2366         * platform/mac/ThemeMac.mm:
2367         (WebCore::sizeFromNSControlSize): Split the main part of sizeFromFont()
2368           to this in order to use stepperControlSizeForFont() instead of
2369           controlSizeForFont().
2370         (WebCore::sizeFromFont): Just calls sizeFromNSControlSize() with
2371           sizeFromFont(). No behavior changes.
2372         (WebCore::stepperSizes): Returns sizes for mini, small, and regular.
2373         (WebCore::stepperControlSizeForFont):
2374           Dedicated version of controlSizeForFont().
2375         (WebCore::stepper): Returns NSStepperCell object with specified settings.
2376         (WebCore::paintStepper):
2377         (WebCore::ThemeMac::controlSize): Support for OuterSpinButton.
2378         (WebCore::ThemeMac::minimumControlSize): ditto.
2379         (WebCore::ThemeMac::inflateControlPaintRect): ditto.
2380         (WebCore::ThemeMac::paint): ditto.
2381         * rendering/RenderBox.cpp:
2382         (WebCore::RenderBox::paintBoxDecorations):
2383           Move the content to paintBoxDecorationsWithSize().
2384         (WebCore::RenderBox::paintBoxDecorationsWithSize):
2385         * rendering/RenderBox.h: Declare paintBoxDecorationsWithSize().
2386         * rendering/RenderTextControlSingleLine.cpp:
2387         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
2388         (WebCore::RenderTextControlSingleLine::paintBoxDecorations):
2389           Call paintBoxDecorationsWithSize() with smaller width by decorationWidthRight().
2390         (WebCore::RenderTextControlSingleLine::addFocusRingRects):
2391           Add a rectangle of which width is smaller by decorationWidthRight().
2392         (WebCore::RenderTextControlSingleLine::layout):
2393           Adjust m_outerSpinButton position.
2394         (WebCore::RenderTextControlSingleLine::styleDidChange):
2395         (WebCore::RenderTextControlSingleLine::textBlockWidth):
2396         (WebCore::RenderTextControlSingleLine::decorationWidthRight):
2397         (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
2398         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
2399           Creates an element for m_outerSpinButton if it is needed.
2400         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
2401         (WebCore::RenderTextControlSingleLine::createOuterSpinButtonStyle):
2402         * rendering/RenderTextControlSingleLine.h: Declare new methods and m_outerSpinButton.
2403         * rendering/RenderThemeMac.mm:
2404         (WebCore::RenderThemeMac::adjustRepaintRect): Support for OuterSpinButton.
2405
2406 2010-04-29  Adam Barth  <abarth@webkit.org>
2407
2408         Unreviewed.  Update JSC CodeGenerator baseline.  Not sure how I missed
2409         this one earlier.
2410
2411         * bindings/scripts/test/JS/JSTestObj.cpp:
2412         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
2413
2414 2010-04-29  Justin Garcia  <justin.garcia@apple.com>
2415
2416         Reviewed by Adele Peterson.
2417
2418         Need to updateLayout after typing commands too
2419         https://bugs.webkit.org/show_bug.cgi?id=38352
2420
2421         Replaced !m_parent checks in EditCommand.cpp by the more descriptive isTopLevelCommand().
2422         Move the post editing operation updateLayout() call to {un,re}appliedEditing so that text insertions,
2423         which don't go through EditCommand::{un,re}apply() can benefit from it too.  No test case possible
2424         since most platforms have a layout performed as a side effect of post operation selection code.
2425
2426         * editing/EditCommand.cpp:
2427         (WebCore::EditCommand::apply):
2428         (WebCore::EditCommand::unapply):
2429         (WebCore::EditCommand::reapply):
2430         * editing/EditCommand.h:
2431         (WebCore::EditCommand::isTopLevelCommand):
2432         * editing/Editor.cpp:
2433         (WebCore::Editor::appliedEditing):
2434         (WebCore::Editor::unappliedEditing):
2435         (WebCore::Editor::reappliedEditing):
2436
2437 2010-04-29  Dan Bernstein  <mitz@apple.com>
2438
2439         Reviewed by Simon Fraser.
2440
2441         <rdar://problem/7918086> REGRESSION (r57820): Controller is not displayed in window when opening a MP3 file in browser window
2442         https://bugs.webkit.org/show_bug.cgi?id=38350
2443
2444         Tests: media/audio-only-video-intrinsic-size.html
2445                media/media-document-audio-size.html
2446
2447         * rendering/RenderVideo.cpp:
2448         (WebCore::RenderVideo::RenderVideo): Until metadata is available, ignore the natural size
2449         reported by the player.
2450         (WebCore::RenderVideo::videoSizeChanged): Respect a natural size of zero if reported by the
2451         player, except in standalone media documents.
2452
2453 2010-04-29  Anders Carlsson  <andersca@apple.com>
2454
2455         Reviewed by Dan Bernstein.
2456
2457         First part of
2458         https://bugs.webkit.org/show_bug.cgi?id=20784
2459         move npapi.h to C99 integer types.
2460
2461         Add nptypes.h to the build.
2462
2463         * WebCore.xcodeproj/project.pbxproj:
2464         * bridge/npapi.h:
2465         * bridge/npruntime.h:
2466         * bridge/nptypes.h: Added.
2467
2468 2010-04-29  Xan Lopez  <xlopez@igalia.com>
2469
2470         Rubber-stamped by Adam Barth.
2471
2472         Update GObject bindings test results. We are actually moving
2473         backwards here, but we'll update them again when we figure out
2474         what broke.
2475
2476         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2477         (webkit_dom_test_obj_set_property):
2478         (webkit_dom_test_obj_get_property):
2479
2480 2010-04-29  Sam Weinig  <sam@webkit.org>
2481
2482         Reviewed by Anders Carlsson.
2483
2484         Fix for https://bugs.webkit.org/show_bug.cgi?id=38277
2485         MiniBrowser: -[WebCoreFlippedView currentEditor]: unrecognized selector
2486
2487         * platform/mac/ThemeMac.mm:
2488         (-[WebCoreFlippedView currentEditor]): Added currentEditor nil implementation.
2489
2490 2010-04-29  Adam Barth  <abarth@webkit.org>
2491
2492         Reviewed by Eric Seidel.
2493
2494         CodeGeneratorJS.pm should be consistent about castedThis versus castedThisObj
2495         https://bugs.webkit.org/show_bug.cgi?id=38338
2496
2497         Currently CodeGeneratorJS.pm uses castThis for methods and
2498         castedThisObj for attributes.  This inconsistency makes it difficult to
2499         factor common code genereration code into methods shared by both kinds
2500         of bindings.  This match aligns the names so that a future patch (e.g.,
2501         in https://bugs.webkit.org/show_bug.cgi?id=38313) can reduce copy/paste
2502         code.
2503
2504         * bindings/scripts/CodeGeneratorJS.pm:
2505         * bindings/scripts/test/JS/JSTestObj.cpp:
2506         (WebCore::setJSTestObjIntAttr):
2507         (WebCore::setJSTestObjLongLongAttr):
2508         (WebCore::setJSTestObjUnsignedLongLongAttr):
2509         (WebCore::setJSTestObjStringAttr):
2510         (WebCore::setJSTestObjTestObjAttr):
2511         (WebCore::setJSTestObjAttrWithException):
2512         (WebCore::setJSTestObjAttrWithSetterException):
2513         (WebCore::setJSTestObjAttrWithGetterException):
2514         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
2515         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2516         (WebCore::jsTestObjPrototypeFunctionIntMethod):
2517         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
2518         (WebCore::jsTestObjPrototypeFunctionObjMethod):
2519         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2520         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
2521         (WebCore::jsTestObjPrototypeFunctionCustomMethod):
2522         (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
2523         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
2524         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
2525         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
2526         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
2527         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
2528         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
2529         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
2530         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
2531         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
2532         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
2533         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
2534         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
2535         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
2536         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
2537         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
2538
2539 2010-04-29  Gustavo Noronha Silva  <gustavo.noronhaollabora.co.uk>
2540
2541         Reviewed by Xan Lopez.
2542
2543         [GTK] pointerCursor should use the default cursor set for the window, not GDK_LEFT_PTR
2544         https://bugs.webkit.org/show_bug.cgi?id=36963
2545
2546         Use the default cursor instead of hard-coding left pointer.
2547
2548         * platform/gtk/CursorGtk.cpp:
2549         (WebCore::Cursor::Cursor):
2550         (WebCore::pointerCursor):
2551
2552 2010-04-29  Ilya Tikhonovsky  <loislo@chromium.org>
2553
2554         Reviewed by Yury Semikhatsky.
2555
2556         WebInspector: If Timeline panel is in recording mode and is not visible and has received
2557         new events then these events do not appear in the panel when the panel becomes visible.
2558         Timeline popup may appear in the upper left window corner when you switch to another panel.
2559         https://bugs.webkit.org/show_bug.cgi?id=38322
2560
2561         * inspector/front-end/Popover.js:
2562         (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
2563         (WebInspector.PopoverHelper.prototype._mouseMove):
2564         (WebInspector.PopoverHelper.prototype.hidePopup):
2565         (WebInspector.PopoverHelper.prototype._hidePopup):
2566         * inspector/front-end/TimelinePanel.js:
2567         (WebInspector.TimelinePanel.prototype.show):
2568         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
2569         (WebInspector.TimelinePanel.prototype._refresh):
2570
2571 2010-04-29  Anton Muhin  <antonm@chromium.org>
2572
2573         Reviewed by Darin Adler.
2574
2575         Let's cache nodelists instead of DynamicNodeList::Caches
2576         https://bugs.webkit.org/show_bug.cgi?id=33696
2577
2578         Test: fast/dom/Element/node-list-identity.html
2579
2580         * bindings/js/JSNodeCustom.cpp:
2581         (WebCore::JSNode::markChildren): Mark all cached node lists as well
2582         * dom/ClassNodeList.cpp:
2583         (WebCore::ClassNodeList::ClassNodeList): Don't need DynamicNodeList::Caches argument any more
2584         (WebCore::ClassNodeList::~ClassNodeList): Remove from the cache
2585         * dom/ClassNodeList.h: Added a field with original class names to be used as a key for removal from the cache
2586         (WebCore::ClassNodeList::create): Don't need DynamicNodeList::Caches argument any more
2587         * dom/NameNodeList.cpp:
2588         (WebCore::NameNodeList::NameNodeList): Don't need DynamicNodeList::Caches argument any more
2589         (WebCore::NameNodeList::~NameNodeList): Remove from the cache
2590         * dom/NameNodeList.h:
2591         (WebCore::NameNodeList::create): Don't need DynamicNodeList::Caches argument any more
2592         * dom/Node.cpp:
2593         (WebCore::Node::removeCachedClassNodeList): Remove ClassNodeList from the cache
2594         (WebCore::Node::removeCachedNameNodeList): Remove NameNodeList from the cache
2595         (WebCore::Node::removeCachedTagNodeList): Remove TagNodeList from the cache
2596         (WebCore::Node::getElementsByTagNameNS): Switch to caching node lists themselves, not the data
2597         (WebCore::Node::getElementsByName): Switch to caching node lists themselves, not the data
2598         (WebCore::Node::getElementsByClassName): Switch to caching node lists themselves, not the data
2599         (WebCore::NodeListsNodeData::invalidateCaches): Switch to caching node lists themselves, not the data
2600         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Switch to caching node lists themselves, not the data
2601         (WebCore::NodeListsNodeData::isEmpty): Switch to caching node lists themselves, not the data
2602         (WebCore::markNodeLists): Helper to mark all the node lists in the cache
2603         (WebCore::Node::markCachedNodeListsSlow): Mark all the cached node lists if any could be present
2604         * dom/Node.h:
2605         (WebCore::Node::markCachedNodeLists): Fast-path marking of cached node lists---bails out if there is no rare data
2606         * dom/NodeRareData.h: Changed type of caches to hold raw pointers to node lists, not RefPtr's to data
2607         * dom/TagNodeList.cpp:
2608         (WebCore::TagNodeList::TagNodeList): Don't need DynamicNodeList::Caches argument any more
2609         (WebCore::TagNodeList::~TagNodeList): Remove from the cache
2610         * dom/TagNodeList.h:
2611         (WebCore::TagNodeList::create): Don't need DynamicNodeList::Caches argument any more
2612
2613 2010-04-29  Mikhail Naganov  <mnaganov@chromium.org>
2614
2615         Reviewed by Yury Semikhatsky.
2616
2617         [Chromium] Update ScriptProfileNode to retrieve execution time in milliseconds.
2618
2619         https://bugs.webkit.org/show_bug.cgi?id=38330
2620
2621         * bindings/v8/ScriptProfileNode.cpp:
2622         (WebCore::ScriptProfileNode::totalTime):
2623         (WebCore::ScriptProfileNode::selfTime):
2624
2625 2010-04-28  Dimitri Glazkov  <dglazkov@chromium.org>
2626
2627         Reviewed by Darin Adler.
2628
2629         A form without a submit button unexpectedly performs its action when Return is pressed
2630         https://bugs.webkit.org/show_bug.cgi?id=9756
2631
2632         Implemented implicit form submission algorithm as defined in HTML5 spec:
2633         http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#implicit-submission,
2634         falling back to match IE's behavior in the edge cases.
2635
2636         The underlying rules are:
2637
2638         * If the form has no enabled submit buttons, submit if Enter/Return is pressed on the only single-line text field.
2639
2640         * Otherwise, submit form using first enabled submit button if Enter/Return is pressed on a field
2641           that's not a textarea or a select.
2642
2643         Test: fast/forms/implicit-submission.html
2644
2645         * dom/SelectElement.cpp:
2646         (WebCore::SelectElement::menuListDefaultEventHandler): Ripped out implicit submission for select elements.
2647         (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto.
2648         (WebCore::SelectElement::defaultEventHandler): Ditto.
2649         * dom/SelectElement.h: Ditto.
2650         (WebCore::HTMLFormElement::submitImplicitly): Renamed submitClick to submitImplicitly to better match HTML5 spec
2651             language, changed the logic to match the rules above.
2652         * html/HTMLInputElement.cpp:
2653         (WebCore::HTMLInputElement::defaultEventHandler): Reamed clickDefaultButton to implicitSubmission to better match
2654             HTML5 spec language, made radio element to trigger implicit submission.
2655         * html/HTMLSelectElement.cpp:
2656         (WebCore::HTMLSelectElement::defaultEventHandler): Removed passing of form() as parameter, because it's no longer
2657             necessary.
2658
2659 2010-04-29  Paweł Hajdan, Jr.  <phajdan.jr@chromium.org>
2660
2661         Reviewed by Jeremy Orlow.
2662
2663         Fix building with libpng-1.4.
2664         https://bugs.webkit.org/show_bug.cgi?id=33287
2665
2666         No new tests (no behavior change).
2667
2668         Original patch by John Bowler <jbowler@acm.org>
2669
2670         * platform/image-encoders/skia/PNGImageEncoder.cpp:
2671         (WebCore::PNGImageEncoder::encode):
2672
2673 2010-04-29  Adam Langley  <agl@chromium.org>
2674
2675         Reviewed by David Levin.
2676
2677         This patch adds support for WOFF in Chromium. Since Chromium
2678         already transcodes all OpenType files for security reasons we
2679         are adding WOFF support into the transcoder.
2680
2681         https://bugs.webkit.org/show_bug.cgi?id=38217
2682
2683         * css/CSSFontFaceSrcValue.cpp:
2684         (WebCore::CSSFontFaceSrcValue::isSupportedFormat):
2685           Recognise "woff" as a font-face format value (guarded by
2686           ENABLE(OPENTYPE_SANITIZER) at this point)
2687         * platform/graphics/opentype/OpenTypeSanitizer.cpp:
2688         (WebCore::OpenTypeSanitizer::sanitize):
2689           Change so that the transcoded font can be larger than the original.
2690           (WOFF files are compressed, so the transcoded TTF is typically
2691           larger.)
2692
2693 2010-04-29  Alex Milowski  <alex@milowski.com>
2694
2695         Reviewed by Kenneth Rohde Christiansen.
2696
2697         Updates to the Qt build to enable building MathML support.
2698
2699         * WebCore.pri:
2700         * WebCore.pro:
2701
2702 2010-04-29  Xan Lopez  <xlopez@igalia.com>
2703
2704         Reviewed by Gustavo Noronha.
2705
2706         [GTK] GObject DOM bindings
2707         https://bugs.webkit.org/show_bug.cgi?id=33590
2708
2709         Do not generate unneeded boilerplate in {get,set}_property methods
2710         when there are no properties to generate code for. This gets rid
2711         of lots of compiler warnings.
2712
2713         * bindings/scripts/CodeGeneratorGObject.pm:
2714
2715 2010-04-29  Simon Hausmann  <simon.hausmann@nokia.com>
2716
2717         Reviewed by Kenneth Rohde Christiansen.
2718
2719         [Qt] Speed up text layouting
2720         https://bugs.webkit.org/show_bug.cgi?id=31719
2721
2722         Use QFontMetrics::width() for the text width calculation instead
2723         of QTextLayout. This avoids expensive bearing calculations and the
2724         line breaking code.
2725
2726         * platform/graphics/qt/FontQt.cpp:
2727         (WebCore::Font::floatWidthForComplexText):
2728
2729 2010-04-29  Kwang Yul Seo  <skyul@company100.net>
2730
2731         Reviewed by Simon Hausmann.
2732
2733         [WINCE] Export g_stackBase with JS_EXPORTDATA
2734         https://bugs.webkit.org/show_bug.cgi?id=37437
2735
2736         Declare g_stackBase with JS_EXPORTDATA as it is imported from JavaScriptCore.
2737
2738         * platform/wince/SharedTimerWince.cpp:
2739
2740 2010-04-29  Adam Barth  <abarth@webkit.org>
2741
2742         Reviewed by Maciej Stachowiak.
2743
2744         Remove custom bindings for PopStateEvent.initPopStateEvent
2745         https://bugs.webkit.org/show_bug.cgi?id=38311
2746
2747         Our code generation of SerializedScriptValue was slightly buggy, but
2748         it's easy to fix.  Notice that the conversion to an atomic string is
2749         handled by the C++ type system and doesn't require logic in the code
2750         generator.
2751
2752         * bindings/js/JSPopStateEventCustom.cpp:
2753         * bindings/scripts/CodeGeneratorJS.pm:
2754         * bindings/scripts/CodeGeneratorV8.pm:
2755         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2756         (webkit_dom_test_obj_serialized_value):
2757         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2758         * bindings/scripts/test/JS/JSTestObj.cpp:
2759         (WebCore::):
2760         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
2761         * bindings/scripts/test/JS/JSTestObj.h:
2762         * bindings/scripts/test/ObjC/DOMTestObj.h:
2763         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2764         (-[DOMTestObj serializedValue:]):
2765         * bindings/scripts/test/TestObj.idl:
2766         * bindings/scripts/test/V8/V8TestObj.cpp:
2767         (WebCore::TestObjInternal::serializedValueCallback):
2768         (WebCore::ConfigureV8TestObjTemplate):
2769         * bindings/v8/custom/V8PopStateEventCustom.cpp:
2770         * dom/PopStateEvent.idl:
2771
2772 2010-04-29  Kent Tamura  <tkent@chromium.org>
2773
2774         Reviewed by Darin Adler.
2775
2776         Fix a bug that selection drag-and-drop doesn't work for input/textarea.
2777         https://bugs.webkit.org/show_bug.cgi?id=38175
2778
2779         The code supposed the selected region was in the destination text
2780         field. It is not true in a case of drag-and-drop.
2781
2782         Test: editing/pasteboard/drag-drop-input-textarea.html
2783
2784         * dom/InputElement.cpp:
2785         (WebCore::InputElement::handleBeforeTextInsertedEvent):
2786         * html/HTMLTextAreaElement.cpp:
2787         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
2788
2789 2010-04-29  Adam Barth  <abarth@webkit.org>
2790
2791         Reviewed by Maciej Stachowiak.
2792
2793         Remove custom bindings for NodeFilter.acceptNode
2794         https://bugs.webkit.org/show_bug.cgi?id=38309
2795
2796         This "custom" code was just an instance of the CallWith=ScriptState
2797         pattern.  Also, it looks like V8 just had a garbage implemenation that
2798         did nothing.
2799
2800         * WebCore.gypi:
2801         * bindings/js/JSNodeFilterCustom.cpp:
2802         * bindings/v8/custom/V8NodeFilterCustom.cpp: Removed.
2803         * dom/NodeFilter.idl:
2804
2805 2010-04-29  Noam Rosenthal  <noam.rosenthal@nokia.com>
2806
2807         Reviewed by Laszlo Gombos.
2808
2809         [Qt] QtWebkit doesn't link with 3D canvas
2810         https://bugs.webkit.org/show_bug.cgi?id=38299
2811
2812         Added implementation for GraphicsContext3D::isGLES2Compliant, which returns the correct value based on a Qt #define.
2813
2814         No new tests: build fix
2815
2816         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2817         (WebCore::GraphicsContext3D::isGLES2Compliant):
2818
2819 2010-04-29  Simon Hausmann  <simon.hausmann@nokia.com>
2820
2821         Reviewed by Tor Arne Vestbø.
2822
2823         [Qt] REGRESSION(r57638): tst_qwebframe::objectDeleted() fails
2824         https://bugs.webkit.org/show_bug.cgi?id=38316
2825
2826         Accessing properties of a deleted objects doesn't throw an exception
2827         anymore.
2828
2829         Continue to expose the QObject class wrapper for objects that
2830         previously existed but don't exist anymore. QtClass is safe to
2831         use with a deleted QObject.
2832
2833         * bridge/qt/qt_instance.cpp:
2834         (JSC::Bindings::QtInstance::getClass): Return null only if m_class
2835         doesn't exist yet and there's no m_object.
2836
2837 2010-04-29  Noam Rosenthal  <noam.rosenthal@nokia.com>
2838
2839         Reviewed by Simon Hausmann.
2840
2841         Reverse animations don't work in some use cases        
2842         https://bugs.webkit.org/show_bug.cgi?id=38075
2843
2844         This was due to a code path special-casing reverse animations, that became obselete when we aligned our animation code
2845         with the CA implementation. That special case code path is now a bug - and this patch removes it.
2846
2847         http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now runs the reverse
2848         animation correctly.
2849
2850         * platform/graphics/qt/GraphicsLayerQt.cpp:
2851         (WebCore::TransformAnimationQt::applyFrame):
2852
2853 2010-04-29  Jan Hanssen  <jhanssen@codeaurora.org>
2854
2855         Reviewed by Adam Barth.
2856
2857         HTMLOptionElement::ownerSelectElement() needs to consider keygen elements
2858         https://bugs.webkit.org/show_bug.cgi?id=26016
2859
2860         Patch written by Grace Kloba <klobag@gmail.com>, test fixed by me.
2861
2862         Test: fast/dom/HTMLKeygenElement/keygen-option-select.html
2863
2864         * html/HTMLOptionElement.cpp:
2865         (WebCore::HTMLOptionElement::ownerSelectElement):
2866         Make HTMLOptionElement::ownerSelectElement() consider the keygen element in addition to the current select element.
2867
2868 2010-04-29  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
2869
2870         Reviewed by Eric Seidel.
2871
2872         Add EFL-specific code to Widget.h and move the empty
2873         frameRectsChanged() definition to Widget.cpp, since the EFL port
2874         needs to override that.
2875         http://webkit.org/b/36317
2876
2877         No new tests required.
2878
2879         * WebCore.base.exp:
2880         * platform/Widget.cpp:
2881         (WebCore::Widget::frameRectsChanged):
2882         * platform/Widget.h:
2883
2884 2010-04-29  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
2885
2886         Reviewed by Simon Hausmann.
2887
2888         [Qt] GraphicsContext3DQt.cpp does not implement isGLES2Compliant() 
2889         https://bugs.webkit.org/show_bug.cgi?id=38216
2890
2891         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2892         (WebCore::GraphicsContext3D::isGLES2Compliant):
2893
2894 2010-04-29  Zhenyao Mo  <zmo@google.com>
2895
2896         Reviewed by Dimitri Glazkov.
2897
2898         Remove the unnecessary texImage2D function with Image as input in GraphicsContext3D
2899         https://bugs.webkit.org/show_bug.cgi?id=38235
2900
2901         * html/canvas/WebGLRenderingContext.cpp:
2902         (WebCore::WebGLRenderingContext::texImage2D): Add extractImageData; add a common entry point for texImage2D with image input.
2903         (WebCore::WebGLRenderingContext::texImage2DBase): Add this function as the common entry point for texImage2D.
2904         (WebCore::WebGLRenderingContext::texSubImage2D): Add extractImageData; add a common entry point for texSubImage2D with image input.
2905         (WebCore::WebGLRenderingContext::texSubImage2DBase): Add this function as the common entry point for texSubImage2D.
2906         * html/canvas/WebGLRenderingContext.h: Add tex*Image{Base/Image} function declaration.
2907         * platform/graphics/GraphicsContext3D.h: Remove tex*Image declaration with Image input.
2908         * platform/graphics/mac/GraphicsContext3DMac.cpp: Remove tex*Image implementation with Image input.
2909         (WebCore::GraphicsContext3D::texImage2D):
2910         (WebCore::GraphicsContext3D::texSubImage2D):
2911
2912 2010-04-29  Noam Rosenthal  <noam.rosenthal@nokia.com>
2913
2914         Reviewed by Simon Hausmann.
2915
2916         [Qt] GraphicsLayer: flicker when starting an animation before the previous one ended.
2917         https://bugs.webkit.org/show_bug.cgi?id=38076
2918
2919         This was due to the cude in the removeAnimations functions, which called deleteLater() without stopping the
2920         animation synchronously. The delay between the call to that function and the actual call to the animation's destructor
2921         is when the flicker occured. We fix this by calling stop() synchronously, and making sure that the value is reverted
2922         upon stop (updateState) and not upon the object's destruction.
2923
2924         http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now doesn't flicker when
2925         the animation is toggled frequently.
2926
2927         * platform/graphics/qt/GraphicsLayerQt.cpp:
2928         (WebCore::TransformAnimationQt::~TransformAnimationQt):
2929         (WebCore::TransformAnimationQt::applyFrame):
2930         (WebCore::TransformAnimationQt::updateState):
2931         (WebCore::OpacityAnimationQt::~OpacityAnimationQt):
2932         (WebCore::OpacityAnimationQt::updateState):
2933         (WebCore::GraphicsLayerQt::removeAnimationsForProperty):
2934         (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
2935
2936 2010-04-28  Luiz Agostini  <luiz.agostini@openbossa.org>
2937
2938         Reviewed by Simon Fraser.
2939
2940         Media queries empty values
2941         https://bugs.webkit.org/show_bug.cgi?id=38116
2942
2943         Adding isValid() method to MediaQueryExp to make it possible to differentiate
2944         between queries with empty values and queries with invalid values.
2945
2946         Test: fast/media/media-query-invalid-value.html
2947
2948         * css/MediaQueryEvaluator.cpp:
2949         (WebCore::MediaQueryEvaluator::eval):
2950         * css/MediaQueryExp.cpp:
2951         (WebCore::MediaQueryExp::MediaQueryExp):
2952         * css/MediaQueryExp.h:
2953         (WebCore::MediaQueryExp::isValid):
2954
2955 2010-04-28  Pavel Feldman  <pfeldman@chromium.org>
2956
2957         Reviewed by Yury Semikhatsky.
2958
2959         Web Inspector: Allow editing script resources when resource tracking is enabled.
2960
2961         https://bugs.webkit.org/show_bug.cgi?id=38269
2962
2963         * inspector/front-end/ScriptView.js:
2964         * inspector/front-end/ScriptsPanel.js:
2965         (WebInspector.ScriptsPanel.prototype.canEditScripts):
2966         (WebInspector.ScriptsPanel.prototype.editScriptSource):
2967         * inspector/front-end/SourceFrame.js:
2968         (WebInspector.SourceFrame.prototype.get textModel):
2969         * inspector/front-end/SourceView.js:
2970         (WebInspector.SourceView):
2971         (WebInspector.SourceView.prototype._addBreakpoint):
2972         (WebInspector.SourceView.prototype._editLine):
2973         (WebInspector.SourceView.prototype._editLineComplete):
2974         (WebInspector.SourceView.prototype._sourceIDForLine):
2975
2976 2010-04-25  Antonio Gomes  <tonikitoo@webkit.org>
2977
2978         Reviewed by Darin Adler.
2979
2980         Clicking a scrollbar blurs the currently focused element
2981         https://bugs.webkit.org/show_bug.cgi?id=16809
2982
2983         WebKit ports that do not use native (platform) widgets for rendering the scrollbars
2984         are currently mismatching a common behaviour of other browser vendors (including
2985         Firefox and Opera): clicking on a frame scrollbar *should not* steal focus from content.
2986         WebKit browsers based ports that do use WebCore for handling scrollbars, like QtWebKit for
2987         instance, can observe the opposite behaviour.
2988
2989         Patch fixes this behaviour by checking if current MouseDown event targets a frame scrollbar.
2990         If that is the case, it bails out and do not change focus behavior at all.
2991
2992         It is important to note that the given way this is implemented by this patch, non-frame
2993         scrollbars (e.g. a vertical scrollbar of an overflowed textareas or divs) will keep working
2994         in the same way as it works currently.
2995
2996         Tests: scrollbars/scrollbar-click-does-not-blur-content.html
2997                scrollbars/scrollbar-iframe-click-does-not-blur-content.html
2998
2999         * page/EventHandler.cpp:
3000         (WebCore::EventHandler::dispatchMouseEvent):
3001
3002 2010-04-28  Dan Bernstein  <mitz@apple.com>
3003
3004         Rubber-stamped by Maciej Stachowiak.
3005
3006         Try to fix test failures seen on the Leopard build bot after r58467
3007
3008         * platform/graphics/SimpleFontData.cpp:
3009         (WebCore::SimpleFontData::platformGlyphInit): Initialize m_zeroWidthSpaceGlyph before
3010         calling widthForGlyph(), as the latter uses the former.
3011
3012 2010-04-28  Martin Robinson  <mrobinson@webkit.org>
3013
3014         Reviewed by Gustavo Noronha.
3015
3016         [GTK] Enable DOM clipboard and drag-and-drop access
3017         https://bugs.webkit.org/show_bug.cgi?id=30623
3018
3019         Make ClipboardGtk a "live" DataTransfer object, able to modify
3020         the clipboard when setData(...) is called.
3021
3022         * platform/gtk/ClipboardGtk.cpp:
3023         (WebCore::Editor::newGeneralClipboard): Pass the GtkClipboard into the factory method.
3024         (WebCore::ClipboardGtk::ClipboardGtk): Create two separate constructors, one for DnD data and one for clipboard data.
3025         (WebCore::dataObjectTypeFromHTMLClipboardType): Added.
3026         (WebCore::ClipboardGtk::clearData): Clear the member DataObject, optionally write the clipboard.
3027         (WebCore::ClipboardGtk::clearAllData): Ditto.
3028         (WebCore::joinURIList): Added.
3029         (WebCore::ClipboardGtk::getData): Get the data from the clipboard, if possible.
3030         (WebCore::ClipboardGtk::setData): Write data to the DataObject and maybe the clipboard.
3031         (WebCore::ClipboardGtk::types): Read the clipboard/DataObject to find applicable types.
3032         (WebCore::ClipboardGtk::files): Read the clipboard/DataObject to find the files.
3033         (WebCore::ClipboardGtk::writeURL): Write to the DataObject and maybe the clipboard.
3034         (WebCore::ClipboardGtk::writeRange): Ditto.
3035         (WebCore::ClipboardGtk::writePlainText): Ditto.
3036         (WebCore::ClipboardGtk::hasData): Query the clipboard/DataObject.
3037         * platform/gtk/ClipboardGtk.h: 
3038         (WebCore::ClipboardGtk::create): Added one factory for pasteboard-backed DataObjects and one for DnD-backed objects.
3039         * platform/gtk/DataObjectGtk.cpp:
3040         (WebCore::replaceNonBreakingSpaceWithSpace): Added this helper function to clean &nbsp; from plain text.
3041         (WebCore::DataObjectGtk::markup): Actually return the range if it's set.
3042         (WebCore::DataObjectGtk::setText): Clean &nbsp; from plain text.
3043         (WebCore::DataObjectGtk::clearText): Added.
3044         (WebCore::DataObjectGtk::clearMarkup): Added.
3045         * platform/gtk/DataObjectGtk.h:
3046         (WebCore::DataObjectGtk::clearURIList): Added.
3047         (WebCore::DataObjectGtk::clearImage): Added.
3048         * platform/gtk/PasteboardHelper.cpp:
3049         (WebCore::PasteboardHelper::initializeTargetList): Added target ID's for URI list and Netscape URL targets.
3050         (WebCore::urisToKURLVector): Added.
3051         (WebCore::PasteboardHelper::getClipboardContents): Added.
3052         (WebCore::PasteboardHelper::fillSelectionData): Added logic for URI lists and Netscape URLs.
3053         (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
3054         * platform/gtk/PasteboardHelper.h: Added default argument to writeClipboardContents and new method.
3055
3056 2010-04-28  Martin Robinson  <mrobinson@webkit.org>
3057
3058         Reviewed by Gustavo Noronha.
3059
3060         [GTK] Enable DOM clipboard and drag-and-drop access
3061         https://bugs.webkit.org/show_bug.cgi?id=30623
3062
3063         Use the length of the UTF-8 markup data in bytes when filling GtkSelectionData.
3064
3065         No new tests, because pasteboard DataTransfer tests will be enabled
3066         with the completion of the GTK+ DataTransfer object.
3067
3068         * platform/gtk/PasteboardGtk.cpp:
3069         (WebCore::clipboard_get_contents_cb): Use strlen here instead of g_utf8_strlen.
3070
3071 2010-04-28  Dan Bernstein  <mitz@apple.com>
3072
3073         Reviewed by Adele Peterson.
3074
3075         More of <rdar://problem/7855777> REGRESSION: Memory usage increase caused by storing glyph bounds in GlyphMetricsMap
3076         https://bugs.webkit.org/show_bug.cgi?id=37936
3077
3078         Assigning zero width and empty bounds to the ZERO WIDTH SPACE glyph often allocates a width map
3079         page and a bounds map page for the glyph, each of which pages contains 255 unused entries. Save
3080         this space by not storing the zero width and empty bounds in the metrics maps.
3081
3082         * platform/graphics/SimpleFontData.cpp:
3083         (WebCore::SimpleFontData::SimpleFontData): Initialize m_zeroWidthSpaceGlyph.
3084         (WebCore::SimpleFontData::platformGlyphInit): Set m_zeroWidthSpaceGlyph. Don’t create entries
3085         for the ZERO WIDTH SPACE glyph in the width map and in the bounds map.
3086         * platform/graphics/SimpleFontData.h:
3087         (WebCore::SimpleFontData::boundsForGlyph): Return empty bounds for the ZERO WIDTH SPACE glyph
3088         without consulting the bounds map.
3089         (WebCore::SimpleFontData::widthForGlyph): Return zero for the ZERO WIDTH SPACE glyph without
3090         consulting the width map.
3091
3092 2010-04-28  Mark Rowe  <mrowe@apple.com>
3093
3094         Reviewed by Adele Peterson.
3095
3096         <rdar://problem/7847573> Safari welcome page logs JavaScript exception during page load
3097
3098         The Safari welcome page runs afoul of the same-origin restriction on access to stylesheet rules
3099         that was added to address <https://bugs.webkit.org/show_bug.cgi?id=20527>. To work around this we're
3100         adding a temporary site-specific quirk that relaxes this restriction for the particular cross-origin
3101         access that occurs on the Safari welcome page.
3102
3103         * css/CSSStyleSheet.cpp:
3104         (WebCore::CSSStyleSheet::cssRules):
3105
3106 2010-04-28  Mike Thole  <mthole@apple.com>
3107
3108         Reviewed by Mark Rowe.
3109
3110         Add separate exports file for symbols dependent on WTF_USE_PROTECTION_SPACE_AUTH_CALLBACK.
3111
3112         * DerivedSources.make: Updated for WebCore.ProtectionSpaceAuthCallback.exp.
3113         * WebCore.ProtectionSpaceAuthCallback.exp: Added.
3114         * WebCore.xcodeproj/project.pbxproj:
3115
3116 2010-04-28  Evan Martin  <evan@chromium.org>
3117
3118         Reviewed by David Levin.
3119
3120         [chromium] revert getFontDataForCharacters change in r58341
3121         https://bugs.webkit.org/show_bug.cgi?id=38288
3122
3123         It caused a performance regression.
3124
3125         * platform/chromium/ChromiumBridge.h:
3126         * platform/graphics/chromium/FontCacheLinux.cpp:
3127         (WebCore::FontCache::getFontDataForCharacters):
3128
3129 2010-04-28  Eric Seidel  <eric@webkit.org>
3130
3131         Unreviewed, rolling out r58441.
3132         http://trac.webkit.org/changeset/58441
3133         https://bugs.webkit.org/show_bug.cgi?id=37618
3134
3135         Broke 3 test on Qt.
3136
3137         * page/DragController.cpp:
3138         (WebCore::DragController::tryDocumentDrag):
3139         (WebCore::DragController::concludeEditDrag):
3140         * page/DragController.h:
3141         (WebCore::DragController::setDragInitiator):
3142         (WebCore::DragController::dragInitiator):
3143         (WebCore::DragController::documentUnderMouse):
3144
3145 2010-04-28  Darin Adler  <darin@apple.com>
3146
3147         Reviewed by Dan Bernstein.
3148
3149         Remove some obsolete scrolling code
3150         https://bugs.webkit.org/show_bug.cgi?id=38293
3151
3152         * page/Chrome.cpp:
3153         (WebCore::Chrome::scrollRectIntoView): Removed ScrollView* argument.
3154         * page/Chrome.h: Made scrollRectIntoView non-virtual, and removed ScrollView* argument.
3155
3156         * page/FrameView.cpp: Removed scrollRectIntoViewRecursively.
3157         * page/FrameView.h: Removed scrollRectIntoViewRecursively and made
3158         setScrollPosition non-virtual, since there is no class derived from
3159         this class, and ScrollView's setScrollPosition is non-virtual.
3160
3161         * platform/HostWindow.h: Removed scrollRectIntoView.
3162
3163         * platform/ScrollView.cpp:
3164         (WebCore::ScrollView::scrollRectIntoViewRecursively): Updated comment
3165         since I was able to do most of the tasks listed here.
3166
3167         * rendering/RenderLayer.cpp:
3168         (WebCore::RenderLayer::scrollRectToVisible): Removed 0 passed for
3169         ScrollView* argument to Chrome::scrollRectIntoView.
3170
3171 2010-04-28  Mike Thole  <mthole@apple.com>
3172
3173         Reviewed by David Kilzer.
3174
3175         Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space 
3176         can be inspected before attempting to authenticate against it
3177         https://bugs.webkit.org/show_bug.cgi?id=38271
3178
3179         * loader/EmptyClients.h:
3180         (WebCore::EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace): Added.
3181         * loader/FrameLoader.cpp:
3182         (WebCore::FrameLoader::canAuthenticateAgainstProtectionSpace): Added.
3183         * loader/FrameLoader.h:
3184         * loader/FrameLoaderClient.h:
3185         * loader/ResourceLoader.cpp:
3186         (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added.
3187         * loader/ResourceLoader.h:
3188         (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added.
3189         * platform/network/ProtectionSpace.h:
3190         (WebCore::):
3191         * platform/network/ResourceHandle.h:
3192         * platform/network/ResourceHandleClient.h:
3193         (WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpace): Added.
3194         * platform/network/mac/AuthenticationMac.mm:
3195         (WebCore::mac):
3196         Add cases for case ProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested and
3197         ProtectionSpaceAuthenticationSchemeClientCertificateRequested.  Guarded with the
3198         #if USE(PROTECTION_SPACE_AUTH_CALLBACK) as the new NSURLProtectionSpace constants don't
3199         exist prior to Mac OS X 10.6.
3200         (WebCore::core): Ditto.
3201         * platform/network/mac/ResourceHandleMac.mm:
3202         (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace): Added.
3203         (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]): Added.
3204
3205 2010-04-28  Abhishek Arya  <inferno@chromium.org>
3206
3207         Reviewed by Eric Seidel.
3208
3209         Convert m_documentUnderMouse, m_dragInitiator to RefPtr.
3210         Eliminated unused m_dragInitiator accessor to prevent dereferencing.
3211         https://bugs.webkit.org/show_bug.cgi?id=37618
3212
3213         Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
3214
3215         * page/DragController.cpp:
3216         (WebCore::DragController::tryDocumentDrag):
3217         (WebCore::DragController::concludeEditDrag):
3218         * page/DragController.h:
3219         (WebCore::DragController::draggingImageURL):
3220         (WebCore::DragController::documentUnderMouse):
3221
3222 2010-04-28  Dumitru Daniliuc  <dumi@chromium.org>
3223
3224         Unreviewed, fixing a build problem introduced by the previous patch.
3225
3226         * storage/DatabaseSync.cpp:
3227         (WebCore::DatabaseSync::openDatabaseSync):
3228
3229 2010-04-23  Dumitru Daniliuc  <dumi@chromium.org>
3230
3231         Reviewed by Jeremy Orlow.
3232
3233         Adding some required classes for the sync WebSQLDatabases API.
3234         https://bugs.webkit.org/show_bug.cgi?id=34994
3235
3236         * GNUmakefile.am:
3237         * WebCore.gypi:
3238         * WebCore.pro:
3239         * WebCore.vcproj/WebCore.vcproj:
3240         * WebCore.xcodeproj/project.pbxproj:
3241         * storage/DatabaseSync.cpp: Added.
3242         (WebCore::DatabaseSync::databaseInfoTableName):
3243         (WebCore::DatabaseSync::setIsAvailable):
3244         (WebCore::DatabaseSync::isAvailable):
3245         (WebCore::DatabaseSync::openDatabaseSync):
3246         (WebCore::DatabaseSync::DatabaseSync):
3247         (WebCore::DatabaseSync::~DatabaseSync):
3248         (WebCore::DatabaseSync::version):
3249         (WebCore::DatabaseSync::changeVersion):
3250         (WebCore::DatabaseSync::transaction):
3251         * storage/DatabaseSync.h: Added.
3252         (WebCore::DatabaseSync::databaseDebugName):
3253         * storage/SQLTransactionSync.cpp: Added.
3254         (WebCore::SQLTransactionSync::create):
3255         (WebCore::SQLTransactionSync::SQLTransactionSync):
3256         (WebCore::SQLTransactionSync::~SQLTransactionSync):
3257         (WebCore::SQLTransactionSync::executeSQL):
3258         * storage/SQLTransactionSync.h: Added.
3259         (WebCore::SQLTransactionSync::database):
3260         (WebCore::SQLTransactionSync::isReadOnly):
3261         * storage/SQLTransactionSyncCallback.h: Added.
3262         (WebCore::SQLTransactionSyncCallback::~SQLTransactionSyncCallback):
3263
3264 2010-04-28  İsmail Dönmez  <ismail@namtrac.org>
3265
3266         Reviewed by Simon Hausmann.
3267
3268         Fix compilation with QT_NO_CURSOR defined.
3269
3270         * platform/qt/QWebPageClient.h:
3271         (QWebPageClient::resetCursor):
3272         (QWebPageClient::setCursor):
3273
3274 2010-04-28  Abhishek Arya  <inferno@chromium.org>
3275
3276         Reviewed by Alexey Proskuryakov.
3277
3278         Added a check to make sure that resources from a different https origin are not cached.
3279         https://bugs.webkit.org/show_bug.cgi?id=33456
3280
3281         Test: http/tests/appcache/different-https-origin-resource-main.html
3282
3283         * loader/appcache/ManifestParser.cpp:
3284         (WebCore::parseManifest):
3285
3286 2010-04-28  Sam Weinig  <sam@webkit.org>
3287
3288         Reviewed by Mark Rowe.
3289
3290         Only set -allowable_client WebKit2 for engineering builds on SnowLeopard
3291         and later.
3292
3293         * Configurations/WebCore.xcconfig:
3294
3295 2010-04-28  Darin Adler  <darin@apple.com>
3296
3297         Reviewed by Adele Peterson.
3298
3299         REGRESSION: Autoscroll does not work in Mail messages
3300         https://bugs.webkit.org/show_bug.cgi?id=38267
3301         rdar://problem/7559799
3302
3303         Still haven't figured out a good way to test this with DumpRenderTree
3304         or with Safari. Testing has to be done with Mail for now.
3305
3306         The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another
3307         view had gotten broken in multiple ways. For some reason, a combination of bugs made it
3308         partly work until around r48064. This brings it back.
3309
3310         There were three problems:
3311
3312             1) Code in EventHandler decided there was nothing to scroll, so didn't start
3313                the autoscroll timer.
3314             2) The wrong rectangle was passed to Chrome::scrollRectIntoView.
3315             3) The Mac WebKit implementation of ChromeClient::scrollRectIntoView did incorrect
3316                coordinate conversion.
3317
3318         I verified that none of these have any effect on regression tests, or behavior in
3319         web browsers, or behavior on platforms other than Mac.
3320
3321         * page/EventHandler.cpp:
3322         (WebCore::canAutoscroll): Added. Returns true for boxes that can scroll directly
3323         and for the top level box of the top frame.
3324         (WebCore::EventHandler::handleMouseDraggedEvent): Use canAutoscroll.
3325         (WebCore::EventHandler::updateAutoscrollRenderer): Ditto.
3326
3327         * page/FrameView.cpp:
3328         (WebCore::FrameView::scrollToAnchor): Fixed comment.
3329
3330         * platform/ScrollView.cpp:
3331         (WebCore::ScrollView::scrollRectIntoViewRecursively): Put ASSERT_NOT_REACHED into this
3332         now-unused function along with some comments about removing some obsolete code.
3333
3334         * rendering/RenderLayer.cpp:
3335         (WebCore::RenderLayer::scrollRectToVisible): Removed call to scrollRectIntoViewRecursively
3336         since from the WebKit point of view this is the topmost scroll view anyway. Instead call
3337         setScrollPosition. Moved the code to call Chrome::scrollRectIntoView here since it needs
3338         to use a different rectangle anyway.
3339
3340 2010-04-21  Ojan Vafai  <ojan@chromium.org>
3341
3342         Reviewed by Adele Peterson.
3343
3344         http://trac.webkit.org/changeset/57215 caused perf/memory regressions
3345         https://bugs.webkit.org/show_bug.cgi?id=37292
3346
3347         #if out the canUseGlyphCache Changes from r57215 as they caused a 
3348         8% perf regression on Chromium's international page load tests so that
3349         the perf regression can be fixed properly without being left in the tree.
3350
3351         * platform/graphics/FontFastPath.cpp:
3352         (WebCore::Font::canUseGlyphCache):
3353
3354 2010-04-28  Beth Dakin  <bdakin@apple.com>
3355
3356         Reviewed by Darin Adler.
3357
3358         Fix for <rdar://problem/7474349>
3359
3360         Add a synchronous display mechanism for WKCACFLayerRenderer. 
3361
3362         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3363         (WebCore::WKCACFLayerRenderer::setRootContentsAndDisplay): This is 
3364         just like setRootContents(), but it calls paint() instead of 
3365         renderSoon().
3366         * platform/graphics/win/WKCACFLayerRenderer.h:
3367
3368 2010-04-28  Dmitry Titov  <dimich@chromium.org>
3369
3370         Reviewed by Geoffrey Garen.
3371
3372         REGRESSION: fast/workers/wrapper-map-gc.html crashes on Snow Leopard Release Bot
3373         https://bugs.webkit.org/show_bug.cgi?id=37554
3374
3375         The flaky fast/workers/wrapper-map-gc.html will stop being flaky.
3376
3377         * bindings/js/JSEventListener.cpp:
3378         (WebCore::JSEventListener::handleEvent):
3379         check if JS execution was terminated, as in cases of Worker.terminate() or WorkerGlobalScope.close().
3380         * bindings/js/JSWorkerContextBase.cpp:
3381         (WebCore::toJS): ASSERT the value of workerContextWrapper, it should never be 0.
3382         * bindings/js/WorkerScriptController.h:
3383         (WebCore::WorkerScriptController::workerContextWrapper): remove returning 0 if JS execution was forbidden.
3384         (WebCore::WorkerScriptController::isExecutionForbidden):
3385         * bindings/v8/WorkerScriptController.h:
3386         (WebCore::WorkerScriptController::isExecutionForbidden):
3387
3388         Add ScriptExecutionContext::isJSExecutionTerminated(), it is always 'false' for Document
3389         and 'true' for WorkerContext when script is terminated.
3390         * dom/ScriptExecutionContext.h:
3391         * dom/Document.h:
3392         (WebCore::Document::isJSExecutionTerminated):
3393         * workers/WorkerContext.cpp:
3394         (WebCore::WorkerContext::isJSExecutionTerminated):
3395         * workers/WorkerContext.h:
3396
3397 2010-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
3398
3399         Reviewed by Yury Semikhatsky.
3400
3401         WebInspector: Multiple Main Resource Content Loaded marks appear in Resource panel.
3402         https://bugs.webkit.org/show_bug.cgi?id=38270
3403
3404         * inspector/front-end/ResourcesPanel.js:
3405         (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
3406
3407 2010-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
3408
3409         Reviewed by Yury Semikhatsky.
3410
3411         WebInspector: Timeline: We can have precise urls in the EvaluateScript records.
3412         https://bugs.webkit.org/show_bug.cgi?id=38264
3413
3414         * inspector/front-end/TimelinePanel.js:
3415         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
3416         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
3417
3418 2010-04-28  Pavel Feldman  <pfeldman@chromium.org>
3419
3420         Reviewed by Timothy Hatcher.
3421
3422         Web Inspector: Linkify node and function in the event listeners panel.
3423
3424         https://bugs.webkit.org/show_bug.cgi?id=38251
3425
3426         * bindings/js/ScriptEventListener.cpp:
3427         (WebCore::eventListenerHandlerBody):
3428         (WebCore::eventListenerHandlerLocation):
3429         * bindings/js/ScriptEventListener.h:
3430         * bindings/v8/ScriptEventListener.cpp:
3431         (WebCore::eventListenerHandlerBody):
3432         (WebCore::eventListenerHandlerLocation):
3433         * bindings/v8/ScriptEventListener.h:
3434         * inspector/InspectorDOMAgent.cpp:
3435         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
3436         * inspector/front-end/ElementsPanel.js:
3437         (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
3438         (WebInspector.ElementsPanel.prototype.linkifyNodeReference.preventDefault):
3439         * inspector/front-end/EventListenersSidebarPane.js:
3440         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
3441         (WebInspector.EventListenersSidebarPane.prototype.update):
3442         ():
3443         * inspector/front-end/StylesSidebarPane.js:
3444         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
3445         * inspector/front-end/inspector.css:
3446         (.node-link):
3447
3448 2010-04-28  Julien Chaffraix  <jchaffraix@webkit.org>
3449
3450         Reviewed by Alexey Proskuryakov.
3451
3452         [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR
3453         https://bugs.webkit.org/show_bug.cgi?id=37781
3454         <rdar://problem/7905150>
3455
3456         Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html
3457                http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
3458
3459         Rolling the patch in as I could not reproduce Qt results locally.
3460
3461         * loader/DocumentThreadableLoader.cpp:
3462         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the
3463         credential from the request here to avoid forgetting to do so in the different code path.
3464         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the
3465         "Origin" header.
3466         (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have
3467         been removed so that we don't leak them. Also tweaked a comment to make it clear that
3468         the URL check has issue when credential is involved.
3469
3470 2010-04-28  Noam Rosenthal  <noam.rosenthal@nokia.com>
3471
3472         Reviewed by Kenneth Rohde Christiansen.
3473
3474         [Qt] GraphicsLayer: preserves-3d and backface visibility
3475         https://bugs.webkit.org/show_bug.cgi?id=35312
3476
3477         Implement preserves-3d by maintaining the 3D transformation heirarchy inside GraphicsLayerQt, and extrapolating
3478         the relative QTransform. When the extrapolation fails (un-invertible matrix) we ignore the transformation change.
3479
3480         WebKitSite/blog-files/3d-transforms test now work with Qt.
3481
3482         * platform/graphics/qt/GraphicsLayerQt.cpp:
3483         (WebCore::GraphicsLayerQtImpl::updateTransform):
3484         (WebCore::GraphicsLayerQtImpl::opaqueArea):
3485         (WebCore::GraphicsLayerQtImpl::boundingRect):
3486         (WebCore::GraphicsLayerQtImpl::paint):
3487         (WebCore::GraphicsLayerQtImpl::flushChanges):
3488
3489 2010-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
3490
3491         Reviewed by Yury Semikhatsky.
3492
3493         Web Inspector: View frame selector for Timeline overview panel is redesigned a bit.
3494         Now it is possible to adjust view frame by resizer bars and by click-n-drag in overview pane.
3495         https://bugs.webkit.org/show_bug.cgi?id=38251
3496
3497         * inspector/front-end/TimelineOverviewPane.js:
3498         (WebInspector.TimelineOverviewPane):
3499         (WebInspector.TimelineOverviewPane.prototype.reset):
3500         (WebInspector.TimelineOverviewPane.prototype._dragWindow):
3501         (WebInspector.TimelineOverviewPane.prototype._windowSelectorDragging):
3502         (WebInspector.TimelineOverviewPane.prototype._endWindowSelectorDragging):
3503         (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
3504         (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
3505         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
3506         (WebInspector.TimelinePanel.WindowSelector):
3507         (WebInspector.TimelinePanel.WindowSelector.prototype._createSelectorElement):
3508         (WebInspector.TimelinePanel.WindowSelector.prototype._close):
3509         (WebInspector.TimelinePanel.WindowSelector.prototype._updatePosition):
3510         * inspector/front-end/inspector.css:
3511         (#timeline-overview-grid):
3512         (.timeline-window-selector):
3513         (#timeline-overview-window):
3514         (.timeline-overview-dividers-background):
3515         (.timeline-overview-window-rulers):
3516         (.timeline-window-resizer):
3517
3518 2010-04-28  Marcus Bulach  <bulach@chromium.org>
3519
3520         Reviewed by Jeremy Orlow.
3521
3522         Reverts 58340 (https://bugs.webkit.org/show_bug.cgi?id=38158) due to regression on fast/text/international/khmer-selection.html
3523         https://bugs.webkit.org/show_bug.cgi?id=38254
3524
3525         * platform/graphics/chromium/FontLinux.cpp:
3526         (WebCore::adjustTextRenderMode):
3527         (WebCore::TextRunWalker::getTextRun):
3528         (WebCore::TextRunWalker::getNormalizedTextRun):
3529         (WebCore::TextRunWalker::setGlyphXPositions):
3530         (WebCore::glyphIndexForXPositionInScriptRun):
3531         (WebCore::Font::offsetForPositionForComplexText):
3532         (WebCore::Font::selectionRectForComplexText):
3533         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
3534         (WebCore::FontPlatformData::setupPaint):
3535         * platform/graphics/chromium/HarfbuzzSkia.cpp:
3536         (WebCore::getOutlinePoint):
3537         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
3538         (WebCore::GraphicsContext3D::getImageData):
3539         * platform/graphics/skia/GraphicsContextSkia.cpp:
3540         (WebCore::isCoordinateSkiaSafe):
3541         (WebCore::GraphicsContext::fillRect):
3542         (WebCore::GraphicsContext::strokePath):
3543         (WebCore::GraphicsContext::strokeRect):
3544
3545 2010-04-28  Andrey Kosyakov  <caseq@chromium.org>
3546
3547         Reviewed by Yury Semikhatsky.
3548
3549         Log error message to inspector console if a resource fails to load.
3550         Disable checking of mime-type consistency for failed resources.
3551         https://bugs.webkit.org/show_bug.cgi?id=37215
3552
3553         Test: http/tests/inspector/console-resource-errors.html
3554
3555         * inspector/InspectorController.cpp:
3556         (WebCore::InspectorController::didReceiveResponse):
3557         (WebCore::InspectorController::didFailLoading):
3558         * inspector/front-end/Resource.js:
3559         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
3560         * inspector/front-end/ResourcesPanel.js:
3561         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
3562
3563 2010-04-28  Yury Semikhatsky  <yurys@chromium.org>
3564
3565         Reviewed by Pavel Feldman.
3566
3567         Support pause on exceptions in v8 implementation of ScriptDebugServer.
3568
3569         https://bugs.webkit.org/show_bug.cgi?id=38205        
3570
3571         * bindings/v8/ScriptDebugServer.cpp:
3572         (WebCore::ScriptDebugServer::addListener):
3573         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
3574         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
3575         (WebCore::ScriptDebugServer::currentCallFrame):
3576         (WebCore::ScriptDebugServer::handleV8DebugMessage):
3577         (WebCore::ScriptDebugServer::dispatchDidParseSource):
3578         * bindings/v8/ScriptDebugServer.h:
3579
3580 2010-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>
3581
3582         Unreviewed, rolling out r58313.
3583         http://trac.webkit.org/changeset/58313
3584         https://bugs.webkit.org/show_bug.cgi?id=38253
3585
3586         Regression evident in pixel tests: the search icon is always
3587         clipped at the bottom. (Requested by jorlow on #webkit).
3588
3589         * rendering/RenderTextControl.cpp:
3590         (WebCore::RenderTextControl::controlClipRect):
3591         * rendering/RenderTextControl.h:
3592         (WebCore::RenderTextControl::hasControlClip):
3593         * rendering/RenderTextControlSingleLine.cpp:
3594         (WebCore::RenderTextControlSingleLine::paint):
3595         * rendering/RenderTextControlSingleLine.h:
3596
3597 2010-04-28  Justin McPherson <justin.mcpherson@nokia.com>
3598
3599         Reviewed by Simon Hausmann.
3600
3601         [Qt] Fix detection of Qt 4.7's multimedia libraries
3602
3603         QtMultimedia has been split into an additional media services library, which
3604         we're using. mediaservices depends on multimedia.
3605
3606         * WebCore.pro:
3607
3608 2010-04-28  Shinichiro Hamaji  <hamaji@chromium.org>
3609
3610         Unreviewed attempt to fix the chromium build.
3611
3612         Add layoutTestController.setPrinting()
3613         https://bugs.webkit.org/show_bug.cgi?id=37203
3614
3615         * rendering/RenderTreeAsText.cpp:
3616
3617 2010-04-27  Shinichiro Hamaji  <hamaji@chromium.org>
3618
3619         Reviewed by Darin Adler and Eric Seidel.
3620
3621         Add layoutTestController.setPrinting()
3622         https://bugs.webkit.org/show_bug.cgi?id=37203
3623
3624         Added RenderAsTextPrintingMode as a behavior of externalRepresentation.
3625
3626         Now ~PrintContext() calls end() automatically.
3627
3628         * page/PrintContext.cpp:
3629         (WebCore::PrintContext::~PrintContext):
3630         * rendering/RenderTreeAsText.cpp:
3631         (WebCore::externalRepresentation):
3632         * rendering/RenderTreeAsText.h:
3633         (WebCore::):
3634
3635 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
3636
3637         Reviewed by Eric Seidel.
3638
3639         Enhance CSS parser for Paged Media (Iteration 4)
3640         Implement page property parsing as specified at http://dev.w3.org/csswg/css3-page/#using-named-pages.
3641         https://bugs.webkit.org/show_bug.cgi?id=35853
3642
3643         * css/CSSParser.cpp:
3644         (WebCore::CSSParser::parseValue):
3645         (WebCore::CSSParser::parsePage):
3646         * css/CSSParser.h:
3647
3648 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
3649
3650         Reviewed by Dimitri Glazkov.
3651
3652         Enhance CSS parser for Paged Media (Iteration 3)
3653         Implement size parameter parsing for Paged Media.
3654         https://bugs.webkit.org/show_bug.cgi?id=35851
3655
3656         I believe size property hasn't been used so far because (1) it hasn't been properly parsed and
3657         (2) a comment in CSSComputedStyleDeclaration::getPropertyCSSValue says so.
3658         Changing the way of parsing it should not cause any regressions -- no existing tests fail because of this change.
3659
3660         * css/CSSParser.cpp:
3661         (WebCore::CSSParser::parseValue):
3662         (WebCore::CSSParser::parseSize):
3663         (WebCore::CSSParser::parseSizeParameter):
3664         * css/CSSParser.h:
3665         (WebCore::CSSParser::):
3666         * css/CSSValueKeywords.in:
3667
3668 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
3669
3670         Reviewed by Eric Seidel.
3671
3672         Enhance CSS parser for Paged Media (Iteration 2)
3673         Parse and hold paged media rules in CSSStyleSelector.
3674
3675         https://bugs.webkit.org/show_bug.cgi?id=35782
3676
3677         Test: printing/page-rule-css-text.html
3678
3679         * css/CSSGrammar.y:
3680         * css/CSSPageRule.cpp:
3681         (WebCore::CSSPageRule::CSSPageRule):
3682         (WebCore::CSSPageRule::selectorText):
3683         * css/CSSPageRule.h:
3684         (WebCore::CSSPageRule::create):
3685         (WebCore::CSSPageRule::isPageRule):
3686         * css/CSSParser.cpp:
3687         (WebCore::CSSParser::createPageRule):
3688         * css/CSSStyleRule.h:
3689         * css/CSSStyleSelector.cpp:
3690         (WebCore::CSSRuleSet::getPageRules):
3691         (WebCore::CSSRuleSet::CSSRuleSet):
3692         (WebCore::CSSRuleSet::~CSSRuleSet):
3693         (WebCore::CSSRuleSet::addPageRule):
3694         (WebCore::CSSRuleSet::addRulesFromSheet):
3695         * css/CSSStyleSelector.h:
3696         * css/StyleBase.h:
3697         (WebCore::StyleBase::isPageRule):
3698
3699 2010-04-27  Daniel Bates  <dbates@rim.com>
3700
3701         Reviewed by Oliver Hunt.
3702
3703         https://bugs.webkit.org/show_bug.cgi?id=37686
3704
3705         Fixes an issue where the canvas method strokeRect will stroke a
3706         rectangle whose dimensions are 0 when lineWidth > 1.
3707
3708         As per the definition of strokeRect in the HTML Canvas 2D Context
3709         spec. <http://www.w3.org/TR/2dcontext/#dom-context-2d-strokerect>,
3710         this method should have no effect when both the height and width
3711         are zero.
3712
3713         Tests: fast/canvas/canvas-clearRect.html
3714                fast/canvas/canvas-fillRect.html
3715
3716         * html/canvas/CanvasRenderingContext2D.cpp:
3717         (WebCore::validateRectForCanvas): Return false if height, width == 0.
3718
3719 2010-04-27  Adam Barth  <abarth@webkit.org>
3720
3721         Reviewed by Eric Seidel.
3722
3723         Remove obsolete custom bindings file
3724         https://bugs.webkit.org/show_bug.cgi?id=38223
3725
3726         We don't need these files anymore because they are empty.
3727
3728         * Android.jscbindings.mk:
3729         * GNUmakefile.am:
3730         * WebCore.pro:
3731         * WebCore.vcproj/WebCore.vcproj:
3732         * WebCore.xcodeproj/project.pbxproj:
3733         * bindings/js/JSAbstractWorkerCustom.cpp: Removed.
3734         * bindings/js/JSBindingsAllInOne.cpp:
3735         * bindings/js/JSDocumentFragmentCustom.cpp: Removed.
3736         * bindings/js/JSEventSourceCustom.cpp: Removed.
3737
3738 2010-04-27  Daniel Cheng  <dcheng@chromium.org>
3739
3740         Reviewed by Jian Li.
3741
3742         [Chromium] Filter out URLs with a file scheme from text/uri-list when dragging.
3743         https://bugs.webkit.org/show_bug.cgi?id=38227
3744
3745         Unfortunately, the simple fix of not populating the drag data with file URLs doesn't work
3746         since the default drop handling uses the drag data URL to navigate to dropped files/URLs.
3747         For now, we hack around the problem in the Chromium platform, but the proper long term
3748         solution is to change DragController::performDrag to check dragData::asFilenames().
3749
3750         No new tests.
3751
3752         * platform/chromium/ClipboardChromium.cpp:
3753         (WebCore::ClipboardChromium::getData):
3754         (WebCore::ClipboardChromium::types):
3755
3756 2010-04-27  Simon Fraser  <simon.fraser@apple.com>
3757
3758         Reviewed by the inimitable Dan Bernstein.
3759
3760         SVG as background image renders incorrectly after zooming
3761         https://bugs.webkit.org/show_bug.cgi?id=38215
3762         
3763         When doing a partial redraw of an SVGImage used as a CSS background
3764         image, we're limited to drawing the entire Frame, clipped to the dirty rect.
3765         Because of this, we need to fix up the CTM so that the origin is at the
3766         top left of the unclipped image, rather than the top left of the
3767         portion being redrawn.
3768
3769         Test: fast/images/svg-background-partial-redraw.html
3770
3771         * svg/graphics/SVGImage.cpp:
3772         (WebCore::SVGImage::draw):
3773
3774 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
3775
3776         Reviewed by David Hyatt.
3777
3778         Retry of: Enhance CSS parser for Paged Media (Iteration 1)
3779
3780         In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined.
3781         The contents of the methods should be implemented by other changes.
3782
3783         https://bugs.webkit.org/show_bug.cgi?id=35329
3784
3785         Test: fast/css/parsing-page-rule.html
3786
3787         * css/CSSGrammar.y:
3788         * css/CSSParser.cpp:
3789         (WebCore::CSSParser::CSSParser):
3790         (WebCore::CSSParser::clearProperties):
3791         (WebCore::CSSParser::createPageRule):
3792         (WebCore::CSSParser::createMarginAtRule):
3793         (WebCore::CSSParser::startDeclarationsForMarginBox):
3794         (WebCore::CSSParser::endDeclarationsForMarginBox):
3795         * css/CSSParser.h:
3796         * css/CSSSelector.cpp:
3797         (WebCore::CSSSelector::pseudoId):
3798         (WebCore::nameToPseudoTypeMap):
3799         (WebCore::CSSSelector::extractPseudoType):
3800         * css/CSSSelector.h:
3801         (WebCore::CSSSelector::):
3802         * css/tokenizer.flex:
3803
3804 2010-04-27  Julien Chaffraix  <jchaffraix@webkit.org>
3805
3806         Unreviewed, rolling out my changes as it rendered the Qt bot unreliable.
3807
3808         * loader/DocumentThreadableLoader.cpp:
3809         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
3810         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
3811         (WebCore::DocumentThreadableLoader::loadRequest):
3812
3813 2010-04-27  Julien Chaffraix  <jchaffraix@webkit.org>
3814
3815         Reviewed by Alexey Proskuryakov.
3816
3817         [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR
3818         https://bugs.webkit.org/show_bug.cgi?id=37781
3819         <rdar://problem/7905150>
3820
3821         Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html
3822                http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
3823
3824         * loader/DocumentThreadableLoader.cpp:
3825         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the
3826         credential from the request here to avoid forgetting to do so in the different code path.
3827         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the
3828         "Origin" header.
3829         (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have
3830         been removed so that we don't leak them. Also tweaked a comment to make it clear that
3831         the URL check has issue when credential is involved.
3832
3833 2010-04-27  Sam Weinig  <sam@webkit.org>
3834
3835         Reviewed by Maciej Stachowiak.
3836
3837         Fix for https://bugs.webkit.org/show_bug.cgi?id=38238
3838         Allow both WebKit and WebKit2 to link to the same WebCore.framework
3839
3840         * Configurations/WebCore.xcconfig: Use -allowable_client WebKit2 to add
3841         WebKit2 to the list of frameworks that can link directly to WebCore. It
3842         is not necessary for it to be an umbrella since we don't need to reexport
3843         any symbols.
3844
3845 2010-04-27  Dumitru Daniliuc  <dumi@chromium.org>
3846
3847         Reviewed by David Levin.
3848
3849         Turn on AUTO_VACUUM = INCREMENTAL for all HTML5 databases.
3850         https://bugs.webkit.org/show_bug.cgi?id=38191
3851
3852         Vacuum all databases when the number of free pages is at least 10%
3853         of the number of total pages. Also, add a guard against a bug that
3854         was fixed in SQLite only starting with version 3.6.16.
3855
3856         * platform/sql/SQLiteDatabase.cpp:
3857         (WebCore::SQLiteDatabase::maximumSize):
3858         (WebCore::SQLiteDatabase::freeSpaceSize):
3859         (WebCore::SQLiteDatabase::totalSize):
3860         (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
3861         (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
3862         * platform/sql/SQLiteDatabase.h:
3863         (WebCore::SQLiteDatabase::):
3864         * platform/sql/SQLiteStatement.cpp:
3865         (WebCore::SQLiteStatement::prepare):
3866         (WebCore::SQLiteStatement::step):
3867         * storage/Database.cpp:
3868         (WebCore::Database::performOpenAndVerify):
3869         (WebCore::Database::incrementalVacuumIfNeeded):
3870         * storage/Database.h:
3871         * storage/SQLTransaction.cpp:
3872         (WebCore::SQLTransaction::postflightAndCommit):
3873
3874 2010-04-27  Garret Kelly  <gdk@chromium.org>
3875
3876         Reviewed by Darin Fisher.
3877
3878         Turn all of the touch event handlers into RuntimeEnabledFeatures, and
3879         modify the createEvent methond on Document so that it won't create a
3880         TouchEvent if the feature is disabled.
3881         https://bugs.webkit.org/show_bug.cgi?id=37485
3882
3883         * bindings/generic/RuntimeEnabledFeatures.cpp:
3884         * bindings/generic/RuntimeEnabledFeatures.h:
3885         (WebCore::RuntimeEnabledFeatures::touchEnabled):
3886         (WebCore::RuntimeEnabledFeatures::setTouchEnabled):
3887         (WebCore::RuntimeEnabledFeatures::ontouchstartEnabled):
3888         (WebCore::RuntimeEnabledFeatures::ontouchmoveEnabled):
3889         (WebCore::RuntimeEnabledFeatures::ontouchendEnabled):
3890         (WebCore::RuntimeEnabledFeatures::ontouchcancelEnabled):
3891         * dom/Document.cpp:
3892         (WebCore::Document::createEvent):
3893         * dom/Document.idl:
3894         * dom/Element.idl:
3895         * page/DOMWindow.idl:
3896
3897 2010-04-27  Jens Alfke  <snej@chromium.org>
3898
3899         Reviewed by Darin Fisher.
3900
3901         [Chromium] Add some notifications and an accessor to WebKit API
3902         https://bugs.webkit.org/show_bug.cgi?id=37625
3903
3904         * dom/Node.cpp:
3905         (WebCore::Node::hasNonEmptyBoundingBox): New method.
3906         * dom/Node.h:
3907         * html/HTMLAnchorElement.cpp:
3908         (WebCore::HTMLAnchorElement::isKeyboardFocusable): Moved part of method into new Node method
3909
3910 2010-04-27  Jochen Eisinger  <jochen@chromium.org>
3911
3912         Reviewed by Shinichiro Hamaji.
3913
3914         Fix gyp build on Mac OS X with enable_svg=0.
3915         https://bugs.webkit.org/show_bug.cgi?id=38192
3916
3917         * WebCore.gyp/WebCore.gyp: Only generate SVG symbols if enable_svg!=0.
3918         * css/CSSComputedStyleDeclaration.cpp:
3919         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add missing unimplemented CSS properties to switch statement.
3920
3921 2010-04-27  Kinuko Yasuda  <kinuko@chromium.org>
3922
3923         Reviewed by Jian Li.
3924
3925         [V8] Handle OR ('|') conditional in action_derivedsourcesallinone.py
3926         https://bugs.webkit.org/show_bug.cgi?id=38207
3927
3928         No new tests.
3929
3930         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
3931
3932 2010-04-27  François Sausset  <sausset@gmail.com>
3933
3934         Reviewed by Kenneth Rohde Christiansen.
3935
3936         Implementation of the MathML mroot & msqrt elements.
3937         https://bugs.webkit.org/show_bug.cgi?id=37044
3938
3939         Test: mathml/presentation/roots.xhtml
3940
3941         * WebCore.xcodeproj/project.pbxproj:
3942         * css/mathml.css:
3943         (mroot):
3944         (mroot > * + *):
3945         (mroot > * + mrow, mroot > * + mfenced):
3946         * mathml/MathMLInlineContainerElement.cpp:
3947         (WebCore::MathMLInlineContainerElement::createRenderer):
3948         * mathml/RenderMathMLRoot.cpp: Added.
3949         (WebCore::RenderMathMLRoot::RenderMathMLRoot):
3950         (WebCore::RenderMathMLRoot::addChild):
3951         (WebCore::RenderMathMLRoot::paint):
3952         (WebCore::RenderMathMLRoot::layout):
3953         * mathml/RenderMathMLRoot.h: Added.
3954         * mathml/RenderMathMLSquareRoot.cpp: Added.
3955         (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
3956         (WebCore::RenderMathMLSquareRoot::paint):
3957         (WebCore::RenderMathMLSquareRoot::layout):
3958         * mathml/RenderMathMLSquareRoot.h: Added.
3959
3960 2010-04-27  Darin Adler  <darin@apple.com>
3961
3962         Reviewed by Maciej Stachowiak.
3963
3964         I noticed an unused forwarding header.
3965
3966         * ForwardingHeaders/runtime/PropertyMap.h: Removed.
3967
3968 2010-04-27  James Robinson  <jamesr@chromium.org>
3969
3970         Reviewed by Adam Barth.
3971
3972         Fix gcc 4.4.1 warnings on Linux in the chromium V8 bindings code.
3973         https://bugs.webkit.org/show_bug.cgi?id=38153
3974
3975         * bindings/scripts/CodeGeneratorV8.pm:
3976         * bindings/v8/V8Proxy.cpp:
3977         (WebCore::V8Proxy::callFunction):
3978
3979 2010-04-27  Eric Seidel  <eric@webkit.org>
3980
3981         Unreviewed, rolling out r58318.
3982         http://trac.webkit.org/changeset/58318
3983         https://bugs.webkit.org/show_bug.cgi?id=37215
3984
3985         Broke test on Tiger.  Might just need updated results,
3986         unclear.
3987
3988         * inspector/InspectorController.cpp:
3989         (WebCore::InspectorController::didReceiveResponse):
3990         (WebCore::InspectorController::didFailLoading):
3991         * inspector/front-end/Resource.js:
3992         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
3993         * inspector/front-end/ResourcesPanel.js:
3994         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
3995
3996 2010-04-27  Evan Martin  <evan@chromium.org>
3997
3998         Reviewed by David Levin.
3999
4000         [chromium] bold bengali text not rendered properly on Linux
4001         https://bugs.webkit.org/show_bug.cgi?id=37904
4002
4003         We must let Skia do font fallback, rather than picking a font name
4004         then handing that to Skia.  For example, if we have Bengali text and
4005         choose FreeSans + fake bold, and then later reuse the name, Skia will
4006         helpfully use FreeSansBold (which doesn't cover Bengali).
4007
4008         Test: fast/text/international/bold-bengali.html
4009
4010         * platform/graphics/chromium/FontCacheLinux.cpp:
4011         (WebCore::FontCache::getFontDataForCharacters):
4012
4013 2010-04-27  James Robinson  <jamesr@chromium.org>
4014
4015         Reviewed by Darin Adler.
4016
4017         Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files.
4018         https://bugs.webkit.org/show_bug.cgi?id=38158
4019
4020         Most of the issues are signed/unsigned mismatches, but there are a few unusued variables
4021         and functions mixed in.
4022
4023         * platform/graphics/chromium/FontLinux.cpp:
4024         (WebCore::adjustTextRenderMode):
4025         (WebCore::TextRunWalker::getTextRun):
4026         (WebCore::TextRunWalker::getNormalizedTextRun):
4027         (WebCore::TextRunWalker::setGlyphXPositions):
4028         (WebCore::glyphIndexForXPositionInScriptRun):
4029         (WebCore::Font::offsetForPositionForComplexText):
4030         (WebCore::Font::selectionRectForComplexText):
4031         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
4032         (WebCore::FontPlatformData::setupPaint):
4033         * platform/graphics/chromium/HarfbuzzSkia.cpp:
4034         (WebCore::getOutlinePoint):
4035         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
4036         (WebCore::GraphicsContext3D::getImageData):
4037         * platform/graphics/skia/GraphicsContextSkia.cpp:
4038         (WebCore::isCoordinateSkiaSafe):
4039         (WebCore::GraphicsContext::fillRect):
4040         (WebCore::GraphicsContext::strokePath):
4041         (WebCore::GraphicsContext::strokeRect):
4042
4043 2010-04-27  Jian Li  <jianli@chromium.org>
4044
4045         Reviewed by Darin Adler.
4046
4047         Sending a package file using FormData crashes WebKit on Mac.
4048         https://bugs.webkit.org/show_bug.cgi?id=37882
4049
4050         Can't add a layout test because DRT does not support generating the file name.
4051
4052         * loader/FrameLoader.cpp:
4053         (WebCore::FrameLoader::submitForm):
4054         (WebCore::FrameLoader::navigateToDifferentDocument):
4055         * platform/network/FormData.cpp:
4056         (WebCore::FormData::appendDOMFormData):
4057         * platform/network/FormData.h:
4058         * xml/XMLHttpRequest.cpp:
4059         (WebCore::XMLHttpRequest::send):
4060
4061 2010-04-27  Adam Barth  <abarth@webkit.org>
4062
4063         Reviewed by Eric Seidel.
4064
4065         Remove custom NodeIterator bindings
4066         https://bugs.webkit.org/show_bug.cgi?id=38188
4067
4068         Another example of CallWith=ScriptState.  This case shows us the right
4069         way to handle the interaction with exception codes.
4070
4071         In my previous patch, I put the exception code handling after the
4072         ScriptState exception handling.  It turns out this was a mistake
4073         (although a harmless one at the time because no IDL caused us to
4074         generate that code).  Now that we're generating both kinds of exception
4075         handling, we need to generate them in the right order.
4076
4077         * WebCore.gypi:
4078         * bindings/js/JSNodeIteratorCustom.cpp:
4079         * bindings/scripts/CodeGeneratorJS.pm:
4080         * bindings/scripts/CodeGeneratorV8.pm:
4081         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
4082         (webkit_dom_test_obj_with_script_state_void_exception):
4083         (webkit_dom_test_obj_with_script_state_obj_exception):
4084         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
4085         * bindings/scripts/test/JS/JSTestObj.cpp:
4086         (WebCore::):
4087         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
4088         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
4089         * bindings/scripts/test/JS/JSTestObj.h:
4090         * bindings/scripts/test/ObjC/DOMTestObj.h:
4091         * bindings/scripts/test/ObjC/DOMTestObj.mm:
4092         (-[DOMTestObj withScriptStateVoidException]):
4093         (-[DOMTestObj withScriptStateObjException]):
4094         * bindings/scripts/test/TestObj.idl:
4095         * bindings/scripts/test/V8/V8TestObj.cpp:
4096         (WebCore::TestObjInternal::withScriptStateVoidCallback):
4097         (WebCore::TestObjInternal::withScriptStateObjCallback):
4098         (WebCore::TestObjInternal::withScriptStateVoidExceptionCallback):
4099         (WebCore::TestObjInternal::withScriptStateObjExceptionCallback):
4100         (WebCore::):
4101         * bindings/v8/custom/V8NodeIteratorCustom.cpp: Removed.
4102         * dom/NodeIterator.idl:
4103
4104 2010-04-27  Adam Barth  <abarth@webkit.org>
4105
4106         Reviewed by Darin Adler.
4107
4108         Remove copy/paste addEventListener "custom" bindings via code generation
4109         https://bugs.webkit.org/show_bug.cgi?id=38210
4110
4111         It's somewhat lame to special case addEventListener and
4112         removeEventListener in the code generator, but it saves a large amount
4113         of boilerplate "custom" bindings code.
4114
4115         Idea shamelessly stolen from the V8 code generator.
4116
4117         This patch points to some good refactoring opportunities in
4118         CodeGeneratorJS.pm, but I'm going to hold off on those for a future
4119         patch.  By generating test coverage for the code generator, we make
4120         these future refactorings easier.
4121
4122         * bindings/js/JSAbstractWorkerCustom.cpp:
4123         * bindings/js/JSDOMApplicationCacheCustom.cpp:
4124         * bindings/js/JSDesktopNotificationsCustom.cpp:
4125         * bindings/js/JSEventSourceCustom.cpp:
4126         * bindings/js/JSMessagePortCustom.cpp:
4127         * bindings/js/JSNodeCustom.cpp:
4128         * bindings/js/JSSVGElementInstanceCustom.cpp:
4129         * bindings/js/JSWebSocketCustom.cpp:
4130         * bindings/js/JSWorkerContextCustom.cpp:
4131         * bindings/js/JSXMLHttpRequestCustom.cpp:
4132         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4133         * bindings/scripts/CodeGeneratorJS.pm:
4134         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
4135         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
4136         * bindings/scripts/test/JS/JSTestObj.cpp:
4137         (WebCore::):
4138         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
4139         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
4140         * bindings/scripts/test/JS/JSTestObj.h:
4141         * bindings/scripts/test/ObjC/DOMTestObj.h:
4142         * bindings/scripts/test/ObjC/DOMTestObj.mm:
4143         (-[DOMTestObj addEventListener:listener:useCapture:]):
4144         (-[DOMTestObj removeEventListener:listener:useCapture:]):
4145         * bindings/scripts/test/TestObj.idl:
4146         * bindings/scripts/test/V8/V8TestObj.cpp:
4147         (WebCore::TestObjInternal::addEventListenerCallback):
4148         (WebCore::TestObjInternal::removeEventListenerCallback):
4149         (WebCore::):
4150         * dom/MessagePort.idl:
4151         * dom/Node.idl:
4152         * loader/appcache/DOMApplicationCache.idl:
4153         * notifications/Notification.idl:
4154         * page/EventSource.idl:
4155         * svg/SVGElementInstance.idl:
4156         * websockets/WebSocket.idl:
4157         * workers/AbstractWorker.idl:
4158         * workers/WorkerContext.idl:
4159         * xml/XMLHttpRequest.idl:
4160         * xml/XMLHttpRequestUpload.idl:
4161
4162 2010-04-27  Sam Weinig  <sam@webkit.org>
4163
4164         Rubber-stamped by Beth Dakin.
4165
4166         Remove now unnecessary EXPERIMENTAL_SINGLE_VIEW_MODE #define.
4167
4168         * page/EventHandler.cpp:
4169         (WebCore::EventHandler::EventHandler):
4170         (WebCore::EventHandler::clearDragState):
4171         * page/EventHandler.h:
4172         * page/mac/DragControllerMac.mm:
4173         * page/mac/EventHandlerMac.mm:
4174         * platform/mac/PopupMenuMac.mm:
4175
4176 2010-04-27  Ben Murdoch  <benm@google.com>
4177
4178         Reviewed by Simon Hausmann.
4179
4180         The TouchStationary state of WebCore::PlatformTouchPoint is not handled inside the touch event handler.
4181         https://bugs.webkit.org/show_bug.cgi?id=37609
4182
4183         No new tests required, only updating documentation.
4184
4185         * page/EventHandler.cpp:
4186         (WebCore::EventHandler::handleTouchEvent): Improve the documentation for handling
4187             the TouchStationary state as a result of discussions in bug 37609.
4188
4189 2010-04-27  Simon Fraser  <simon.fraser@apple.com>
4190
4191         Reviewed by Darin Adler, Maciej Stachowiak.
4192
4193         REGRESSION (r57919): Some pages opened in background tabs don't render the first time you activate their tab
4194         https://bugs.webkit.org/show_bug.cgi?id=38183
4195
4196         Rather than sprinkle PLATFORM #ifdefs around, add a new method,
4197         RenderLayerCompositor::shouldPropagateCompositingToIFrameParent(), that indicates whether
4198         an iframe with composited content should trigger compositing mode in the enclosing document
4199         (a behavior that differs between platforms).
4200         
4201         Use this new method to determine whether to trigger a style recalc in the parent document
4202         when an iframe becomes composited.
4203         
4204         Move the code formerly in RenderView::compositingStateChanged() into RenderLayerCompositor().
4205
4206         * manual-tests/compositing/accel-comp-iframe-tab-repaint.html: Added.
4207         * manual-tests/compositing/resources/flash-frame.html: Added.
4208         * manual-tests/compositing/resources/tab-repaint-part-2.html: Added.
4209         * rendering/RenderLayerCompositor.cpp:
4210         (WebCore::RenderLayerCompositor::enableCompositingMode):
4211         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToIFrameParent):
4212         (WebCore::RenderLayerCompositor::requiresCompositingForIFrame):
4213         * rendering/RenderLayerCompositor.h:
4214         * rendering/RenderView.cpp:
4215         * rendering/RenderView.h:
4216
4217 2010-04-27  Andrey Kosyakov  <caseq@chromium.org>
4218
4219         Reviewed by Yury Semikhatsky.
4220
4221         Log error message to inspector console if a resource fails to load.
4222         Disable checking of mime-type consistency for failed resources.
4223         https://bugs.webkit.org/show_bug.cgi?id=37215
4224
4225         Test: http/tests/inspector/console-resource-errors.html
4226
4227         * inspector/InspectorController.cpp:
4228         (WebCore::InspectorController::didReceiveResponse):
4229         (WebCore::InspectorController::didFailLoading):
4230         * inspector/front-end/Resource.js:
4231         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
4232         * inspector/front-end/ResourcesPanel.js:
4233         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
4234
4235 2010-04-27  Vitaly Repeshko  <vitalyr@chromium.org>
4236
4237         Reviewed by Nate Chapin.
4238
4239         [V8] Fix XHR memory leak in GC controller.
4240         https://bugs.webkit.org/show_bug.cgi?id=38202
4241
4242         http://trac.webkit.org/changeset/55798 simplified processing of
4243         active DOM objects but introduced a subtle bug in garbage
4244         collection of XHRs. ActiveDOMObject is not a direct base class of
4245         XHR and so upcasting changes pointer identity and breaks DOM
4246         maps. This leads to forever live persistent handles to XHR that
4247         had pending activity while V8