2010-05-02 Joseph Pecoraro <joepeck@webkit.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-05-02  Joseph Pecoraro  <joepeck@webkit.org>
2
3         Reviewed by Timothy Hatcher.
4
5         Web Inspector: Old Style trimWhitespace() should be trim()
6         https://bugs.webkit.org/show_bug.cgi?id=38441
7
8         * inspector/front-end/SourceFrame.js:
9         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
10
11 2010-05-02  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
12
13         Reviewed by Simon Hausmann.
14
15         [Qt] Fix compilation with QT_NO_LINEEDIT
16         https://bugs.webkit.org/show_bug.cgi?id=38324
17
18         * platform/qt/RenderThemeQt.cpp:
19         (WebCore::RenderThemeQt::~RenderThemeQt):
20         (WebCore::RenderThemeQt::findFrameLineWidth):
21
22 2010-05-02  Pavel Feldman  <pfeldman@chromium.org>
23
24         Not reviewed: Touch inspector controller to kick windows tests.
25
26         * inspector/InspectorController.cpp:
27
28 2010-05-02  Pavel Feldman  <pfeldman@chromium.org>
29
30         Reviewed by Timothy Hatcher.
31
32         Web Inspector: IMG nodes are being added to the DOM tree late, sometimes hiding the revealed element.
33
34         https://bugs.webkit.org/show_bug.cgi?id=38432
35
36         * inspector/front-end/ElementsTreeOutline.js:
37         (WebInspector.ElementsTreeOutline.prototype._onmousemove):
38         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
39         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
40         (WebInspector.ElementsTreeElement.prototype.updateTitle):
41         (WebInspector.ElementsTreeElement.prototype._attributeHTML):
42         ():
43
44 2010-05-02  Dirk Schulze  <krit@webkit.org>
45
46         Reviewed by Nikolas Zimmermann.
47
48         SVG hkern implementation incomplete
49         https://bugs.webkit.org/show_bug.cgi?id=38407
50
51         Test: svg/text/text-hkern.svg
52
53         The current SVG hkern implementation is incomplete and partly wrong. We pass the ACID3 test
54         by accident.
55         The new implementation supports all glyph and unicode combinations that are allowed by the Spec
56         and fixes various of bugs. The parser moved from SVGFontElement to the general parsing code in
57         SVGParserUtilities.
58         Some clean-up makes the code more readable and reuseable for the upcoming vkern implementation.
59         hkern support for text on path is missing and will be added by a following patch.
60         Unicode strings of hkern elements are just parsed once and not on every glyph again anymore.
61
62         * rendering/SVGRootInlineBox.cpp:
63         (WebCore::calculateCSSKerning):
64         (WebCore::applySVGKerning):
65         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
66         * svg/SVGFontElement.cpp:
67         (WebCore::stringMatchesUnicodeRange):
68         (WebCore::stringMatchesGlyphName):
69         (WebCore::matches):
70         (WebCore::SVGFontElement::getHorizontalKerningPairForStringsAndGlyphs):
71         * svg/SVGFontElement.h:
72         * svg/SVGHKernElement.cpp:
73         (WebCore::SVGHKernElement::buildHorizontalKerningPair):
74         * svg/SVGHKernElement.h:
75         * svg/SVGParserUtilities.cpp:
76         (WebCore::parseGlyphName):
77         (WebCore::parseUnicodeRange):
78         (WebCore::parseKerningUnicodeString):
79         * svg/SVGParserUtilities.h:
80
81 2010-05-02  Pavel Feldman  <pfeldman@chromium.org>
82
83         Reviewed by Timothy Hatcher.
84
85         Web Inspector: debugger shortcuts are processed twice if source frame has focus.
86
87         https://bugs.webkit.org/show_bug.cgi?id=38431
88
89         * inspector/front-end/SourceFrame.js:
90         (WebInspector.SourceFrame):
91         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
92
93 2010-05-02  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
94
95         Reviewed by Eric Seidel.
96
97         [Qt] Build error in GraphicsContext3DQt.cpp
98         https://bugs.webkit.org/show_bug.cgi?id=38382
99
100         Removed duplicate implementation of isGLES2Compliant from
101         GraphicsContext3DQt.cpp. Removed deprecated API stuff for
102         texImage2D/texSubImage2D.
103         * platform/graphics/qt/GraphicsContext3DQt.cpp:
104
105 2010-05-02  Garret Kelly  <gdk@chromium.org>
106
107         Reviewed by David Levin.
108
109         Make the Touch RuntimeEnabledFeature disabled by default.
110         https://bugs.webkit.org/show_bug.cgi?id=38392
111
112         * bindings/generic/RuntimeEnabledFeatures.cpp: Disable the Touch feature by default.
113
114 2010-05-02  Michael Nordman  <michaeln@google.com>
115
116         Reviewed by Dmitry Titov.
117
118         Define two new ResourceRequestBase TargetTypes for worker and shared worker
119         main resources. Use the new target types where appropiate. Add logic to marshal
120         the target type specified by requests initiated on a background worker thread.
121
122         https://bugs.webkit.org/show_bug.cgi?id=38295
123
124         No new tests. This doesn't have script visible artifacts.
125
126         * platform/network/ResourceRequestBase.cpp: marshal the values
127         (WebCore::ResourceRequestBase::adopt):
128         (WebCore::ResourceRequestBase::copyData):
129         * platform/network/ResourceRequestBase.h:  define the types
130         (WebCore::ResourceRequestBase::):
131         * workers/DefaultSharedWorkerRepository.cpp: use TargetIsSharedWorker
132         (WebCore::SharedWorkerScriptLoader::load):
133         * workers/Worker.cpp: use TargetIsWorker
134         (WebCore::Worker::Worker):
135         * workers/WorkerContext.cpp: use TargetIsScript for importScripts
136         (WebCore::WorkerContext::importScripts):
137         * workers/WorkerScriptLoader.cpp: add a data member for the target type
138         (WebCore::WorkerScriptLoader::WorkerScriptLoader):
139         (WebCore::WorkerScriptLoader::createResourceRequest):
140         * workers/WorkerScriptLoader.h:
141
142 2010-05-02  Noam Rosenthal  <noam.rosenthal@nokia.com>
143
144         Reviewed by Adele Peterson.
145
146         Webkit doesn't compile with 3D-canvas enabled and video disabled
147         https://bugs.webkit.org/show_bug.cgi?id=38297
148
149         Added a #ifdef ENABLE(VIDEO) to WebGL code
150
151         No new tests: compile fix.
152
153         * bindings/js/JSWebGLRenderingContextCustom.cpp:
154         (WebCore::JSWebGLRenderingContext::texImage2D):
155         (WebCore::JSWebGLRenderingContext::texSubImage2D):
156
157 2010-05-01  Evan Stade  <estade@chromium.org>
158
159         Reviewed by David Levin.
160
161         [chromium] Skia needs to fade DragImages
162         https://bugs.webkit.org/show_bug.cgi?id=38008
163
164         tested by DragImageTest
165
166         * platform/chromium/DragImageChromiumSkia.cpp:
167         (WebCore::dissolveDragImageToFraction):implement
168         (WebCore::createDragImageFromImage):deep copy instead of shallow
169
170 2010-05-01  Maciej Stachowiak  <mjs@apple.com>
171
172         Reviewed by Sam Weinig.
173
174         REGRESSION (r58273): Visited links do not change color immediately when Cmd-clicked
175         https://bugs.webkit.org/show_bug.cgi?id=38422
176         <rdar://problem/7921778>
177
178         Tests:
179             manual-tests/visited-link-new-window.html
180
181         * css/CSSStyleSelector.cpp:
182         (WebCore::CSSStyleSelector::initElement): Only cache the visited link state
183         when invoked as part of a helper call to styleForElement or pseudoStyleForElement,
184         to avoid caching the visited link state beyond the scope of a single style lookup.
185         (WebCore::CSSStyleSelector::styleForElement): Adjust for above change.
186         (WebCore::CSSStyleSelector::pseudoStyleForElement): Adjust for above change.
187         * css/CSSStyleSelector.h:
188         (WebCore::CSSStyleSelector::styleForElement): Change so "visited link helper mode"
189         can't accidentally be called from outside CSSStyleSelector itself.
190         (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto
191         * manual-tests/visited-link-new-window.html: Added. I could not figure out any way
192         to make an automated test that supports visited link coloring.
193
194 2010-05-01  Yael Aharon  <yael.aharon@nokia.com>
195
196         Reviewed by Darin Adler.
197
198         Move number parsing code out of HTMLInputElement.
199         https://bugs.webkit.org/show_bug.cgi?id=38203
200
201         The numebr parsing code follows HTML5 parsing rules and should be available outside of HTMLInputElement.
202         No new tests as no new functionality was introduced.
203
204         * html/HTMLInputElement.cpp:
205         * html/HTMLInputElement.h:
206         * html/HTMLParser.cpp:
207         (WebCore::serializeForNumberType):
208         (WebCore::parseToDoubleForNumberType):
209         * html/HTMLParser.h:
210         * html/StepRange.cpp:
211         (WebCore::StepRange::clampValue):
212         (WebCore::StepRange::valueFromElement):
213         * html/ValidityState.cpp:
214         (WebCore::ValidityState::typeMismatch):
215         * rendering/RenderSlider.cpp:
216         (WebCore::RenderSlider::setValueForPosition):
217
218 2010-05-01  Xan Lopez  <xlopez@igalia.com>
219
220         Reviewed by Oliver Hunt.
221
222         [GTK] GObject DOM bindings
223         https://bugs.webkit.org/show_bug.cgi?id=33590
224
225         Unify more logic to skip functions into SkipFunction, and
226         whitelist the two [Custom] methods in HTMLCollection.idl.
227
228         * bindings/scripts/CodeGeneratorGObject.pm:
229
230 2010-05-01  Robert Hogan  <robert@webkit.org>
231
232         Reviewed by Simon Hausmann.
233
234         [Qt] Add smart paste support
235
236         https://bugs.webkit.org/show_bug.cgi?id=38136
237
238         * WebCore.pro:
239         * editing/qt/SmartReplaceQt.cpp: Added.
240         (WebCore::isCharacterSmartReplaceExempt):
241         * platform/qt/PasteboardQt.cpp:
242         (WebCore::Pasteboard::writeSelection):
243         (WebCore::Pasteboard::canSmartReplace):
244
245 2010-04-30  Yoshiki Hayashi  <yhayashi@google.com>
246
247         Reviewed by Shinichiro Hamaji.
248
249         https://bugs.webkit.org/show_bug.cgi?id=38249
250         
251         Fixes an issue where border height and padding height are ignored when computing vertically shrinking flexbox's height.
252
253         Test: fast/flexbox/child-flexing.html
254
255         * rendering/RenderFlexibleBox.cpp:
256         (WebCore::RenderFlexibleBox::allowedChildFlex):
257
258 2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>
259
260         Reviewed by Darin Adler.
261
262         Add layoutTestController.setPrinting()
263         https://bugs.webkit.org/show_bug.cgi?id=37203
264
265         Use the renderer's width insteead of screen's width as the width of
266         a screen depends on machines.
267
268         * rendering/RenderTreeAsText.cpp:
269         (WebCore::externalRepresentation):
270
271 2010-04-30  Joseph Pecoraro  <joepeck@webkit.org>
272
273         Reviewed by Timothy Hatcher.
274
275         Web Inspector: Missing INSPECTOR Guard in Console::lastWMLErrorMessage
276         https://bugs.webkit.org/show_bug.cgi?id=38366
277
278         Console::lastWMLErrorMessage is only available if WML is enabled, however
279         its implementation only makes sense as long as INSPECTOR is enabled
280         as well. So this adds the ENABLE(INSPECTOR) guard in the function. A
281         browser without ENABLE(INSPECTOR) will always get an empty result.
282
283         * page/Console.cpp:
284
285 2010-04-28  Joseph Pecoraro  <joepeck@webkit.org>
286
287         Reviewed by Oliver Hunt.
288
289         REGRESSION(r58313): Regression evident in pixel tests: the search icon is always clipped at the bottom.
290         https://bugs.webkit.org/show_bug.cgi?id=38253
291
292         Test: fast/css/input-search-padding.html
293
294         An <input type="search"> contains an inner block, which is explicitly
295         centered in RenderTextControlSingleLine based on the height of the element.
296         However, the clipping rect was not using the set location, and instead
297         calculated off of the top border and padding alone. This also vertically
298         centers the Caps Lock indicator.
299
300         * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine
301         * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect
302         * rendering/RenderTextControlSingleLine.cpp:
303         (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator
304         (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead
305         * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search">
306
307 2010-04-30  Jon Honeycutt  <jhoneycutt@apple.com>
308
309         Caret may fail to blink if a focus handler brings up a modal dialog 
310         https://bugs.webkit.org/show_bug.cgi?id=38372
311
312         Reviewed by Darin Adler.
313
314         * manual-tests/onfocus-alert-blinking-caret.html: Added.
315
316         * page/EventHandler.cpp:
317         (WebCore::EventHandler::handleMousePressEvent):
318         Moved the call to setCaretBlinkingSuspended() from here...
319         (WebCore::EventHandler::handleMousePressEvent):
320         ... to here. This makes us suspend caret blinking before dispatching the
321         mouse down event. If dispatching the mouse down event allows the message
322         loop to run, we want mouse up events received in that message loop to be
323         able to resume caret blinking.
324         (WebCore::EventHandler::lostMouseCapture):
325         We've lost mouse capture and won't be notified of mouse up events;
326         resume caret blinking.
327
328         * page/EventHandler.h:
329         Declare lostMouseCapture().
330
331 2010-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
332
333         Unreviewed, build fix.
334
335         [Chromium] Added a simple IdentifierRep struct and removed dependency on
336         IdentifierRep.h.
337
338         * bindings/v8/V8NPObject.cpp: Added simple IdentifierRep struct.
339
340 2010-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
341
342         Unreviewed, build fix.
343
344         [Chromium] Remove bridge/ from include paths.
345
346         * WebCore.gyp/WebCore.gyp: Removed bridge/ from include path.
347
348 2010-04-30  Abhishek Arya  <inferno@chromium.org>
349
350         Reviewed by David Kilzer.
351
352         Convert m_documentUnderMouse, m_dragInitiator to RefPtr.
353         Eliminated unused m_dragInitiator accessor to prevent dereferencing.
354         https://bugs.webkit.org/show_bug.cgi?id=37618
355
356         Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
357
358         * page/DragController.cpp:
359         (WebCore::DragController::tryDocumentDrag):
360         (WebCore::DragController::concludeEditDrag):
361         * page/DragController.h:
362         (WebCore::DragController::draggingImageURL):
363         (WebCore::DragController::documentUnderMouse):
364
365 2010-04-29  James Robinson  <jamesr@chromium.org>
366
367         Reviewed by Simon Fraser.
368
369         Calls FrameView::scrollPositionChanged whenever a ScrollView is scrolled
370         https://bugs.webkit.org/show_bug.cgi?id=38286
371
372         When a ScrollView's  scroll position is changed, we have to call
373         FrameView::scrollPositionChanged to generate repaint invalidation for
374         fixed position elements.  This ends up getting called indirectly when
375         the ScrollView has a platformWidget through the port layer
376         (see WebHTMLView.mm's _frameOrBoundsChanged method for how the mac
377         port does it) but not when there is no platformWidget.
378
379         This is tested by the fast/repaint/fixed-* tests when run in pixel
380         mode.
381
382         Test: fast/repaint/fixed-move-after-keyboard-scroll.html
383
384         * page/FrameView.h:
385         * platform/ScrollView.cpp:
386         (WebCore::ScrollView::valueChanged):
387         * platform/ScrollView.h:
388         (WebCore::ScrollView::scrollPositionChanged):
389
390 2010-04-30  Anders Carlsson  <andersca@apple.com>
391
392         Reviewed by Darin Adler.
393
394         Use C99 integer types in more places.
395
396         * manual-tests/NPN_Invoke/main.c:
397         (NPP_New):
398         (NPP_NewStream):
399         (NPP_WriteReady):
400         (NPP_Write):
401         (NPP_HandleEvent):
402         (functionPointerForTVector):
403         * plugins/mac/PluginViewMac.cpp:
404         (WebCore::PluginView::platformGetValueStatic):
405         (WebCore::PluginView::handlePostReadFile):
406
407 2010-04-30  Darin Adler  <darin@apple.com>
408
409         Reviewed by Oliver Hunt.
410
411         Remove unused scrollRectIntoViewRecursively function
412         https://bugs.webkit.org/show_bug.cgi?id=38403
413
414         * page/Chrome.cpp:
415         (WebCore::Chrome::scrollRectIntoView): Moved comment here that was previously
416         in the scrollRectIntoViewRecursively function.
417
418         * platform/ScrollView.cpp: Get rid scrollRectIntoViewRecursively.
419         * platform/ScrollView.h: Ditto. Fix comment that refers to the two functions.
420         Also correct all uses of the term "method" to use the C++ term "function" and
421         got rid of double spaces after periods.
422
423 2010-04-30  Anders Carlsson  <andersca@apple.com>
424
425         Another Qt build fix.
426
427         * plugins/qt/PluginViewQt.cpp:
428         (WebCore::PluginView::platformGetValueStatic):
429
430 2010-04-30  Anders Carlsson  <andersca@apple.com>
431
432         Add back TRUE, FALSE and NULL macros. They were not meant to be removed!
433
434         * bridge/npapi.h:
435
436 2010-04-30  Anders Carlsson  <andersca@apple.com>
437
438         Try to fix the Qt build this time.
439
440         * plugins/qt/PluginPackageQt.cpp:
441         (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue):
442         (WebCore::PluginPackage::NPVersion):
443
444 2010-04-30  Anders Carlsson  <andersca@apple.com>
445
446         Yet another build fix.
447
448         * plugins/gtk/PluginPackageGtk.cpp:
449         (WebCore::PluginPackage::NPVersion):
450
451 2010-04-30  Anders Carlsson  <andersca@apple.com>
452
453         Fix build.
454
455         * bridge/npapi.h:
456
457 2010-04-30  Jian Li  <jianli@chromium.org>
458
459         Reviewed by Darin Fisher.
460
461         [chromium] Add WebFileSystem interface and hook up with all FileSystem methods.
462         https://bugs.webkit.org/show_bug.cgi?id=38228
463
464         * platform/chromium/ChromiumBridge.h:
465         * platform/chromium/FileSystemChromium.cpp:
466         (WebCore::openFile):
467         (WebCore::closeFile):
468         (WebCore::seekFile):
469         (WebCore::truncateFile):
470         (WebCore::readFromFile):
471         (WebCore::writeToFile):
472
473 2010-04-30  Anders Carlsson  <andersca@apple.com>
474
475         Reviewed by Dan Bernstein.
476
477         Final part of 
478         
479         https://bugs.webkit.org/show_bug.cgi?id=20784
480         move npapi.h to C99 integer types
481
482         * bridge/npapi.h:
483         Remove the old types.
484
485 2010-04-30  Sheriff Bot  <webkit.review.bot@gmail.com>
486
487         Unreviewed, rolling out r58569.
488         http://trac.webkit.org/changeset/58569
489         https://bugs.webkit.org/show_bug.cgi?id=38399
490
491         This broke the GTK bots due to bad GC behavior (Requested by
492         ericu on #webkit).
493
494         * bindings/js/JSWorkerContextCustom.cpp:
495         * bindings/v8/custom/V8WorkerContextCustom.cpp:
496         * storage/Database.idl:
497         * storage/SQLError.idl:
498         * storage/SQLResultSet.idl:
499         * storage/SQLResultSetRowList.idl:
500         * storage/SQLTransaction.idl:
501         * workers/WorkerContext.cpp:
502         (WebCore::WorkerContext::openDatabase):
503         * workers/WorkerContext.h:
504         (WebCore::WorkerContext::databaseExceededQuota):
505         * workers/WorkerContext.idl:
506
507 2010-04-30  Anders Carlsson  <andersca@apple.com>
508
509         Fix GTK+ build.
510
511         * plugins/gtk/PluginViewGtk.cpp:
512         (WebCore::PluginView::handlePostReadFile):
513         (WebCore::PluginView::platformGetValueStatic):
514
515 2010-04-30  Anders Carlsson  <andersca@apple.com>
516
517         Fix Qt build.
518
519         * plugins/qt/PluginViewQt.cpp:
520         (WebCore::PluginView::handlePostReadFile):
521         (WebCore::PluginView::platformGetValue):
522
523 2010-04-30  Anders Carlsson  <andersca@apple.com>
524
525         Reviewed by Timothy Hatcher.
526
527         Next step towards fixing
528         
529         https://bugs.webkit.org/show_bug.cgi?id=20784
530         move npapi.h to C99 integer types
531
532         Use the C99 types everywhere. The "old" types are still around but will be removed
533         in a subsequent commit.
534
535         * bridge/npapi.h:
536         (_NPCocoaEvent::):
537         * plugins/PluginPackage.h:
538         * plugins/PluginStream.cpp:
539         (WebCore::PluginStream::deliverData):
540         * plugins/PluginStream.h:
541         * plugins/PluginView.cpp:
542         (WebCore::PluginView::postURLNotify):
543         (WebCore::PluginView::postURL):
544         (WebCore::PluginView::write):
545         (WebCore::PluginView::handlePost):
546         * plugins/PluginView.h:
547         * plugins/PluginViewNone.cpp:
548         (WebCore::PluginView::handlePostReadFile):
549         * plugins/npapi.cpp:
550         (NPN_MemAlloc):
551         (NPN_MemFlush):
552         (NPN_PostURLNotify):
553         (NPN_PostURL):
554         (NPN_Write):
555         * plugins/npfunctions.h:
556         * plugins/win/PluginPackageWin.cpp:
557         (WebCore::PluginPackage::NPVersion):
558         * plugins/win/PluginViewWin.cpp:
559         (WebCore::PluginView::handlePostReadFile):
560
561 2010-04-30  Peter Kasting  <pkasting@google.com>
562
563         Reviewed by David Levin.
564
565         Make all image decoders set the "failed" bit if an image could not be
566         completely decoded, but no more data is coming.  The ICO and BMP
567         decoders already did this.
568         https://bugs.webkit.org/show_bug.cgi?id=35411
569
570         "Failed" does not cause the image to not be displayed, it simply causes
571         us to not bother to try to decode again if future requests are made, and
572         for some decoders, lets the decoder clean up some of its temporary
573         objects.
574
575         No layout tests because this does not change the visible output of decoding in any way.
576
577         * platform/image-decoders/gif/GIFImageDecoder.cpp:
578         (WebCore::GIFImageDecoder::frameComplete): Return whether the frame could be marked as complete.
579         (WebCore::GIFImageDecoder::decode): Fail if read() needs more data (and thus returns false) and no more is coming.
580         * platform/image-decoders/gif/GIFImageDecoder.h:
581         * platform/image-decoders/gif/GIFImageReader.cpp:
582         (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.
583         (GIFImageReader::read): Ditto.
584         * platform/image-decoders/gif/GIFImageReader.h:
585         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
586         (WebCore::):
587         (WebCore::JPEGImageReader::decode): See do_lzw() comment above.
588         (WebCore::JPEGImageDecoder::decode): Fail if decode() needs more data (and thus returns false) and no more is coming.
589         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
590         * platform/image-decoders/png/PNGImageDecoder.cpp:
591         (WebCore::PNGImageReader::decode): Return true for decode success, false for buffer underrun or decode failure, and set the failure flag on decode failure.
592         (WebCore::PNGImageDecoder::decode): See JPEGImageDecoder::decode() comment above.
593         * platform/image-decoders/png/PNGImageDecoder.h:
594
595 2010-04-30  Brady Eidson  <beidson@apple.com>
596
597         Reviewed by Eric Carlson.
598
599         <rdar://problem/7902467> - Audio plays upon loading of npr.org but shouldn't
600
601         No new tests. (Currently no way to test such site specific hack behavior)
602
603         * html/HTMLMediaElement.cpp:
604         (WebCore::HTMLMediaElement::HTMLMediaElement):
605         (WebCore::HTMLMediaElement::asyncEventTimerFired): If the event to be dispatched is the canplay
606           event, wrap the dispatch with m_dispatchingCanPlayEvent set.
607         (WebCore::HTMLMediaElement::play): If m_dispatchingCanPlayEvent is true and the site is npr.org, 
608           don't perform the play().
609         * html/HTMLMediaElement.h: Add m_dispatchingCanPlayEvent member.
610
611 2010-04-30  Dan Bernstein  <mitz@apple.com>
612
613         Reviewed by Adele Peterson.
614
615         Part of <rdar://problem/6649734> Text repainting does not account for glyphs which draw outside the typographic bounds of the font
616         https://bugs.webkit.org/show_bug.cgi?id=6274
617
618         Account for glyph overflow of characters in the range U+1E00..U+2000, but without sending them
619         through the complex text code path. Instead, introduce a variant of the fast path that tracks
620         glyph overflow.
621
622         * platform/graphics/Font.cpp:
623         (WebCore::Font::drawText): Use codePath().
624         (WebCore::Font::floatWidth): Use codePath(). Pass the GlyphOverflow pointer through to
625         floatWidthForSimpleText() if the code path is SimpleWithGlyphOverflow.
626         (WebCore::Font::selectionRectForText): Use codePath().
627         (WebCore::Font::offsetForPosition): Ditto.
628         * platform/graphics/Font.h: Replaced canUseGlyphCache() with codePath(). Added a GlyphOverflow
629         parameter to floatWidthForSimpleText().
630         * platform/graphics/FontFastPath.cpp:
631         Removed ROMAN_AND_GREEK_DIACRITICS_CAN_USE_GLYPH_CACHE.
632         (WebCore::Font::codePath): Renamed canUseGlyphCache() to this. Where it used to return false,
633         it now returns Complex. Where it used to return true, it now returns Simple, except for
634         the range U+1E00..U+2000, where it now returns SimpleWithGlyphOverflow.
635         (WebCore::Font::floatWidthForSimpleText): Added a GlyphOverflow parameter. If not 0, have the
636         width iterator account for glyph bounds, then update the GlyphOverflow accordingly.
637         * platform/graphics/WidthIterator.cpp:
638         (WebCore::WidthIterator::WidthIterator): Added boolean parameter telling the width iterator
639         whether to account for glyph bounds. Initialize m_accountForGlyphBounds accordingly. Initialize
640         m_maxGlyphBoundingBoxY, m_minGlyphBoundingBoxY, m_firstGlyphOverflow and m_lastGlyphOverflow.
641         (WebCore::WidthIterator::advance): If accounting for glyph bounds, update the above member variables.
642         * platform/graphics/WidthIterator.h:
643         (WebCore::WidthIterator::maxGlyphBoundingBoxY): Added this accessor.
644         (WebCore::WidthIterator::minGlyphBoundingBoxY): Ditto.
645         (WebCore::WidthIterator::firstGlyphOverflow): Ditto.
646         (WebCore::WidthIterator::lastGlyphOverflow): Ditto.
647
648 2010-04-30  Chris Marrin  <cmarrin@apple.com>
649
650         Reviewed by Simon Fraser.
651
652         Reversed the order of the CSSMatrix.multiply method
653         https://bugs.webkit.org/show_bug.cgi?id=38337
654
655         Test: transforms/svg-vs-css.xhtml
656
657         * css/WebKitCSSMatrix.cpp:
658         (WebCore::WebKitCSSMatrix::multiply):
659         * platform/graphics/transforms/TransformationMatrix.cpp:
660
661 2010-04-30  Kevin Ollivier  <kevino@theolliviers.com>
662
663         Unreviewed. Attempt to fix the Chromium Mac build after the last commit.
664
665         * WebCore.gypi:
666
667 2010-04-30  Kevin Ollivier  <kevino@theolliviers.com>
668
669         Reviewed by Dan Bernstein.
670
671         Allow other ports to compile ATSUI and CoreText functions in SimpleFontData for Mac.
672         https://bugs.webkit.org/show_bug.cgi?id=38334
673
674         * WebCore.xcodeproj/project.pbxproj:
675         * platform/graphics/mac/SimpleFontDataATSUI.mm: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
676         * platform/graphics/mac/SimpleFontDataCoreText.cpp: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
677         * platform/graphics/mac/SimpleFontDataMac.mm:
678
679 2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>
680
681         Reviewed by Simon Fraser.
682
683         SHOULD NEVER BE REACHED assertion loading forbes.com
684         https://bugs.webkit.org/show_bug.cgi?id=38272
685
686         Ignore page media related pseudo classes.
687
688         Test: printing/pseudo-class-outside-page.html
689
690         * css/CSSStyleSelector.cpp:
691         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
692
693 2010-04-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
694
695         Unreviewed, build fix.
696
697         Fix compiler warning "suggest parentheses around"
698
699         No new tests as there is no new functionality.
700
701         * svg/SVGAnimateElement.cpp:
702         (WebCore::SVGAnimateElement::calculateFromAndToValues):
703
704 2010-04-30  Kent Tamura  <tkent@chromium.org>
705
706         Unreviewed. Regression fix.
707
708         Revert a part of r58564 to be compatible with prior behavior
709         https://bugs.webkit.org/show_bug.cgi?id=38383
710
711         * rendering/RenderTextControlSingleLine.cpp:
712         (WebCore::RenderTextControlSingleLine::forwardEvent):
713          r58564 made a region check for the cancel button stricter, but it
714          made some tests failing on Chromium. So, relax the check again.
715
716 2010-04-29  Jeremy Orlow  <jorlow@chromium.org>
717
718         Reviewed by Darin Fisher.
719
720         Change StorageEvent.uri to StorageEvent.url to match the spec
721         https://bugs.webkit.org/show_bug.cgi?id=38331
722
723         As I mentioned in http://www.mail-archive.com/public-webapps@w3.org/msg08495.html
724         WebKit is the only one who places the document's URL in a 'uri' property
725         rather than a 'url' property.  Even though we've shipped several versions of
726         browsers with the old name, we probably should change this to comply with the
727         spec.
728
729         This stuff is covered by existing tests.
730
731         * storage/StorageEvent.cpp:
732         (WebCore::StorageEvent::create):
733         (WebCore::StorageEvent::StorageEvent):
734         (WebCore::StorageEvent::initStorageEvent):
735         * storage/StorageEvent.h:
736         (WebCore::StorageEvent::url):
737         * storage/StorageEvent.idl:
738
739 2010-04-30  Nikolas Zimmermann  <nzimmermann@rim.com>
740
741         Reviewed by Dirk Schulze.
742
743         REGRESSION: RenderPath does not handle repaints correctly anymore if bounds changed
744         https://bugs.webkit.org/show_bug.cgi?id=38385
745
746         The last SVG performance patch broke repainting if bounds of a RenderPath get smaller.
747         It would only repaint the smaller part, not the original larger bounds.
748
749         Remove all lazy calculation of the repaint rects, instead calculate object/strokeBoundingBox and repaintRectInLocalCoordinates
750         once in layout - after LayoutRepainter grabbed the initial bounds, before calling repaintAfterLayout(). We can now inline
751         all these functions, and save a lot of m_path.isEmpty() checks, which are expensive. No need to store a seperated markerBoundingBox(),
752         combine with strokeBoundingBox() -> save one FloatRect per RenderPath. Move strokeBoundingBox() from SVGRenderBase to RenderObject,
753         right next to objectBoundingBox() - to save unnecessary toSVGRenderBase() calls. Completly remove this method.
754
755         Overall this is a regression fix, a performance improvement and saves memory. Something for everyone.
756
757         Tests: svg/custom/repaint-stroke-width-changes.svg
758
759         * rendering/RenderObject.cpp: Added strokeBoundingBox() here, to avoid the toSVGRenderBase() dance.
760         (WebCore::RenderObject::strokeBoundingBox):
761         * rendering/RenderObject.h: Ditto.
762         * rendering/RenderPath.cpp:
763         (WebCore::RenderPath::RenderPath):
764         (WebCore::RenderPath::layout): Fix regression, do repainting correctly, by recalculating the boundaries, if needed, instead of nulling them.
765         (WebCore::RenderPath::paint): Cache SVGRenderStyle in local variable, remove no longer valid FIXME.
766         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Return a FloatRect, to avoid having to store the marker bounding box seperated.
767         (WebCore::RenderPath::styleWillChange): Mark boundaries as dirty.
768         (WebCore::RenderPath::updateCachedBoundaries): New function to (re-)calculate all cached boundaries, only called from layout().
769         * rendering/RenderPath.h: Rename cached rect variables to have more sensible names.
770         (WebCore::RenderPath::objectBoundingBox): Inlined, just returns the cached value - no more lazy creation. Huge speedup as this is hot code.
771         (WebCore::RenderPath::strokeBoundingBox): Ditto.
772         (WebCore::RenderPath::repaintRectInLocalCoordinates): Ditto.
773         * rendering/RenderSVGBlock.h: Remove toSVGRenderBase() method.
774         * rendering/RenderSVGImage.h: Ditto.
775         * rendering/RenderSVGInline.cpp: No need to call toSVGRenderBase() just to get the strokeBoundingBox(). Unifies code to retrieve bounding boxes.
776         (WebCore::RenderSVGInline::strokeBoundingBox):
777         * rendering/RenderSVGInline.h: Remove toSVGRenderBase() method.
778         * rendering/RenderSVGModelObject.h: Ditto.
779         * rendering/RenderSVGResourceFilter.cpp: No need to call toSVGRenderBase() anymore, just grab the strokeBoundingBox() from the RenderObject.
780         (WebCore::RenderSVGResourceFilter::applyResource):
781         * rendering/RenderSVGText.h: Remove toSVGRenderBase() method.
782         * rendering/SVGRenderSupport.h: Ditto. Remove markerBoundingBox() method, now combined with strokeBoundingBox().
783         (WebCore::SVGRenderBase::strokeBoundingBox):
784         * rendering/SVGRootInlineBox.h: Remove toSVGRenderBase() method.
785         * rendering/style/SVGRenderStyle.h: Add hasMarkers() helper method, to avoid doing unnecessary work in RenderPath.
786         (WebCore::SVGRenderStyle::hasMarkers):
787
788 2010-04-30  Eric Uhrhane  <ericu@chromium.org>
789
790         Reviewed by Dmitry Titov.
791
792         Add bindings for async DB API in Workers.
793         https://bugs.webkit.org/show_bug.cgi?id=34992
794
795         Tests: storage/change-version-handle-reuse-worker.html
796                storage/execute-sql-args-worker.html
797
798         * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
799         (WebCore::JSWorkerContext::openDatabase):
800
801         * 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.
802         (WebCore::V8WorkerContext::openDatabaseCallback):
803
804         Add NoStaticTables flags to all objects now shared with workers.
805         * storage/Database.idl:
806         * storage/SQLError.idl:
807         * storage/SQLResultSet.idl:
808         * storage/SQLResultSetRowList.idl:
809         * storage/SQLTransaction.idl:
810         
811         * workers/WorkerContext.h: Add databaseExceededQuota.
812         * workers/WorkerContext.cpp:
813         (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
814         (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
815
816         Add the IDL for the call to openDatabase.
817         * workers/WorkerContext.idl:
818
819 2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>
820
821         Reviewed by Darin Adler.
822
823         Unnecessary PrintContext::end() calls
824         https://bugs.webkit.org/show_bug.cgi?id=38247
825
826         Refactoring only, so no new tests.
827
828         * page/PrintContext.cpp:
829         (WebCore::PrintContext::pageNumberForElement):
830         (WebCore::PrintContext::numberOfPages):
831
832 2010-04-30  Kent Tamura  <tkent@chromium.org>
833
834         Reviewed by Adele Peterson.
835
836         Implement interactive behavior of spin buttons.
837         https://bugs.webkit.org/show_bug.cgi?id=35686
838
839         Introduce SpinButtonElement. It is a shadow element class for
840         spin buttons. If the upper side of the element is clicked, calls
841         HTMLInputElement::stepUpFromRenderer(1). If the lower button is
842         clicked, calls HTMLInputElement::stepUpFromRenderer(-1).
843
844         SpinButtonElement tracks the mouse pointer position, and
845         RenderTheme sets ControlStates::SpinUpState if the pointer is on
846         the upper side.
847
848         Test: platform/mac/fast/forms/input-number-click.html
849
850         * dom/Element.h:
851         (WebCore::Element::isSpinButtonElement):
852         * editing/VisibleSelection.cpp:
853         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
854          Remove an assertion. lastEditablePositionBeforePositionInRoot() can
855          return null in a case that m_end is at a shadow element (a spin button)
856          and baseRoot is another shadow element (inner text block) in the same
857          node (an INPUT element).
858         * html/HTMLInputElement.cpp:
859         (WebCore::HTMLInputElement::stepUpFromRenderer):
860         * html/HTMLInputElement.h:
861         (WebCore::HTMLInputElement::hasSpinButton):
862          Add types supporting step attribute except RANGE.
863         * rendering/RenderTextControlSingleLine.cpp:
864         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
865         (WebCore::RenderTextControlSingleLine::forwardEvent):
866         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
867         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
868         * rendering/RenderTextControlSingleLine.h:
869         * rendering/RenderTheme.cpp:
870         (WebCore::RenderTheme::controlStatesForRenderer):
871         (WebCore::RenderTheme::isSpinUpButtonPartPressed):
872         (WebCore::RenderTheme::isSpinUpButtonPartHovered):
873         * rendering/RenderTheme.h:
874         * rendering/TextControlInnerElements.cpp:
875         (WebCore::SpinButtonElement::SpinButtonElement):
876         (WebCore::SpinButtonElement::defaultEventHandler):
877         * rendering/TextControlInnerElements.h:
878         (WebCore::SpinButtonElement::isSpinButtonElement):
879         (WebCore::SpinButtonElement::isEnabledFormControl):
880         (WebCore::SpinButtonElement::onUpButton):
881
882 2010-04-30  Yael Aharon  <yael.aharon@nokia.com>
883
884         Reviewed by Kenneth Rohde Christiansen.
885
886         [Qt] Enable DOMWindow constructor for HTMLProgressElement
887         https://bugs.webkit.org/show_bug.cgi?id=38333
888
889         Add ENABLE_PROGRESS_TAG to FEATURES_DEFINES_JAVASCRIPT.
890
891         * WebCore.pri:
892
893 2010-04-30  Kent Tamura  <tkent@chromium.org>
894
895         Reviewed by Adele Peterson.
896
897         Mac implementation of outer-spin-button appearance, and anonymous
898         element generation for <input type=number>.
899         https://bugs.webkit.org/show_bug.cgi?id=32813
900
901         The implementation uses NSStepperCell. Like the other Mac
902         controls, it has only three candidates for sizes.
903
904         The editable block of an input element is shrunk, and the
905         anonymous block for a spin button is put on the right of the
906         editable block.
907
908         Tests: platform/mac/fast/forms/input-appearance-spinbutton-size.html
909                platform/mac/fast/forms/input-appearance-spinbutton.html
910
911         * dom/Element.cpp:
912         (WebCore::Element::pseudoStyleCacheIsInvalid):
913         * dom/InputElement.h:
914         (WebCore::InputElement::hasSpinButton):
915         * html/HTMLInputElement.h:
916         (WebCore::HTMLInputElement::hasSpinButton): Return true for NUMBER type.
917         * platform/mac/ThemeMac.mm:
918         (WebCore::sizeFromNSControlSize): Split the main part of sizeFromFont()
919           to this in order to use stepperControlSizeForFont() instead of
920           controlSizeForFont().
921         (WebCore::sizeFromFont): Just calls sizeFromNSControlSize() with
922           sizeFromFont(). No behavior changes.
923         (WebCore::stepperSizes): Returns sizes for mini, small, and regular.
924         (WebCore::stepperControlSizeForFont):
925           Dedicated version of controlSizeForFont().
926         (WebCore::stepper): Returns NSStepperCell object with specified settings.
927         (WebCore::paintStepper):
928         (WebCore::ThemeMac::controlSize): Support for OuterSpinButton.
929         (WebCore::ThemeMac::minimumControlSize): ditto.
930         (WebCore::ThemeMac::inflateControlPaintRect): ditto.
931         (WebCore::ThemeMac::paint): ditto.
932         * rendering/RenderBox.cpp:
933         (WebCore::RenderBox::paintBoxDecorations):
934           Move the content to paintBoxDecorationsWithSize().
935         (WebCore::RenderBox::paintBoxDecorationsWithSize):
936         * rendering/RenderBox.h: Declare paintBoxDecorationsWithSize().
937         * rendering/RenderTextControlSingleLine.cpp:
938         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
939         (WebCore::RenderTextControlSingleLine::paintBoxDecorations):
940           Call paintBoxDecorationsWithSize() with smaller width by decorationWidthRight().
941         (WebCore::RenderTextControlSingleLine::addFocusRingRects):
942           Add a rectangle of which width is smaller by decorationWidthRight().
943         (WebCore::RenderTextControlSingleLine::layout):
944           Adjust m_outerSpinButton position.
945         (WebCore::RenderTextControlSingleLine::styleDidChange):
946         (WebCore::RenderTextControlSingleLine::textBlockWidth):
947         (WebCore::RenderTextControlSingleLine::decorationWidthRight):
948         (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
949         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
950           Creates an element for m_outerSpinButton if it is needed.
951         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
952         (WebCore::RenderTextControlSingleLine::createOuterSpinButtonStyle):
953         * rendering/RenderTextControlSingleLine.h: Declare new methods and m_outerSpinButton.
954         * rendering/RenderThemeMac.mm:
955         (WebCore::RenderThemeMac::adjustRepaintRect): Support for OuterSpinButton.
956
957 2010-04-29  Adam Barth  <abarth@webkit.org>
958
959         Unreviewed.  Update JSC CodeGenerator baseline.  Not sure how I missed
960         this one earlier.
961
962         * bindings/scripts/test/JS/JSTestObj.cpp:
963         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
964
965 2010-04-29  Justin Garcia  <justin.garcia@apple.com>
966
967         Reviewed by Adele Peterson.
968
969         Need to updateLayout after typing commands too
970         https://bugs.webkit.org/show_bug.cgi?id=38352
971
972         Replaced !m_parent checks in EditCommand.cpp by the more descriptive isTopLevelCommand().
973         Move the post editing operation updateLayout() call to {un,re}appliedEditing so that text insertions,
974         which don't go through EditCommand::{un,re}apply() can benefit from it too.  No test case possible
975         since most platforms have a layout performed as a side effect of post operation selection code.
976
977         * editing/EditCommand.cpp:
978         (WebCore::EditCommand::apply):
979         (WebCore::EditCommand::unapply):
980         (WebCore::EditCommand::reapply):
981         * editing/EditCommand.h:
982         (WebCore::EditCommand::isTopLevelCommand):
983         * editing/Editor.cpp:
984         (WebCore::Editor::appliedEditing):
985         (WebCore::Editor::unappliedEditing):
986         (WebCore::Editor::reappliedEditing):
987
988 2010-04-29  Dan Bernstein  <mitz@apple.com>
989
990         Reviewed by Simon Fraser.
991
992         <rdar://problem/7918086> REGRESSION (r57820): Controller is not displayed in window when opening a MP3 file in browser window
993         https://bugs.webkit.org/show_bug.cgi?id=38350
994
995         Tests: media/audio-only-video-intrinsic-size.html
996                media/media-document-audio-size.html
997
998         * rendering/RenderVideo.cpp:
999         (WebCore::RenderVideo::RenderVideo): Until metadata is available, ignore the natural size
1000         reported by the player.
1001         (WebCore::RenderVideo::videoSizeChanged): Respect a natural size of zero if reported by the
1002         player, except in standalone media documents.
1003
1004 2010-04-29  Anders Carlsson  <andersca@apple.com>
1005
1006         Reviewed by Dan Bernstein.
1007
1008         First part of
1009         https://bugs.webkit.org/show_bug.cgi?id=20784
1010         move npapi.h to C99 integer types.
1011
1012         Add nptypes.h to the build.
1013
1014         * WebCore.xcodeproj/project.pbxproj:
1015         * bridge/npapi.h:
1016         * bridge/npruntime.h:
1017         * bridge/nptypes.h: Added.
1018
1019 2010-04-29  Xan Lopez  <xlopez@igalia.com>
1020
1021         Rubber-stamped by Adam Barth.
1022
1023         Update GObject bindings test results. We are actually moving
1024         backwards here, but we'll update them again when we figure out
1025         what broke.
1026
1027         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1028         (webkit_dom_test_obj_set_property):
1029         (webkit_dom_test_obj_get_property):
1030
1031 2010-04-29  Sam Weinig  <sam@webkit.org>
1032
1033         Reviewed by Anders Carlsson.
1034
1035         Fix for https://bugs.webkit.org/show_bug.cgi?id=38277
1036         MiniBrowser: -[WebCoreFlippedView currentEditor]: unrecognized selector
1037
1038         * platform/mac/ThemeMac.mm:
1039         (-[WebCoreFlippedView currentEditor]): Added currentEditor nil implementation.
1040
1041 2010-04-29  Adam Barth  <abarth@webkit.org>
1042
1043         Reviewed by Eric Seidel.
1044
1045         CodeGeneratorJS.pm should be consistent about castedThis versus castedThisObj
1046         https://bugs.webkit.org/show_bug.cgi?id=38338
1047
1048         Currently CodeGeneratorJS.pm uses castThis for methods and
1049         castedThisObj for attributes.  This inconsistency makes it difficult to
1050         factor common code genereration code into methods shared by both kinds
1051         of bindings.  This match aligns the names so that a future patch (e.g.,
1052         in https://bugs.webkit.org/show_bug.cgi?id=38313) can reduce copy/paste
1053         code.
1054
1055         * bindings/scripts/CodeGeneratorJS.pm:
1056         * bindings/scripts/test/JS/JSTestObj.cpp:
1057         (WebCore::setJSTestObjIntAttr):
1058         (WebCore::setJSTestObjLongLongAttr):
1059         (WebCore::setJSTestObjUnsignedLongLongAttr):
1060         (WebCore::setJSTestObjStringAttr):
1061         (WebCore::setJSTestObjTestObjAttr):
1062         (WebCore::setJSTestObjAttrWithException):
1063         (WebCore::setJSTestObjAttrWithSetterException):
1064         (WebCore::setJSTestObjAttrWithGetterException):
1065         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
1066         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
1067         (WebCore::jsTestObjPrototypeFunctionIntMethod):
1068         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
1069         (WebCore::jsTestObjPrototypeFunctionObjMethod):
1070         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
1071         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
1072         (WebCore::jsTestObjPrototypeFunctionCustomMethod):
1073         (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
1074         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
1075         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
1076         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
1077         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
1078         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
1079         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
1080         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
1081         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
1082         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
1083         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
1084         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
1085         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
1086         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
1087         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
1088         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
1089
1090 2010-04-29  Gustavo Noronha Silva  <gustavo.noronhaollabora.co.uk>
1091
1092         Reviewed by Xan Lopez.
1093
1094         [GTK] pointerCursor should use the default cursor set for the window, not GDK_LEFT_PTR
1095         https://bugs.webkit.org/show_bug.cgi?id=36963
1096
1097         Use the default cursor instead of hard-coding left pointer.
1098
1099         * platform/gtk/CursorGtk.cpp:
1100         (WebCore::Cursor::Cursor):
1101         (WebCore::pointerCursor):
1102
1103 2010-04-29  Ilya Tikhonovsky  <loislo@chromium.org>
1104
1105         Reviewed by Yury Semikhatsky.
1106
1107         WebInspector: If Timeline panel is in recording mode and is not visible and has received
1108         new events then these events do not appear in the panel when the panel becomes visible.
1109         Timeline popup may appear in the upper left window corner when you switch to another panel.
1110         https://bugs.webkit.org/show_bug.cgi?id=38322
1111
1112         * inspector/front-end/Popover.js:
1113         (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
1114         (WebInspector.PopoverHelper.prototype._mouseMove):
1115         (WebInspector.PopoverHelper.prototype.hidePopup):
1116         (WebInspector.PopoverHelper.prototype._hidePopup):
1117         * inspector/front-end/TimelinePanel.js:
1118         (WebInspector.TimelinePanel.prototype.show):
1119         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
1120         (WebInspector.TimelinePanel.prototype._refresh):
1121
1122 2010-04-29  Anton Muhin  <antonm@chromium.org>
1123
1124         Reviewed by Darin Adler.
1125
1126         Let's cache nodelists instead of DynamicNodeList::Caches
1127         https://bugs.webkit.org/show_bug.cgi?id=33696
1128
1129         Test: fast/dom/Element/node-list-identity.html
1130
1131         * bindings/js/JSNodeCustom.cpp:
1132         (WebCore::JSNode::markChildren): Mark all cached node lists as well
1133         * dom/ClassNodeList.cpp:
1134         (WebCore::ClassNodeList::ClassNodeList): Don't need DynamicNodeList::Caches argument any more
1135         (WebCore::ClassNodeList::~ClassNodeList): Remove from the cache
1136         * dom/ClassNodeList.h: Added a field with original class names to be used as a key for removal from the cache
1137         (WebCore::ClassNodeList::create): Don't need DynamicNodeList::Caches argument any more
1138         * dom/NameNodeList.cpp:
1139         (WebCore::NameNodeList::NameNodeList): Don't need DynamicNodeList::Caches argument any more
1140         (WebCore::NameNodeList::~NameNodeList): Remove from the cache
1141         * dom/NameNodeList.h:
1142         (WebCore::NameNodeList::create): Don't need DynamicNodeList::Caches argument any more
1143         * dom/Node.cpp:
1144         (WebCore::Node::removeCachedClassNodeList): Remove ClassNodeList from the cache
1145         (WebCore::Node::removeCachedNameNodeList): Remove NameNodeList from the cache
1146         (WebCore::Node::removeCachedTagNodeList): Remove TagNodeList from the cache
1147         (WebCore::Node::getElementsByTagNameNS): Switch to caching node lists themselves, not the data
1148         (WebCore::Node::getElementsByName): Switch to caching node lists themselves, not the data
1149         (WebCore::Node::getElementsByClassName): Switch to caching node lists themselves, not the data
1150         (WebCore::NodeListsNodeData::invalidateCaches): Switch to caching node lists themselves, not the data
1151         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Switch to caching node lists themselves, not the data
1152         (WebCore::NodeListsNodeData::isEmpty): Switch to caching node lists themselves, not the data
1153         (WebCore::markNodeLists): Helper to mark all the node lists in the cache
1154         (WebCore::Node::markCachedNodeListsSlow): Mark all the cached node lists if any could be present
1155         * dom/Node.h:
1156         (WebCore::Node::markCachedNodeLists): Fast-path marking of cached node lists---bails out if there is no rare data
1157         * dom/NodeRareData.h: Changed type of caches to hold raw pointers to node lists, not RefPtr's to data
1158         * dom/TagNodeList.cpp:
1159         (WebCore::TagNodeList::TagNodeList): Don't need DynamicNodeList::Caches argument any more
1160         (WebCore::TagNodeList::~TagNodeList): Remove from the cache
1161         * dom/TagNodeList.h:
1162         (WebCore::TagNodeList::create): Don't need DynamicNodeList::Caches argument any more
1163
1164 2010-04-29  Mikhail Naganov  <mnaganov@chromium.org>
1165
1166         Reviewed by Yury Semikhatsky.
1167
1168         [Chromium] Update ScriptProfileNode to retrieve execution time in milliseconds.
1169
1170         https://bugs.webkit.org/show_bug.cgi?id=38330
1171
1172         * bindings/v8/ScriptProfileNode.cpp:
1173         (WebCore::ScriptProfileNode::totalTime):
1174         (WebCore::ScriptProfileNode::selfTime):
1175
1176 2010-04-28  Dimitri Glazkov  <dglazkov@chromium.org>
1177
1178         Reviewed by Darin Adler.
1179
1180         A form without a submit button unexpectedly performs its action when Return is pressed
1181         https://bugs.webkit.org/show_bug.cgi?id=9756
1182
1183         Implemented implicit form submission algorithm as defined in HTML5 spec:
1184         http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#implicit-submission,
1185         falling back to match IE's behavior in the edge cases.
1186
1187         The underlying rules are:
1188
1189         * If the form has no enabled submit buttons, submit if Enter/Return is pressed on the only single-line text field.
1190
1191         * Otherwise, submit form using first enabled submit button if Enter/Return is pressed on a field
1192           that's not a textarea or a select.
1193
1194         Test: fast/forms/implicit-submission.html
1195
1196         * dom/SelectElement.cpp:
1197         (WebCore::SelectElement::menuListDefaultEventHandler): Ripped out implicit submission for select elements.
1198         (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto.
1199         (WebCore::SelectElement::defaultEventHandler): Ditto.
1200         * dom/SelectElement.h: Ditto.
1201         (WebCore::HTMLFormElement::submitImplicitly): Renamed submitClick to submitImplicitly to better match HTML5 spec
1202             language, changed the logic to match the rules above.
1203         * html/HTMLInputElement.cpp:
1204         (WebCore::HTMLInputElement::defaultEventHandler): Reamed clickDefaultButton to implicitSubmission to better match
1205             HTML5 spec language, made radio element to trigger implicit submission.
1206         * html/HTMLSelectElement.cpp:
1207         (WebCore::HTMLSelectElement::defaultEventHandler): Removed passing of form() as parameter, because it's no longer
1208             necessary.
1209
1210 2010-04-29  Paweł Hajdan, Jr.  <phajdan.jr@chromium.org>
1211
1212         Reviewed by Jeremy Orlow.
1213
1214         Fix building with libpng-1.4.
1215         https://bugs.webkit.org/show_bug.cgi?id=33287
1216
1217         No new tests (no behavior change).
1218
1219         Original patch by John Bowler <jbowler@acm.org>
1220
1221         * platform/image-encoders/skia/PNGImageEncoder.cpp:
1222         (WebCore::PNGImageEncoder::encode):
1223
1224 2010-04-29  Adam Langley  <agl@chromium.org>
1225
1226         Reviewed by David Levin.
1227
1228         This patch adds support for WOFF in Chromium. Since Chromium
1229         already transcodes all OpenType files for security reasons we
1230         are adding WOFF support into the transcoder.
1231
1232         https://bugs.webkit.org/show_bug.cgi?id=38217
1233
1234         * css/CSSFontFaceSrcValue.cpp:
1235         (WebCore::CSSFontFaceSrcValue::isSupportedFormat):
1236           Recognise "woff" as a font-face format value (guarded by
1237           ENABLE(OPENTYPE_SANITIZER) at this point)
1238         * platform/graphics/opentype/OpenTypeSanitizer.cpp:
1239         (WebCore::OpenTypeSanitizer::sanitize):
1240           Change so that the transcoded font can be larger than the original.
1241           (WOFF files are compressed, so the transcoded TTF is typically
1242           larger.)
1243
1244 2010-04-29  Alex Milowski  <alex@milowski.com>
1245
1246         Reviewed by Kenneth Rohde Christiansen.
1247
1248         Updates to the Qt build to enable building MathML support.
1249
1250         * WebCore.pri:
1251         * WebCore.pro:
1252
1253 2010-04-29  Xan Lopez  <xlopez@igalia.com>
1254
1255         Reviewed by Gustavo Noronha.
1256
1257         [GTK] GObject DOM bindings
1258         https://bugs.webkit.org/show_bug.cgi?id=33590
1259
1260         Do not generate unneeded boilerplate in {get,set}_property methods
1261         when there are no properties to generate code for. This gets rid
1262         of lots of compiler warnings.
1263
1264         * bindings/scripts/CodeGeneratorGObject.pm:
1265
1266 2010-04-29  Simon Hausmann  <simon.hausmann@nokia.com>
1267
1268         Reviewed by Kenneth Rohde Christiansen.
1269
1270         [Qt] Speed up text layouting
1271         https://bugs.webkit.org/show_bug.cgi?id=31719
1272
1273         Use QFontMetrics::width() for the text width calculation instead
1274         of QTextLayout. This avoids expensive bearing calculations and the
1275         line breaking code.
1276
1277         * platform/graphics/qt/FontQt.cpp:
1278         (WebCore::Font::floatWidthForComplexText):
1279
1280 2010-04-29  Kwang Yul Seo  <skyul@company100.net>
1281
1282         Reviewed by Simon Hausmann.
1283
1284         [WINCE] Export g_stackBase with JS_EXPORTDATA
1285         https://bugs.webkit.org/show_bug.cgi?id=37437
1286
1287         Declare g_stackBase with JS_EXPORTDATA as it is imported from JavaScriptCore.
1288
1289         * platform/wince/SharedTimerWince.cpp:
1290
1291 2010-04-29  Adam Barth  <abarth@webkit.org>
1292
1293         Reviewed by Maciej Stachowiak.
1294
1295         Remove custom bindings for PopStateEvent.initPopStateEvent
1296         https://bugs.webkit.org/show_bug.cgi?id=38311
1297
1298         Our code generation of SerializedScriptValue was slightly buggy, but
1299         it's easy to fix.  Notice that the conversion to an atomic string is
1300         handled by the C++ type system and doesn't require logic in the code
1301         generator.
1302
1303         * bindings/js/JSPopStateEventCustom.cpp:
1304         * bindings/scripts/CodeGeneratorJS.pm:
1305         * bindings/scripts/CodeGeneratorV8.pm:
1306         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1307         (webkit_dom_test_obj_serialized_value):
1308         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1309         * bindings/scripts/test/JS/JSTestObj.cpp:
1310         (WebCore::):
1311         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
1312         * bindings/scripts/test/JS/JSTestObj.h:
1313         * bindings/scripts/test/ObjC/DOMTestObj.h:
1314         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1315         (-[DOMTestObj serializedValue:]):
1316         * bindings/scripts/test/TestObj.idl:
1317         * bindings/scripts/test/V8/V8TestObj.cpp:
1318         (WebCore::TestObjInternal::serializedValueCallback):
1319         (WebCore::ConfigureV8TestObjTemplate):
1320         * bindings/v8/custom/V8PopStateEventCustom.cpp:
1321         * dom/PopStateEvent.idl:
1322
1323 2010-04-29  Kent Tamura  <tkent@chromium.org>
1324
1325         Reviewed by Darin Adler.
1326
1327         Fix a bug that selection drag-and-drop doesn't work for input/textarea.
1328         https://bugs.webkit.org/show_bug.cgi?id=38175
1329
1330         The code supposed the selected region was in the destination text
1331         field. It is not true in a case of drag-and-drop.
1332
1333         Test: editing/pasteboard/drag-drop-input-textarea.html
1334
1335         * dom/InputElement.cpp:
1336         (WebCore::InputElement::handleBeforeTextInsertedEvent):
1337         * html/HTMLTextAreaElement.cpp:
1338         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
1339
1340 2010-04-29  Adam Barth  <abarth@webkit.org>
1341
1342         Reviewed by Maciej Stachowiak.
1343
1344         Remove custom bindings for NodeFilter.acceptNode
1345         https://bugs.webkit.org/show_bug.cgi?id=38309
1346
1347         This "custom" code was just an instance of the CallWith=ScriptState
1348         pattern.  Also, it looks like V8 just had a garbage implemenation that
1349         did nothing.
1350
1351         * WebCore.gypi:
1352         * bindings/js/JSNodeFilterCustom.cpp:
1353         * bindings/v8/custom/V8NodeFilterCustom.cpp: Removed.
1354         * dom/NodeFilter.idl:
1355
1356 2010-04-29  Noam Rosenthal  <noam.rosenthal@nokia.com>
1357
1358         Reviewed by Laszlo Gombos.
1359
1360         [Qt] QtWebkit doesn't link with 3D canvas
1361         https://bugs.webkit.org/show_bug.cgi?id=38299
1362
1363         Added implementation for GraphicsContext3D::isGLES2Compliant, which returns the correct value based on a Qt #define.
1364
1365         No new tests: build fix
1366
1367         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1368         (WebCore::GraphicsContext3D::isGLES2Compliant):
1369
1370 2010-04-29  Simon Hausmann  <simon.hausmann@nokia.com>
1371
1372         Reviewed by Tor Arne Vestbø.
1373
1374         [Qt] REGRESSION(r57638): tst_qwebframe::objectDeleted() fails
1375         https://bugs.webkit.org/show_bug.cgi?id=38316
1376
1377         Accessing properties of a deleted objects doesn't throw an exception
1378         anymore.
1379
1380         Continue to expose the QObject class wrapper for objects that
1381         previously existed but don't exist anymore. QtClass is safe to
1382         use with a deleted QObject.
1383
1384         * bridge/qt/qt_instance.cpp:
1385         (JSC::Bindings::QtInstance::getClass): Return null only if m_class
1386         doesn't exist yet and there's no m_object.
1387
1388 2010-04-29  Noam Rosenthal  <noam.rosenthal@nokia.com>
1389
1390         Reviewed by Simon Hausmann.
1391
1392         Reverse animations don't work in some use cases        
1393         https://bugs.webkit.org/show_bug.cgi?id=38075
1394
1395         This was due to a code path special-casing reverse animations, that became obselete when we aligned our animation code
1396         with the CA implementation. That special case code path is now a bug - and this patch removes it.
1397
1398         http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now runs the reverse
1399         animation correctly.
1400
1401         * platform/graphics/qt/GraphicsLayerQt.cpp:
1402         (WebCore::TransformAnimationQt::applyFrame):
1403
1404 2010-04-29  Jan Hanssen  <jhanssen@codeaurora.org>
1405
1406         Reviewed by Adam Barth.
1407
1408         HTMLOptionElement::ownerSelectElement() needs to consider keygen elements
1409         https://bugs.webkit.org/show_bug.cgi?id=26016
1410
1411         Patch written by Grace Kloba <klobag@gmail.com>, test fixed by me.
1412
1413         Test: fast/dom/HTMLKeygenElement/keygen-option-select.html
1414
1415         * html/HTMLOptionElement.cpp:
1416         (WebCore::HTMLOptionElement::ownerSelectElement):
1417         Make HTMLOptionElement::ownerSelectElement() consider the keygen element in addition to the current select element.
1418
1419 2010-04-29  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
1420
1421         Reviewed by Eric Seidel.
1422
1423         Add EFL-specific code to Widget.h and move the empty
1424         frameRectsChanged() definition to Widget.cpp, since the EFL port
1425         needs to override that.
1426         http://webkit.org/b/36317
1427
1428         No new tests required.
1429
1430         * WebCore.base.exp:
1431         * platform/Widget.cpp:
1432         (WebCore::Widget::frameRectsChanged):
1433         * platform/Widget.h:
1434
1435 2010-04-29  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
1436
1437         Reviewed by Simon Hausmann.
1438
1439         [Qt] GraphicsContext3DQt.cpp does not implement isGLES2Compliant() 
1440         https://bugs.webkit.org/show_bug.cgi?id=38216
1441
1442         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1443         (WebCore::GraphicsContext3D::isGLES2Compliant):
1444
1445 2010-04-29  Zhenyao Mo  <zmo@google.com>
1446
1447         Reviewed by Dimitri Glazkov.
1448
1449         Remove the unnecessary texImage2D function with Image as input in GraphicsContext3D
1450         https://bugs.webkit.org/show_bug.cgi?id=38235
1451
1452         * html/canvas/WebGLRenderingContext.cpp:
1453         (WebCore::WebGLRenderingContext::texImage2D): Add extractImageData; add a common entry point for texImage2D with image input.
1454         (WebCore::WebGLRenderingContext::texImage2DBase): Add this function as the common entry point for texImage2D.
1455         (WebCore::WebGLRenderingContext::texSubImage2D): Add extractImageData; add a common entry point for texSubImage2D with image input.
1456         (WebCore::WebGLRenderingContext::texSubImage2DBase): Add this function as the common entry point for texSubImage2D.
1457         * html/canvas/WebGLRenderingContext.h: Add tex*Image{Base/Image} function declaration.
1458         * platform/graphics/GraphicsContext3D.h: Remove tex*Image declaration with Image input.
1459         * platform/graphics/mac/GraphicsContext3DMac.cpp: Remove tex*Image implementation with Image input.
1460         (WebCore::GraphicsContext3D::texImage2D):
1461         (WebCore::GraphicsContext3D::texSubImage2D):
1462
1463 2010-04-29  Noam Rosenthal  <noam.rosenthal@nokia.com>
1464
1465         Reviewed by Simon Hausmann.
1466
1467         [Qt] GraphicsLayer: flicker when starting an animation before the previous one ended.
1468         https://bugs.webkit.org/show_bug.cgi?id=38076
1469
1470         This was due to the cude in the removeAnimations functions, which called deleteLater() without stopping the
1471         animation synchronously. The delay between the call to that function and the actual call to the animation's destructor
1472         is when the flicker occured. We fix this by calling stop() synchronously, and making sure that the value is reverted
1473         upon stop (updateState) and not upon the object's destruction.
1474
1475         http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now doesn't flicker when
1476         the animation is toggled frequently.
1477
1478         * platform/graphics/qt/GraphicsLayerQt.cpp:
1479         (WebCore::TransformAnimationQt::~TransformAnimationQt):
1480         (WebCore::TransformAnimationQt::applyFrame):
1481         (WebCore::TransformAnimationQt::updateState):
1482         (WebCore::OpacityAnimationQt::~OpacityAnimationQt):
1483         (WebCore::OpacityAnimationQt::updateState):
1484         (WebCore::GraphicsLayerQt::removeAnimationsForProperty):
1485         (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
1486
1487 2010-04-28  Luiz Agostini  <luiz.agostini@openbossa.org>
1488
1489         Reviewed by Simon Fraser.
1490
1491         Media queries empty values
1492         https://bugs.webkit.org/show_bug.cgi?id=38116
1493
1494         Adding isValid() method to MediaQueryExp to make it possible to differentiate
1495         between queries with empty values and queries with invalid values.
1496
1497         Test: fast/media/media-query-invalid-value.html
1498
1499         * css/MediaQueryEvaluator.cpp:
1500         (WebCore::MediaQueryEvaluator::eval):
1501         * css/MediaQueryExp.cpp:
1502         (WebCore::MediaQueryExp::MediaQueryExp):
1503         * css/MediaQueryExp.h:
1504         (WebCore::MediaQueryExp::isValid):
1505
1506 2010-04-28  Pavel Feldman  <pfeldman@chromium.org>
1507
1508         Reviewed by Yury Semikhatsky.
1509
1510         Web Inspector: Allow editing script resources when resource tracking is enabled.
1511
1512         https://bugs.webkit.org/show_bug.cgi?id=38269
1513
1514         * inspector/front-end/ScriptView.js:
1515         * inspector/front-end/ScriptsPanel.js:
1516         (WebInspector.ScriptsPanel.prototype.canEditScripts):
1517         (WebInspector.ScriptsPanel.prototype.editScriptSource):
1518         * inspector/front-end/SourceFrame.js:
1519         (WebInspector.SourceFrame.prototype.get textModel):
1520         * inspector/front-end/SourceView.js:
1521         (WebInspector.SourceView):
1522         (WebInspector.SourceView.prototype._addBreakpoint):
1523         (WebInspector.SourceView.prototype._editLine):
1524         (WebInspector.SourceView.prototype._editLineComplete):
1525         (WebInspector.SourceView.prototype._sourceIDForLine):
1526
1527 2010-04-25  Antonio Gomes  <tonikitoo@webkit.org>
1528
1529         Reviewed by Darin Adler.
1530
1531         Clicking a scrollbar blurs the currently focused element
1532         https://bugs.webkit.org/show_bug.cgi?id=16809
1533
1534         WebKit ports that do not use native (platform) widgets for rendering the scrollbars
1535         are currently mismatching a common behaviour of other browser vendors (including
1536         Firefox and Opera): clicking on a frame scrollbar *should not* steal focus from content.
1537         WebKit browsers based ports that do use WebCore for handling scrollbars, like QtWebKit for
1538         instance, can observe the opposite behaviour.
1539
1540         Patch fixes this behaviour by checking if current MouseDown event targets a frame scrollbar.
1541         If that is the case, it bails out and do not change focus behavior at all.
1542
1543         It is important to note that the given way this is implemented by this patch, non-frame
1544         scrollbars (e.g. a vertical scrollbar of an overflowed textareas or divs) will keep working
1545         in the same way as it works currently.
1546
1547         Tests: scrollbars/scrollbar-click-does-not-blur-content.html
1548                scrollbars/scrollbar-iframe-click-does-not-blur-content.html
1549
1550         * page/EventHandler.cpp:
1551         (WebCore::EventHandler::dispatchMouseEvent):
1552
1553 2010-04-28  Dan Bernstein  <mitz@apple.com>
1554
1555         Rubber-stamped by Maciej Stachowiak.
1556
1557         Try to fix test failures seen on the Leopard build bot after r58467
1558
1559         * platform/graphics/SimpleFontData.cpp:
1560         (WebCore::SimpleFontData::platformGlyphInit): Initialize m_zeroWidthSpaceGlyph before
1561         calling widthForGlyph(), as the latter uses the former.
1562
1563 2010-04-28  Martin Robinson  <mrobinson@webkit.org>
1564
1565         Reviewed by Gustavo Noronha.
1566
1567         [GTK] Enable DOM clipboard and drag-and-drop access
1568         https://bugs.webkit.org/show_bug.cgi?id=30623
1569
1570         Make ClipboardGtk a "live" DataTransfer object, able to modify
1571         the clipboard when setData(...) is called.
1572
1573         * platform/gtk/ClipboardGtk.cpp:
1574         (WebCore::Editor::newGeneralClipboard): Pass the GtkClipboard into the factory method.
1575         (WebCore::ClipboardGtk::ClipboardGtk): Create two separate constructors, one for DnD data and one for clipboard data.
1576         (WebCore::dataObjectTypeFromHTMLClipboardType): Added.
1577         (WebCore::ClipboardGtk::clearData): Clear the member DataObject, optionally write the clipboard.
1578         (WebCore::ClipboardGtk::clearAllData): Ditto.
1579         (WebCore::joinURIList): Added.
1580         (WebCore::ClipboardGtk::getData): Get the data from the clipboard, if possible.
1581         (WebCore::ClipboardGtk::setData): Write data to the DataObject and maybe the clipboard.
1582         (WebCore::ClipboardGtk::types): Read the clipboard/DataObject to find applicable types.
1583         (WebCore::ClipboardGtk::files): Read the clipboard/DataObject to find the files.
1584         (WebCore::ClipboardGtk::writeURL): Write to the DataObject and maybe the clipboard.
1585         (WebCore::ClipboardGtk::writeRange): Ditto.
1586         (WebCore::ClipboardGtk::writePlainText): Ditto.
1587         (WebCore::ClipboardGtk::hasData): Query the clipboard/DataObject.
1588         * platform/gtk/ClipboardGtk.h: 
1589         (WebCore::ClipboardGtk::create): Added one factory for pasteboard-backed DataObjects and one for DnD-backed objects.
1590         * platform/gtk/DataObjectGtk.cpp:
1591         (WebCore::replaceNonBreakingSpaceWithSpace): Added this helper function to clean &nbsp; from plain text.
1592         (WebCore::DataObjectGtk::markup): Actually return the range if it's set.
1593         (WebCore::DataObjectGtk::setText): Clean &nbsp; from plain text.
1594         (WebCore::DataObjectGtk::clearText): Added.
1595         (WebCore::DataObjectGtk::clearMarkup): Added.
1596         * platform/gtk/DataObjectGtk.h:
1597         (WebCore::DataObjectGtk::clearURIList): Added.
1598         (WebCore::DataObjectGtk::clearImage): Added.
1599         * platform/gtk/PasteboardHelper.cpp:
1600         (WebCore::PasteboardHelper::initializeTargetList): Added target ID's for URI list and Netscape URL targets.
1601         (WebCore::urisToKURLVector): Added.
1602         (WebCore::PasteboardHelper::getClipboardContents): Added.
1603         (WebCore::PasteboardHelper::fillSelectionData): Added logic for URI lists and Netscape URLs.
1604         (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
1605         * platform/gtk/PasteboardHelper.h: Added default argument to writeClipboardContents and new method.
1606
1607 2010-04-28  Martin Robinson  <mrobinson@webkit.org>
1608
1609         Reviewed by Gustavo Noronha.
1610
1611         [GTK] Enable DOM clipboard and drag-and-drop access
1612         https://bugs.webkit.org/show_bug.cgi?id=30623
1613
1614         Use the length of the UTF-8 markup data in bytes when filling GtkSelectionData.
1615
1616         No new tests, because pasteboard DataTransfer tests will be enabled
1617         with the completion of the GTK+ DataTransfer object.
1618
1619         * platform/gtk/PasteboardGtk.cpp:
1620         (WebCore::clipboard_get_contents_cb): Use strlen here instead of g_utf8_strlen.
1621
1622 2010-04-28  Dan Bernstein  <mitz@apple.com>
1623
1624         Reviewed by Adele Peterson.
1625
1626         More of <rdar://problem/7855777> REGRESSION: Memory usage increase caused by storing glyph bounds in GlyphMetricsMap
1627         https://bugs.webkit.org/show_bug.cgi?id=37936
1628
1629         Assigning zero width and empty bounds to the ZERO WIDTH SPACE glyph often allocates a width map
1630         page and a bounds map page for the glyph, each of which pages contains 255 unused entries. Save
1631         this space by not storing the zero width and empty bounds in the metrics maps.
1632
1633         * platform/graphics/SimpleFontData.cpp:
1634         (WebCore::SimpleFontData::SimpleFontData): Initialize m_zeroWidthSpaceGlyph.
1635         (WebCore::SimpleFontData::platformGlyphInit): Set m_zeroWidthSpaceGlyph. Don’t create entries
1636         for the ZERO WIDTH SPACE glyph in the width map and in the bounds map.
1637         * platform/graphics/SimpleFontData.h:
1638         (WebCore::SimpleFontData::boundsForGlyph): Return empty bounds for the ZERO WIDTH SPACE glyph
1639         without consulting the bounds map.
1640         (WebCore::SimpleFontData::widthForGlyph): Return zero for the ZERO WIDTH SPACE glyph without
1641         consulting the width map.
1642
1643 2010-04-28  Mark Rowe  <mrowe@apple.com>
1644
1645         Reviewed by Adele Peterson.
1646
1647         <rdar://problem/7847573> Safari welcome page logs JavaScript exception during page load
1648
1649         The Safari welcome page runs afoul of the same-origin restriction on access to stylesheet rules
1650         that was added to address <https://bugs.webkit.org/show_bug.cgi?id=20527>. To work around this we're
1651         adding a temporary site-specific quirk that relaxes this restriction for the particular cross-origin
1652         access that occurs on the Safari welcome page.
1653
1654         * css/CSSStyleSheet.cpp:
1655         (WebCore::CSSStyleSheet::cssRules):
1656
1657 2010-04-28  Mike Thole  <mthole@apple.com>
1658
1659         Reviewed by Mark Rowe.
1660
1661         Add separate exports file for symbols dependent on WTF_USE_PROTECTION_SPACE_AUTH_CALLBACK.
1662
1663         * DerivedSources.make: Updated for WebCore.ProtectionSpaceAuthCallback.exp.
1664         * WebCore.ProtectionSpaceAuthCallback.exp: Added.
1665         * WebCore.xcodeproj/project.pbxproj:
1666
1667 2010-04-28  Evan Martin  <evan@chromium.org>
1668
1669         Reviewed by David Levin.
1670
1671         [chromium] revert getFontDataForCharacters change in r58341
1672         https://bugs.webkit.org/show_bug.cgi?id=38288
1673
1674         It caused a performance regression.
1675
1676         * platform/chromium/ChromiumBridge.h:
1677         * platform/graphics/chromium/FontCacheLinux.cpp:
1678         (WebCore::FontCache::getFontDataForCharacters):
1679
1680 2010-04-28  Eric Seidel  <eric@webkit.org>
1681
1682         Unreviewed, rolling out r58441.
1683         http://trac.webkit.org/changeset/58441
1684         https://bugs.webkit.org/show_bug.cgi?id=37618
1685
1686         Broke 3 test on Qt.
1687
1688         * page/DragController.cpp:
1689         (WebCore::DragController::tryDocumentDrag):
1690         (WebCore::DragController::concludeEditDrag):
1691         * page/DragController.h:
1692         (WebCore::DragController::setDragInitiator):
1693         (WebCore::DragController::dragInitiator):
1694         (WebCore::DragController::documentUnderMouse):
1695
1696 2010-04-28  Darin Adler  <darin@apple.com>
1697
1698         Reviewed by Dan Bernstein.
1699
1700         Remove some obsolete scrolling code
1701         https://bugs.webkit.org/show_bug.cgi?id=38293
1702
1703         * page/Chrome.cpp:
1704         (WebCore::Chrome::scrollRectIntoView): Removed ScrollView* argument.
1705         * page/Chrome.h: Made scrollRectIntoView non-virtual, and removed ScrollView* argument.
1706
1707         * page/FrameView.cpp: Removed scrollRectIntoViewRecursively.
1708         * page/FrameView.h: Removed scrollRectIntoViewRecursively and made
1709         setScrollPosition non-virtual, since there is no class derived from
1710         this class, and ScrollView's setScrollPosition is non-virtual.
1711
1712         * platform/HostWindow.h: Removed scrollRectIntoView.
1713
1714         * platform/ScrollView.cpp:
1715         (WebCore::ScrollView::scrollRectIntoViewRecursively): Updated comment
1716         since I was able to do most of the tasks listed here.
1717
1718         * rendering/RenderLayer.cpp:
1719         (WebCore::RenderLayer::scrollRectToVisible): Removed 0 passed for
1720         ScrollView* argument to Chrome::scrollRectIntoView.
1721
1722 2010-04-28  Mike Thole  <mthole@apple.com>
1723
1724         Reviewed by David Kilzer.
1725
1726         Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space 
1727         can be inspected before attempting to authenticate against it
1728         https://bugs.webkit.org/show_bug.cgi?id=38271
1729
1730         * loader/EmptyClients.h:
1731         (WebCore::EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace): Added.
1732         * loader/FrameLoader.cpp:
1733         (WebCore::FrameLoader::canAuthenticateAgainstProtectionSpace): Added.
1734         * loader/FrameLoader.h:
1735         * loader/FrameLoaderClient.h:
1736         * loader/ResourceLoader.cpp:
1737         (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added.
1738         * loader/ResourceLoader.h:
1739         (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added.
1740         * platform/network/ProtectionSpace.h:
1741         (WebCore::):
1742         * platform/network/ResourceHandle.h:
1743         * platform/network/ResourceHandleClient.h:
1744         (WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpace): Added.
1745         * platform/network/mac/AuthenticationMac.mm:
1746         (WebCore::mac):
1747         Add cases for case ProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested and
1748         ProtectionSpaceAuthenticationSchemeClientCertificateRequested.  Guarded with the
1749         #if USE(PROTECTION_SPACE_AUTH_CALLBACK) as the new NSURLProtectionSpace constants don't
1750         exist prior to Mac OS X 10.6.
1751         (WebCore::core): Ditto.
1752         * platform/network/mac/ResourceHandleMac.mm:
1753         (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace): Added.
1754         (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]): Added.
1755
1756 2010-04-28  Abhishek Arya  <inferno@chromium.org>
1757
1758         Reviewed by Eric Seidel.
1759
1760         Convert m_documentUnderMouse, m_dragInitiator to RefPtr.
1761         Eliminated unused m_dragInitiator accessor to prevent dereferencing.
1762         https://bugs.webkit.org/show_bug.cgi?id=37618
1763
1764         Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
1765
1766         * page/DragController.cpp:
1767         (WebCore::DragController::tryDocumentDrag):
1768         (WebCore::DragController::concludeEditDrag):
1769         * page/DragController.h:
1770         (WebCore::DragController::draggingImageURL):
1771         (WebCore::DragController::documentUnderMouse):
1772
1773 2010-04-28  Dumitru Daniliuc  <dumi@chromium.org>
1774
1775         Unreviewed, fixing a build problem introduced by the previous patch.
1776
1777         * storage/DatabaseSync.cpp:
1778         (WebCore::DatabaseSync::openDatabaseSync):
1779
1780 2010-04-23  Dumitru Daniliuc  <dumi@chromium.org>
1781
1782         Reviewed by Jeremy Orlow.
1783
1784         Adding some required classes for the sync WebSQLDatabases API.
1785         https://bugs.webkit.org/show_bug.cgi?id=34994
1786
1787         * GNUmakefile.am:
1788         * WebCore.gypi:
1789         * WebCore.pro:
1790         * WebCore.vcproj/WebCore.vcproj:
1791         * WebCore.xcodeproj/project.pbxproj:
1792         * storage/DatabaseSync.cpp: Added.
1793         (WebCore::DatabaseSync::databaseInfoTableName):
1794         (WebCore::DatabaseSync::setIsAvailable):
1795         (WebCore::DatabaseSync::isAvailable):
1796         (WebCore::DatabaseSync::openDatabaseSync):
1797         (WebCore::DatabaseSync::DatabaseSync):
1798         (WebCore::DatabaseSync::~DatabaseSync):
1799         (WebCore::DatabaseSync::version):
1800         (WebCore::DatabaseSync::changeVersion):
1801         (WebCore::DatabaseSync::transaction):
1802         * storage/DatabaseSync.h: Added.
1803         (WebCore::DatabaseSync::databaseDebugName):
1804         * storage/SQLTransactionSync.cpp: Added.
1805         (WebCore::SQLTransactionSync::create):
1806         (WebCore::SQLTransactionSync::SQLTransactionSync):
1807         (WebCore::SQLTransactionSync::~SQLTransactionSync):
1808         (WebCore::SQLTransactionSync::executeSQL):
1809         * storage/SQLTransactionSync.h: Added.
1810         (WebCore::SQLTransactionSync::database):
1811         (WebCore::SQLTransactionSync::isReadOnly):
1812         * storage/SQLTransactionSyncCallback.h: Added.
1813         (WebCore::SQLTransactionSyncCallback::~SQLTransactionSyncCallback):
1814
1815 2010-04-28  İsmail Dönmez  <ismail@namtrac.org>
1816
1817         Reviewed by Simon Hausmann.
1818
1819         Fix compilation with QT_NO_CURSOR defined.
1820
1821         * platform/qt/QWebPageClient.h:
1822         (QWebPageClient::resetCursor):
1823         (QWebPageClient::setCursor):
1824
1825 2010-04-28  Abhishek Arya  <inferno@chromium.org>
1826
1827         Reviewed by Alexey Proskuryakov.
1828
1829         Added a check to make sure that resources from a different https origin are not cached.
1830         https://bugs.webkit.org/show_bug.cgi?id=33456
1831
1832         Test: http/tests/appcache/different-https-origin-resource-main.html
1833
1834         * loader/appcache/ManifestParser.cpp:
1835         (WebCore::parseManifest):
1836
1837 2010-04-28  Sam Weinig  <sam@webkit.org>
1838
1839         Reviewed by Mark Rowe.
1840
1841         Only set -allowable_client WebKit2 for engineering builds on SnowLeopard
1842         and later.
1843
1844         * Configurations/WebCore.xcconfig:
1845
1846 2010-04-28  Darin Adler  <darin@apple.com>
1847
1848         Reviewed by Adele Peterson.
1849
1850         REGRESSION: Autoscroll does not work in Mail messages
1851         https://bugs.webkit.org/show_bug.cgi?id=38267
1852         rdar://problem/7559799
1853
1854         Still haven't figured out a good way to test this with DumpRenderTree
1855         or with Safari. Testing has to be done with Mail for now.
1856
1857         The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another
1858         view had gotten broken in multiple ways. For some reason, a combination of bugs made it
1859         partly work until around r48064. This brings it back.
1860
1861         There were three problems:
1862
1863             1) Code in EventHandler decided there was nothing to scroll, so didn't start
1864                the autoscroll timer.
1865             2) The wrong rectangle was passed to Chrome::scrollRectIntoView.
1866             3) The Mac WebKit implementation of ChromeClient::scrollRectIntoView did incorrect
1867                coordinate conversion.
1868
1869         I verified that none of these have any effect on regression tests, or behavior in
1870         web browsers, or behavior on platforms other than Mac.
1871
1872         * page/EventHandler.cpp:
1873         (WebCore::canAutoscroll): Added. Returns true for boxes that can scroll directly
1874         and for the top level box of the top frame.
1875         (WebCore::EventHandler::handleMouseDraggedEvent): Use canAutoscroll.
1876         (WebCore::EventHandler::updateAutoscrollRenderer): Ditto.
1877
1878         * page/FrameView.cpp:
1879         (WebCore::FrameView::scrollToAnchor): Fixed comment.
1880
1881         * platform/ScrollView.cpp:
1882         (WebCore::ScrollView::scrollRectIntoViewRecursively): Put ASSERT_NOT_REACHED into this
1883         now-unused function along with some comments about removing some obsolete code.
1884
1885         * rendering/RenderLayer.cpp:
1886         (WebCore::RenderLayer::scrollRectToVisible): Removed call to scrollRectIntoViewRecursively
1887         since from the WebKit point of view this is the topmost scroll view anyway. Instead call
1888         setScrollPosition. Moved the code to call Chrome::scrollRectIntoView here since it needs
1889         to use a different rectangle anyway.
1890
1891 2010-04-21  Ojan Vafai  <ojan@chromium.org>
1892
1893         Reviewed by Adele Peterson.
1894
1895         http://trac.webkit.org/changeset/57215 caused perf/memory regressions
1896         https://bugs.webkit.org/show_bug.cgi?id=37292
1897
1898         #if out the canUseGlyphCache Changes from r57215 as they caused a 
1899         8% perf regression on Chromium's international page load tests so that
1900         the perf regression can be fixed properly without being left in the tree.
1901
1902         * platform/graphics/FontFastPath.cpp:
1903         (WebCore::Font::canUseGlyphCache):
1904
1905 2010-04-28  Beth Dakin  <bdakin@apple.com>
1906
1907         Reviewed by Darin Adler.
1908
1909         Fix for <rdar://problem/7474349>
1910
1911         Add a synchronous display mechanism for WKCACFLayerRenderer. 
1912
1913         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1914         (WebCore::WKCACFLayerRenderer::setRootContentsAndDisplay): This is 
1915         just like setRootContents(), but it calls paint() instead of 
1916         renderSoon().
1917         * platform/graphics/win/WKCACFLayerRenderer.h:
1918
1919 2010-04-28  Dmitry Titov  <dimich@chromium.org>
1920
1921         Reviewed by Geoffrey Garen.
1922
1923         REGRESSION: fast/workers/wrapper-map-gc.html crashes on Snow Leopard Release Bot
1924         https://bugs.webkit.org/show_bug.cgi?id=37554
1925
1926         The flaky fast/workers/wrapper-map-gc.html will stop being flaky.
1927
1928         * bindings/js/JSEventListener.cpp:
1929         (WebCore::JSEventListener::handleEvent):
1930         check if JS execution was terminated, as in cases of Worker.terminate() or WorkerGlobalScope.close().
1931         * bindings/js/JSWorkerContextBase.cpp:
1932         (WebCore::toJS): ASSERT the value of workerContextWrapper, it should never be 0.
1933         * bindings/js/WorkerScriptController.h:
1934         (WebCore::WorkerScriptController::workerContextWrapper): remove returning 0 if JS execution was forbidden.
1935         (WebCore::WorkerScriptController::isExecutionForbidden):
1936         * bindings/v8/WorkerScriptController.h:
1937         (WebCore::WorkerScriptController::isExecutionForbidden):
1938
1939         Add ScriptExecutionContext::isJSExecutionTerminated(), it is always 'false' for Document
1940         and 'true' for WorkerContext when script is terminated.
1941         * dom/ScriptExecutionContext.h:
1942         * dom/Document.h:
1943         (WebCore::Document::isJSExecutionTerminated):
1944         * workers/WorkerContext.cpp:
1945         (WebCore::WorkerContext::isJSExecutionTerminated):
1946         * workers/WorkerContext.h:
1947
1948 2010-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
1949
1950         Reviewed by Yury Semikhatsky.
1951
1952         WebInspector: Multiple Main Resource Content Loaded marks appear in Resource panel.
1953         https://bugs.webkit.org/show_bug.cgi?id=38270
1954
1955         * inspector/front-end/ResourcesPanel.js:
1956         (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
1957
1958 2010-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
1959
1960         Reviewed by Yury Semikhatsky.
1961
1962         WebInspector: Timeline: We can have precise urls in the EvaluateScript records.
1963         https://bugs.webkit.org/show_bug.cgi?id=38264
1964
1965         * inspector/front-end/TimelinePanel.js:
1966         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1967         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1968
1969 2010-04-28  Pavel Feldman  <pfeldman@chromium.org>
1970
1971         Reviewed by Timothy Hatcher.
1972
1973         Web Inspector: Linkify node and function in the event listeners panel.
1974
1975         https://bugs.webkit.org/show_bug.cgi?id=38251
1976
1977         * bindings/js/ScriptEventListener.cpp:
1978         (WebCore::eventListenerHandlerBody):
1979         (WebCore::eventListenerHandlerLocation):
1980         * bindings/js/ScriptEventListener.h:
1981         * bindings/v8/ScriptEventListener.cpp:
1982         (WebCore::eventListenerHandlerBody):
1983         (WebCore::eventListenerHandlerLocation):
1984         * bindings/v8/ScriptEventListener.h:
1985         * inspector/InspectorDOMAgent.cpp:
1986         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
1987         * inspector/front-end/ElementsPanel.js:
1988         (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
1989         (WebInspector.ElementsPanel.prototype.linkifyNodeReference.preventDefault):
1990         * inspector/front-end/EventListenersSidebarPane.js:
1991         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
1992         (WebInspector.EventListenersSidebarPane.prototype.update):
1993         ():
1994         * inspector/front-end/StylesSidebarPane.js:
1995         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
1996         * inspector/front-end/inspector.css:
1997         (.node-link):
1998
1999 2010-04-28  Julien Chaffraix  <jchaffraix@webkit.org>
2000
2001         Reviewed by Alexey Proskuryakov.
2002
2003         [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR
2004         https://bugs.webkit.org/show_bug.cgi?id=37781
2005         <rdar://problem/7905150>
2006
2007         Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html
2008                http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
2009
2010         Rolling the patch in as I could not reproduce Qt results locally.
2011
2012         * loader/DocumentThreadableLoader.cpp:
2013         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the
2014         credential from the request here to avoid forgetting to do so in the different code path.
2015         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the
2016         "Origin" header.
2017         (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have
2018         been removed so that we don't leak them. Also tweaked a comment to make it clear that
2019         the URL check has issue when credential is involved.
2020
2021 2010-04-28  Noam Rosenthal  <noam.rosenthal@nokia.com>
2022
2023         Reviewed by Kenneth Rohde Christiansen.
2024
2025         [Qt] GraphicsLayer: preserves-3d and backface visibility
2026         https://bugs.webkit.org/show_bug.cgi?id=35312
2027
2028         Implement preserves-3d by maintaining the 3D transformation heirarchy inside GraphicsLayerQt, and extrapolating
2029         the relative QTransform. When the extrapolation fails (un-invertible matrix) we ignore the transformation change.
2030
2031         WebKitSite/blog-files/3d-transforms test now work with Qt.
2032
2033         * platform/graphics/qt/GraphicsLayerQt.cpp:
2034         (WebCore::GraphicsLayerQtImpl::updateTransform):
2035         (WebCore::GraphicsLayerQtImpl::opaqueArea):
2036         (WebCore::GraphicsLayerQtImpl::boundingRect):
2037         (WebCore::GraphicsLayerQtImpl::paint):
2038         (WebCore::GraphicsLayerQtImpl::flushChanges):
2039
2040 2010-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
2041
2042         Reviewed by Yury Semikhatsky.
2043
2044         Web Inspector: View frame selector for Timeline overview panel is redesigned a bit.
2045         Now it is possible to adjust view frame by resizer bars and by click-n-drag in overview pane.
2046         https://bugs.webkit.org/show_bug.cgi?id=38251
2047
2048         * inspector/front-end/TimelineOverviewPane.js:
2049         (WebInspector.TimelineOverviewPane):
2050         (WebInspector.TimelineOverviewPane.prototype.reset):
2051         (WebInspector.TimelineOverviewPane.prototype._dragWindow):
2052         (WebInspector.TimelineOverviewPane.prototype._windowSelectorDragging):
2053         (WebInspector.TimelineOverviewPane.prototype._endWindowSelectorDragging):
2054         (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
2055         (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
2056         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
2057         (WebInspector.TimelinePanel.WindowSelector):
2058         (WebInspector.TimelinePanel.WindowSelector.prototype._createSelectorElement):
2059         (WebInspector.TimelinePanel.WindowSelector.prototype._close):
2060         (WebInspector.TimelinePanel.WindowSelector.prototype._updatePosition):
2061         * inspector/front-end/inspector.css:
2062         (#timeline-overview-grid):
2063         (.timeline-window-selector):
2064         (#timeline-overview-window):
2065         (.timeline-overview-dividers-background):
2066         (.timeline-overview-window-rulers):
2067         (.timeline-window-resizer):
2068
2069 2010-04-28  Marcus Bulach  <bulach@chromium.org>
2070
2071         Reviewed by Jeremy Orlow.
2072
2073         Reverts 58340 (https://bugs.webkit.org/show_bug.cgi?id=38158) due to regression on fast/text/international/khmer-selection.html
2074         https://bugs.webkit.org/show_bug.cgi?id=38254
2075
2076         * platform/graphics/chromium/FontLinux.cpp:
2077         (WebCore::adjustTextRenderMode):
2078         (WebCore::TextRunWalker::getTextRun):
2079         (WebCore::TextRunWalker::getNormalizedTextRun):
2080         (WebCore::TextRunWalker::setGlyphXPositions):
2081         (WebCore::glyphIndexForXPositionInScriptRun):
2082         (WebCore::Font::offsetForPositionForComplexText):
2083         (WebCore::Font::selectionRectForComplexText):
2084         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2085         (WebCore::FontPlatformData::setupPaint):
2086         * platform/graphics/chromium/HarfbuzzSkia.cpp:
2087         (WebCore::getOutlinePoint):
2088         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2089         (WebCore::GraphicsContext3D::getImageData):
2090         * platform/graphics/skia/GraphicsContextSkia.cpp:
2091         (WebCore::isCoordinateSkiaSafe):
2092         (WebCore::GraphicsContext::fillRect):
2093         (WebCore::GraphicsContext::strokePath):
2094         (WebCore::GraphicsContext::strokeRect):
2095
2096 2010-04-28  Andrey Kosyakov  <caseq@chromium.org>
2097
2098         Reviewed by Yury Semikhatsky.
2099
2100         Log error message to inspector console if a resource fails to load.
2101         Disable checking of mime-type consistency for failed resources.
2102         https://bugs.webkit.org/show_bug.cgi?id=37215
2103
2104         Test: http/tests/inspector/console-resource-errors.html
2105
2106         * inspector/InspectorController.cpp:
2107         (WebCore::InspectorController::didReceiveResponse):
2108         (WebCore::InspectorController::didFailLoading):
2109         * inspector/front-end/Resource.js:
2110         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
2111         * inspector/front-end/ResourcesPanel.js:
2112         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
2113
2114 2010-04-28  Yury Semikhatsky  <yurys@chromium.org>
2115
2116         Reviewed by Pavel Feldman.
2117
2118         Support pause on exceptions in v8 implementation of ScriptDebugServer.
2119
2120         https://bugs.webkit.org/show_bug.cgi?id=38205        
2121
2122         * bindings/v8/ScriptDebugServer.cpp:
2123         (WebCore::ScriptDebugServer::addListener):
2124         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
2125         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
2126         (WebCore::ScriptDebugServer::currentCallFrame):
2127         (WebCore::ScriptDebugServer::handleV8DebugMessage):
2128         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2129         * bindings/v8/ScriptDebugServer.h:
2130
2131 2010-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>
2132
2133         Unreviewed, rolling out r58313.
2134         http://trac.webkit.org/changeset/58313
2135         https://bugs.webkit.org/show_bug.cgi?id=38253
2136
2137         Regression evident in pixel tests: the search icon is always
2138         clipped at the bottom. (Requested by jorlow on #webkit).
2139
2140         * rendering/RenderTextControl.cpp:
2141         (WebCore::RenderTextControl::controlClipRect):
2142         * rendering/RenderTextControl.h:
2143         (WebCore::RenderTextControl::hasControlClip):
2144         * rendering/RenderTextControlSingleLine.cpp:
2145         (WebCore::RenderTextControlSingleLine::paint):
2146         * rendering/RenderTextControlSingleLine.h:
2147
2148 2010-04-28  Justin McPherson <justin.mcpherson@nokia.com>
2149
2150         Reviewed by Simon Hausmann.
2151
2152         [Qt] Fix detection of Qt 4.7's multimedia libraries
2153
2154         QtMultimedia has been split into an additional media services library, which
2155         we're using. mediaservices depends on multimedia.
2156
2157         * WebCore.pro:
2158
2159 2010-04-28  Shinichiro Hamaji  <hamaji@chromium.org>
2160
2161         Unreviewed attempt to fix the chromium build.
2162
2163         Add layoutTestController.setPrinting()
2164         https://bugs.webkit.org/show_bug.cgi?id=37203
2165
2166         * rendering/RenderTreeAsText.cpp:
2167
2168 2010-04-27  Shinichiro Hamaji  <hamaji@chromium.org>
2169
2170         Reviewed by Darin Adler and Eric Seidel.
2171
2172         Add layoutTestController.setPrinting()
2173         https://bugs.webkit.org/show_bug.cgi?id=37203
2174
2175         Added RenderAsTextPrintingMode as a behavior of externalRepresentation.
2176
2177         Now ~PrintContext() calls end() automatically.
2178
2179         * page/PrintContext.cpp:
2180         (WebCore::PrintContext::~PrintContext):
2181         * rendering/RenderTreeAsText.cpp:
2182         (WebCore::externalRepresentation):
2183         * rendering/RenderTreeAsText.h:
2184         (WebCore::):
2185
2186 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
2187
2188         Reviewed by Eric Seidel.
2189
2190         Enhance CSS parser for Paged Media (Iteration 4)
2191         Implement page property parsing as specified at http://dev.w3.org/csswg/css3-page/#using-named-pages.
2192         https://bugs.webkit.org/show_bug.cgi?id=35853
2193
2194         * css/CSSParser.cpp:
2195         (WebCore::CSSParser::parseValue):
2196         (WebCore::CSSParser::parsePage):
2197         * css/CSSParser.h:
2198
2199 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
2200
2201         Reviewed by Dimitri Glazkov.
2202
2203         Enhance CSS parser for Paged Media (Iteration 3)
2204         Implement size parameter parsing for Paged Media.
2205         https://bugs.webkit.org/show_bug.cgi?id=35851
2206
2207         I believe size property hasn't been used so far because (1) it hasn't been properly parsed and
2208         (2) a comment in CSSComputedStyleDeclaration::getPropertyCSSValue says so.
2209         Changing the way of parsing it should not cause any regressions -- no existing tests fail because of this change.
2210
2211         * css/CSSParser.cpp:
2212         (WebCore::CSSParser::parseValue):
2213         (WebCore::CSSParser::parseSize):
2214         (WebCore::CSSParser::parseSizeParameter):
2215         * css/CSSParser.h:
2216         (WebCore::CSSParser::):
2217         * css/CSSValueKeywords.in:
2218
2219 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
2220
2221         Reviewed by Eric Seidel.
2222
2223         Enhance CSS parser for Paged Media (Iteration 2)
2224         Parse and hold paged media rules in CSSStyleSelector.
2225
2226         https://bugs.webkit.org/show_bug.cgi?id=35782
2227
2228         Test: printing/page-rule-css-text.html
2229
2230         * css/CSSGrammar.y:
2231         * css/CSSPageRule.cpp:
2232         (WebCore::CSSPageRule::CSSPageRule):
2233         (WebCore::CSSPageRule::selectorText):
2234         * css/CSSPageRule.h:
2235         (WebCore::CSSPageRule::create):
2236         (WebCore::CSSPageRule::isPageRule):
2237         * css/CSSParser.cpp:
2238         (WebCore::CSSParser::createPageRule):
2239         * css/CSSStyleRule.h:
2240         * css/CSSStyleSelector.cpp:
2241         (WebCore::CSSRuleSet::getPageRules):
2242         (WebCore::CSSRuleSet::CSSRuleSet):
2243         (WebCore::CSSRuleSet::~CSSRuleSet):
2244         (WebCore::CSSRuleSet::addPageRule):
2245         (WebCore::CSSRuleSet::addRulesFromSheet):
2246         * css/CSSStyleSelector.h:
2247         * css/StyleBase.h:
2248         (WebCore::StyleBase::isPageRule):
2249
2250 2010-04-27  Daniel Bates  <dbates@rim.com>
2251
2252         Reviewed by Oliver Hunt.
2253
2254         https://bugs.webkit.org/show_bug.cgi?id=37686
2255
2256         Fixes an issue where the canvas method strokeRect will stroke a
2257         rectangle whose dimensions are 0 when lineWidth > 1.
2258
2259         As per the definition of strokeRect in the HTML Canvas 2D Context
2260         spec. <http://www.w3.org/TR/2dcontext/#dom-context-2d-strokerect>,
2261         this method should have no effect when both the height and width
2262         are zero.
2263
2264         Tests: fast/canvas/canvas-clearRect.html
2265                fast/canvas/canvas-fillRect.html
2266
2267         * html/canvas/CanvasRenderingContext2D.cpp:
2268         (WebCore::validateRectForCanvas): Return false if height, width == 0.
2269
2270 2010-04-27  Adam Barth  <abarth@webkit.org>
2271
2272         Reviewed by Eric Seidel.
2273
2274         Remove obsolete custom bindings file
2275         https://bugs.webkit.org/show_bug.cgi?id=38223
2276
2277         We don't need these files anymore because they are empty.
2278
2279         * Android.jscbindings.mk:
2280         * GNUmakefile.am:
2281         * WebCore.pro:
2282         * WebCore.vcproj/WebCore.vcproj:
2283         * WebCore.xcodeproj/project.pbxproj:
2284         * bindings/js/JSAbstractWorkerCustom.cpp: Removed.
2285         * bindings/js/JSBindingsAllInOne.cpp:
2286         * bindings/js/JSDocumentFragmentCustom.cpp: Removed.
2287         * bindings/js/JSEventSourceCustom.cpp: Removed.
2288
2289 2010-04-27  Daniel Cheng  <dcheng@chromium.org>
2290
2291         Reviewed by Jian Li.
2292
2293         [Chromium] Filter out URLs with a file scheme from text/uri-list when dragging.
2294         https://bugs.webkit.org/show_bug.cgi?id=38227
2295
2296         Unfortunately, the simple fix of not populating the drag data with file URLs doesn't work
2297         since the default drop handling uses the drag data URL to navigate to dropped files/URLs.
2298         For now, we hack around the problem in the Chromium platform, but the proper long term
2299         solution is to change DragController::performDrag to check dragData::asFilenames().
2300
2301         No new tests.
2302
2303         * platform/chromium/ClipboardChromium.cpp:
2304         (WebCore::ClipboardChromium::getData):
2305         (WebCore::ClipboardChromium::types):
2306
2307 2010-04-27  Simon Fraser  <simon.fraser@apple.com>
2308
2309         Reviewed by the inimitable Dan Bernstein.
2310
2311         SVG as background image renders incorrectly after zooming
2312         https://bugs.webkit.org/show_bug.cgi?id=38215
2313         
2314         When doing a partial redraw of an SVGImage used as a CSS background
2315         image, we're limited to drawing the entire Frame, clipped to the dirty rect.
2316         Because of this, we need to fix up the CTM so that the origin is at the
2317         top left of the unclipped image, rather than the top left of the
2318         portion being redrawn.
2319
2320         Test: fast/images/svg-background-partial-redraw.html
2321
2322         * svg/graphics/SVGImage.cpp:
2323         (WebCore::SVGImage::draw):
2324
2325 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
2326
2327         Reviewed by David Hyatt.
2328
2329         Retry of: Enhance CSS parser for Paged Media (Iteration 1)
2330
2331         In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined.
2332         The contents of the methods should be implemented by other changes.
2333
2334         https://bugs.webkit.org/show_bug.cgi?id=35329
2335
2336         Test: fast/css/parsing-page-rule.html
2337
2338         * css/CSSGrammar.y:
2339         * css/CSSParser.cpp:
2340         (WebCore::CSSParser::CSSParser):
2341         (WebCore::CSSParser::clearProperties):
2342         (WebCore::CSSParser::createPageRule):
2343         (WebCore::CSSParser::createMarginAtRule):
2344         (WebCore::CSSParser::startDeclarationsForMarginBox):
2345         (WebCore::CSSParser::endDeclarationsForMarginBox):
2346         * css/CSSParser.h:
2347         * css/CSSSelector.cpp:
2348         (WebCore::CSSSelector::pseudoId):
2349         (WebCore::nameToPseudoTypeMap):
2350         (WebCore::CSSSelector::extractPseudoType):
2351         * css/CSSSelector.h:
2352         (WebCore::CSSSelector::):
2353         * css/tokenizer.flex:
2354
2355 2010-04-27  Julien Chaffraix  <jchaffraix@webkit.org>
2356
2357         Unreviewed, rolling out my changes as it rendered the Qt bot unreliable.
2358
2359         * loader/DocumentThreadableLoader.cpp:
2360         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
2361         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
2362         (WebCore::DocumentThreadableLoader::loadRequest):
2363
2364 2010-04-27  Julien Chaffraix  <jchaffraix@webkit.org>
2365
2366         Reviewed by Alexey Proskuryakov.
2367
2368         [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR
2369         https://bugs.webkit.org/show_bug.cgi?id=37781
2370         <rdar://problem/7905150>
2371
2372         Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html
2373                http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
2374
2375         * loader/DocumentThreadableLoader.cpp:
2376         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the
2377         credential from the request here to avoid forgetting to do so in the different code path.
2378         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the
2379         "Origin" header.
2380         (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have
2381         been removed so that we don't leak them. Also tweaked a comment to make it clear that
2382         the URL check has issue when credential is involved.
2383
2384 2010-04-27  Sam Weinig  <sam@webkit.org>
2385
2386         Reviewed by Maciej Stachowiak.
2387
2388         Fix for https://bugs.webkit.org/show_bug.cgi?id=38238
2389         Allow both WebKit and WebKit2 to link to the same WebCore.framework
2390
2391         * Configurations/WebCore.xcconfig: Use -allowable_client WebKit2 to add
2392         WebKit2 to the list of frameworks that can link directly to WebCore. It
2393         is not necessary for it to be an umbrella since we don't need to reexport
2394         any symbols.
2395
2396 2010-04-27  Dumitru Daniliuc  <dumi@chromium.org>
2397
2398         Reviewed by David Levin.
2399
2400         Turn on AUTO_VACUUM = INCREMENTAL for all HTML5 databases.
2401         https://bugs.webkit.org/show_bug.cgi?id=38191
2402
2403         Vacuum all databases when the number of free pages is at least 10%
2404         of the number of total pages. Also, add a guard against a bug that
2405         was fixed in SQLite only starting with version 3.6.16.
2406
2407         * platform/sql/SQLiteDatabase.cpp:
2408         (WebCore::SQLiteDatabase::maximumSize):
2409         (WebCore::SQLiteDatabase::freeSpaceSize):
2410         (WebCore::SQLiteDatabase::totalSize):
2411         (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
2412         (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
2413         * platform/sql/SQLiteDatabase.h:
2414         (WebCore::SQLiteDatabase::):
2415         * platform/sql/SQLiteStatement.cpp:
2416         (WebCore::SQLiteStatement::prepare):
2417         (WebCore::SQLiteStatement::step):
2418         * storage/Database.cpp:
2419         (WebCore::Database::performOpenAndVerify):
2420         (WebCore::Database::incrementalVacuumIfNeeded):
2421         * storage/Database.h:
2422         * storage/SQLTransaction.cpp:
2423         (WebCore::SQLTransaction::postflightAndCommit):
2424
2425 2010-04-27  Garret Kelly  <gdk@chromium.org>
2426
2427         Reviewed by Darin Fisher.
2428
2429         Turn all of the touch event handlers into RuntimeEnabledFeatures, and
2430         modify the createEvent methond on Document so that it won't create a
2431         TouchEvent if the feature is disabled.
2432         https://bugs.webkit.org/show_bug.cgi?id=37485
2433
2434         * bindings/generic/RuntimeEnabledFeatures.cpp:
2435         * bindings/generic/RuntimeEnabledFeatures.h:
2436         (WebCore::RuntimeEnabledFeatures::touchEnabled):
2437         (WebCore::RuntimeEnabledFeatures::setTouchEnabled):
2438         (WebCore::RuntimeEnabledFeatures::ontouchstartEnabled):
2439         (WebCore::RuntimeEnabledFeatures::ontouchmoveEnabled):
2440         (WebCore::RuntimeEnabledFeatures::ontouchendEnabled):
2441         (WebCore::RuntimeEnabledFeatures::ontouchcancelEnabled):
2442         * dom/Document.cpp:
2443         (WebCore::Document::createEvent):
2444         * dom/Document.idl:
2445         * dom/Element.idl:
2446         * page/DOMWindow.idl:
2447
2448 2010-04-27  Jens Alfke  <snej@chromium.org>
2449
2450         Reviewed by Darin Fisher.
2451
2452         [Chromium] Add some notifications and an accessor to WebKit API
2453         https://bugs.webkit.org/show_bug.cgi?id=37625
2454
2455         * dom/Node.cpp:
2456         (WebCore::Node::hasNonEmptyBoundingBox): New method.
2457         * dom/Node.h:
2458         * html/HTMLAnchorElement.cpp:
2459         (WebCore::HTMLAnchorElement::isKeyboardFocusable): Moved part of method into new Node method
2460
2461 2010-04-27  Jochen Eisinger  <jochen@chromium.org>
2462
2463         Reviewed by Shinichiro Hamaji.
2464
2465         Fix gyp build on Mac OS X with enable_svg=0.
2466         https://bugs.webkit.org/show_bug.cgi?id=38192
2467
2468         * WebCore.gyp/WebCore.gyp: Only generate SVG symbols if enable_svg!=0.
2469         * css/CSSComputedStyleDeclaration.cpp:
2470         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add missing unimplemented CSS properties to switch statement.
2471
2472 2010-04-27  Kinuko Yasuda  <kinuko@chromium.org>
2473
2474         Reviewed by Jian Li.
2475
2476         [V8] Handle OR ('|') conditional in action_derivedsourcesallinone.py
2477         https://bugs.webkit.org/show_bug.cgi?id=38207
2478
2479         No new tests.
2480
2481         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
2482
2483 2010-04-27  François Sausset  <sausset@gmail.com>
2484
2485         Reviewed by Kenneth Rohde Christiansen.
2486
2487         Implementation of the MathML mroot & msqrt elements.
2488         https://bugs.webkit.org/show_bug.cgi?id=37044
2489
2490         Test: mathml/presentation/roots.xhtml
2491
2492         * WebCore.xcodeproj/project.pbxproj:
2493         * css/mathml.css:
2494         (mroot):
2495         (mroot > * + *):
2496         (mroot > * + mrow, mroot > * + mfenced):
2497         * mathml/MathMLInlineContainerElement.cpp:
2498         (WebCore::MathMLInlineContainerElement::createRenderer):
2499         * mathml/RenderMathMLRoot.cpp: Added.
2500         (WebCore::RenderMathMLRoot::RenderMathMLRoot):
2501         (WebCore::RenderMathMLRoot::addChild):
2502         (WebCore::RenderMathMLRoot::paint):
2503         (WebCore::RenderMathMLRoot::layout):
2504         * mathml/RenderMathMLRoot.h: Added.
2505         * mathml/RenderMathMLSquareRoot.cpp: Added.
2506         (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
2507         (WebCore::RenderMathMLSquareRoot::paint):
2508         (WebCore::RenderMathMLSquareRoot::layout):
2509         * mathml/RenderMathMLSquareRoot.h: Added.
2510
2511 2010-04-27  Darin Adler  <darin@apple.com>
2512
2513         Reviewed by Maciej Stachowiak.
2514
2515         I noticed an unused forwarding header.
2516
2517         * ForwardingHeaders/runtime/PropertyMap.h: Removed.
2518
2519 2010-04-27  James Robinson  <jamesr@chromium.org>
2520
2521         Reviewed by Adam Barth.
2522
2523         Fix gcc 4.4.1 warnings on Linux in the chromium V8 bindings code.
2524         https://bugs.webkit.org/show_bug.cgi?id=38153
2525
2526         * bindings/scripts/CodeGeneratorV8.pm:
2527         * bindings/v8/V8Proxy.cpp:
2528         (WebCore::V8Proxy::callFunction):
2529
2530 2010-04-27  Eric Seidel  <eric@webkit.org>
2531
2532         Unreviewed, rolling out r58318.
2533         http://trac.webkit.org/changeset/58318
2534         https://bugs.webkit.org/show_bug.cgi?id=37215
2535
2536         Broke test on Tiger.  Might just need updated results,
2537         unclear.
2538
2539         * inspector/InspectorController.cpp:
2540         (WebCore::InspectorController::didReceiveResponse):
2541         (WebCore::InspectorController::didFailLoading):
2542         * inspector/front-end/Resource.js:
2543         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
2544         * inspector/front-end/ResourcesPanel.js:
2545         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
2546
2547 2010-04-27  Evan Martin  <evan@chromium.org>
2548
2549         Reviewed by David Levin.
2550
2551         [chromium] bold bengali text not rendered properly on Linux
2552         https://bugs.webkit.org/show_bug.cgi?id=37904
2553
2554         We must let Skia do font fallback, rather than picking a font name
2555         then handing that to Skia.  For example, if we have Bengali text and
2556         choose FreeSans + fake bold, and then later reuse the name, Skia will
2557         helpfully use FreeSansBold (which doesn't cover Bengali).
2558
2559         Test: fast/text/international/bold-bengali.html
2560
2561         * platform/graphics/chromium/FontCacheLinux.cpp:
2562         (WebCore::FontCache::getFontDataForCharacters):
2563
2564 2010-04-27  James Robinson  <jamesr@chromium.org>
2565
2566         Reviewed by Darin Adler.
2567
2568         Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files.
2569         https://bugs.webkit.org/show_bug.cgi?id=38158
2570
2571         Most of the issues are signed/unsigned mismatches, but there are a few unusued variables
2572         and functions mixed in.
2573
2574         * platform/graphics/chromium/FontLinux.cpp:
2575         (WebCore::adjustTextRenderMode):
2576         (WebCore::TextRunWalker::getTextRun):
2577         (WebCore::TextRunWalker::getNormalizedTextRun):
2578         (WebCore::TextRunWalker::setGlyphXPositions):
2579         (WebCore::glyphIndexForXPositionInScriptRun):
2580         (WebCore::Font::offsetForPositionForComplexText):
2581         (WebCore::Font::selectionRectForComplexText):
2582         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2583         (WebCore::FontPlatformData::setupPaint):
2584         * platform/graphics/chromium/HarfbuzzSkia.cpp:
2585         (WebCore::getOutlinePoint):
2586         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2587         (WebCore::GraphicsContext3D::getImageData):
2588         * platform/graphics/skia/GraphicsContextSkia.cpp:
2589         (WebCore::isCoordinateSkiaSafe):
2590         (WebCore::GraphicsContext::fillRect):
2591         (WebCore::GraphicsContext::strokePath):
2592         (WebCore::GraphicsContext::strokeRect):
2593
2594 2010-04-27  Jian Li  <jianli@chromium.org>
2595
2596         Reviewed by Darin Adler.
2597
2598         Sending a package file using FormData crashes WebKit on Mac.
2599         https://bugs.webkit.org/show_bug.cgi?id=37882
2600
2601         Can't add a layout test because DRT does not support generating the file name.
2602
2603         * loader/FrameLoader.cpp:
2604         (WebCore::FrameLoader::submitForm):
2605         (WebCore::FrameLoader::navigateToDifferentDocument):
2606         * platform/network/FormData.cpp:
2607         (WebCore::FormData::appendDOMFormData):
2608         * platform/network/FormData.h:
2609         * xml/XMLHttpRequest.cpp:
2610         (WebCore::XMLHttpRequest::send):
2611
2612 2010-04-27  Adam Barth  <abarth@webkit.org>
2613
2614         Reviewed by Eric Seidel.
2615
2616         Remove custom NodeIterator bindings
2617         https://bugs.webkit.org/show_bug.cgi?id=38188
2618
2619         Another example of CallWith=ScriptState.  This case shows us the right
2620         way to handle the interaction with exception codes.
2621
2622         In my previous patch, I put the exception code handling after the
2623         ScriptState exception handling.  It turns out this was a mistake
2624         (although a harmless one at the time because no IDL caused us to
2625         generate that code).  Now that we're generating both kinds of exception
2626         handling, we need to generate them in the right order.
2627
2628         * WebCore.gypi:
2629         * bindings/js/JSNodeIteratorCustom.cpp:
2630         * bindings/scripts/CodeGeneratorJS.pm:
2631         * bindings/scripts/CodeGeneratorV8.pm:
2632         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2633         (webkit_dom_test_obj_with_script_state_void_exception):
2634         (webkit_dom_test_obj_with_script_state_obj_exception):
2635         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2636         * bindings/scripts/test/JS/JSTestObj.cpp:
2637         (WebCore::):
2638         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
2639         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
2640         * bindings/scripts/test/JS/JSTestObj.h:
2641         * bindings/scripts/test/ObjC/DOMTestObj.h:
2642         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2643         (-[DOMTestObj withScriptStateVoidException]):
2644         (-[DOMTestObj withScriptStateObjException]):
2645         * bindings/scripts/test/TestObj.idl:
2646         * bindings/scripts/test/V8/V8TestObj.cpp:
2647         (WebCore::TestObjInternal::withScriptStateVoidCallback):
2648         (WebCore::TestObjInternal::withScriptStateObjCallback):
2649         (WebCore::TestObjInternal::withScriptStateVoidExceptionCallback):
2650         (WebCore::TestObjInternal::withScriptStateObjExceptionCallback):
2651         (WebCore::):
2652         * bindings/v8/custom/V8NodeIteratorCustom.cpp: Removed.
2653         * dom/NodeIterator.idl:
2654
2655 2010-04-27  Adam Barth  <abarth@webkit.org>
2656
2657         Reviewed by Darin Adler.
2658
2659         Remove copy/paste addEventListener "custom" bindings via code generation
2660         https://bugs.webkit.org/show_bug.cgi?id=38210
2661
2662         It's somewhat lame to special case addEventListener and
2663         removeEventListener in the code generator, but it saves a large amount
2664         of boilerplate "custom" bindings code.
2665
2666         Idea shamelessly stolen from the V8 code generator.
2667
2668         This patch points to some good refactoring opportunities in
2669         CodeGeneratorJS.pm, but I'm going to hold off on those for a future
2670         patch.  By generating test coverage for the code generator, we make
2671         these future refactorings easier.
2672
2673         * bindings/js/JSAbstractWorkerCustom.cpp:
2674         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2675         * bindings/js/JSDesktopNotificationsCustom.cpp:
2676         * bindings/js/JSEventSourceCustom.cpp:
2677         * bindings/js/JSMessagePortCustom.cpp:
2678         * bindings/js/JSNodeCustom.cpp:
2679         * bindings/js/JSSVGElementInstanceCustom.cpp:
2680         * bindings/js/JSWebSocketCustom.cpp:
2681         * bindings/js/JSWorkerContextCustom.cpp:
2682         * bindings/js/JSXMLHttpRequestCustom.cpp:
2683         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2684         * bindings/scripts/CodeGeneratorJS.pm:
2685         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2686         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2687         * bindings/scripts/test/JS/JSTestObj.cpp:
2688         (WebCore::):
2689         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
2690         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
2691         * bindings/scripts/test/JS/JSTestObj.h:
2692         * bindings/scripts/test/ObjC/DOMTestObj.h:
2693         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2694         (-[DOMTestObj addEventListener:listener:useCapture:]):
2695         (-[DOMTestObj removeEventListener:listener:useCapture:]):
2696         * bindings/scripts/test/TestObj.idl:
2697         * bindings/scripts/test/V8/V8TestObj.cpp:
2698         (WebCore::TestObjInternal::addEventListenerCallback):
2699         (WebCore::TestObjInternal::removeEventListenerCallback):
2700         (WebCore::):
2701         * dom/MessagePort.idl:
2702         * dom/Node.idl:
2703         * loader/appcache/DOMApplicationCache.idl:
2704         * notifications/Notification.idl:
2705         * page/EventSource.idl:
2706         * svg/SVGElementInstance.idl:
2707         * websockets/WebSocket.idl:
2708         * workers/AbstractWorker.idl:
2709         * workers/WorkerContext.idl:
2710         * xml/XMLHttpRequest.idl:
2711         * xml/XMLHttpRequestUpload.idl:
2712
2713 2010-04-27  Sam Weinig  <sam@webkit.org>
2714
2715         Rubber-stamped by Beth Dakin.
2716
2717         Remove now unnecessary EXPERIMENTAL_SINGLE_VIEW_MODE #define.
2718
2719         * page/EventHandler.cpp:
2720         (WebCore::EventHandler::EventHandler):
2721         (WebCore::EventHandler::clearDragState):
2722         * page/EventHandler.h:
2723         * page/mac/DragControllerMac.mm:
2724         * page/mac/EventHandlerMac.mm:
2725         * platform/mac/PopupMenuMac.mm:
2726
2727 2010-04-27  Ben Murdoch  <benm@google.com>
2728
2729         Reviewed by Simon Hausmann.
2730
2731         The TouchStationary state of WebCore::PlatformTouchPoint is not handled inside the touch event handler.
2732         https://bugs.webkit.org/show_bug.cgi?id=37609
2733
2734         No new tests required, only updating documentation.
2735
2736         * page/EventHandler.cpp:
2737         (WebCore::EventHandler::handleTouchEvent): Improve the documentation for handling
2738             the TouchStationary state as a result of discussions in bug 37609.
2739
2740 2010-04-27  Simon Fraser  <simon.fraser@apple.com>
2741
2742         Reviewed by Darin Adler, Maciej Stachowiak.
2743
2744         REGRESSION (r57919): Some pages opened in background tabs don't render the first time you activate their tab
2745         https://bugs.webkit.org/show_bug.cgi?id=38183
2746
2747         Rather than sprinkle PLATFORM #ifdefs around, add a new method,
2748         RenderLayerCompositor::shouldPropagateCompositingToIFrameParent(), that indicates whether
2749         an iframe with composited content should trigger compositing mode in the enclosing document
2750         (a behavior that differs between platforms).
2751         
2752         Use this new method to determine whether to trigger a style recalc in the parent document
2753         when an iframe becomes composited.
2754         
2755         Move the code formerly in RenderView::compositingStateChanged() into RenderLayerCompositor().
2756
2757         * manual-tests/compositing/accel-comp-iframe-tab-repaint.html: Added.
2758         * manual-tests/compositing/resources/flash-frame.html: Added.
2759         * manual-tests/compositing/resources/tab-repaint-part-2.html: Added.
2760         * rendering/RenderLayerCompositor.cpp:
2761         (WebCore::RenderLayerCompositor::enableCompositingMode):
2762         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToIFrameParent):
2763         (WebCore::RenderLayerCompositor::requiresCompositingForIFrame):
2764         * rendering/RenderLayerCompositor.h:
2765         * rendering/RenderView.cpp:
2766         * rendering/RenderView.h:
2767
2768 2010-04-27  Andrey Kosyakov  <caseq@chromium.org>
2769
2770         Reviewed by Yury Semikhatsky.
2771
2772         Log error message to inspector console if a resource fails to load.
2773         Disable checking of mime-type consistency for failed resources.
2774         https://bugs.webkit.org/show_bug.cgi?id=37215
2775
2776         Test: http/tests/inspector/console-resource-errors.html
2777
2778         * inspector/InspectorController.cpp:
2779         (WebCore::InspectorController::didReceiveResponse):
2780         (WebCore::InspectorController::didFailLoading):
2781         * inspector/front-end/Resource.js:
2782         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
2783         * inspector/front-end/ResourcesPanel.js:
2784         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
2785
2786 2010-04-27  Vitaly Repeshko  <vitalyr@chromium.org>
2787
2788         Reviewed by Nate Chapin.
2789
2790         [V8] Fix XHR memory leak in GC controller.
2791         https://bugs.webkit.org/show_bug.cgi?id=38202
2792
2793         http://trac.webkit.org/changeset/55798 simplified processing of
2794         active DOM objects but introduced a subtle bug in garbage
2795         collection of XHRs. ActiveDOMObject is not a direct base class of
2796         XHR and so upcasting changes pointer identity and breaks DOM
2797         maps. This leads to forever live persistent handles to XHR that
2798         had pending activity while V8 GC happened.
2799
2800         * bindings/v8/V8GCController.cpp:
2801         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
2802
2803 2010-04-27  Adam Barth  <abarth@webkit.org>
2804
2805         Unreviewed.  Regenerate reference bindings code generator output.
2806
2807         * bindings/scripts/test/V8/V8TestObj.cpp:
2808         (WebCore::TestObjInternal::withScriptStateVoidCallback):
2809         (WebCore::TestObjInternal::withScriptStateObjCallback):
2810
2811 2010-04-27  Joseph Pecoraro  <joepeck@webkit.org>
2812
2813         Reviewed by Dan Bernstein.
2814
2815         <input type="search"> with uneven padding causes text clipping
2816         https://bugs.webkit.org/show_bug.cgi?id=38160
2817
2818         Test: fast/css/input-search-padding.html
2819
2820         An <input type="search"> contains an inner block, which is explicitly
2821         centered in RenderTextControlSingleLine based on the height of the element.
2822         However, the clipping rect was not using the set location, and instead
2823         calculated off of the top border and padding alone. This also vertically
2824         centers the Caps Lock indicator.
2825
2826         * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine
2827         * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect
2828         * rendering/RenderTextControlSingleLine.cpp:
2829         (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator
2830         (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead
2831         * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search">
2832
2833 2010-04-27  Thomas Zander <t.zander@nokia.com>
2834
2835         Reviewed by Simon Hausmann.
2836
2837         [Qt] Fix linking on Symbian on Linux using the Makefile based mkspec.
2838
2839         Disable thumb mode due to library size limitations, just like it's done
2840         for the sbs/sbsv2 based build system.
2841
2842         * WebCore.pro:
2843
2844 2010-04-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2845
2846         Reviewed by Kenneth Rohde Christiansen.
2847
2848         [Qt] Make sure WebKit is not compiled using C++0x.
2849         https://bugs.webkit.org/show_bug.cgi?id=37867
2850
2851         As the rest of Qt compiles in the C++0x mode, people might start
2852         compiling it in this mode. WebKit don't support this yet.
2853
2854         Patch by Thiago Macieira <thiago.macieira@nokia.com>
2855
2856         * WebCore.pro:
2857
2858 2010-04-27  Jeremy Orlow  <jorlow@chromium.org>
2859
2860         Unreviewed build fix.
2861
2862         Revert 58274 and 58269 (WebSQLDatabase changes)
2863         https://bugs.webkit.org/show_bug.cgi?id=38191
2864
2865         Chromium bots are hitting ASSERTS when running layout tests.
2866
2867         * platform/sql/SQLiteDatabase.cpp:
2868         (WebCore::SQLiteDatabase::maximumSize):
2869         (WebCore::SQLiteDatabase::freeSpaceSize):
2870         * platform/sql/SQLiteDatabase.h:
2871         * platform/sql/SQLiteStatement.cpp:
2872         (WebCore::SQLiteStatement::prepare):
2873         * storage/Database.cpp:
2874         (WebCore::Database::performOpenAndVerify):
2875         * storage/Database.h:
2876         * storage/SQLTransaction.cpp:
2877         (WebCore::SQLTransaction::postflightAndCommit):
2878
2879 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
2880
2881         Unreviewed, fix build breakage by reverting r58299.
2882
2883         * css/CSSGrammar.y:
2884         * css/CSSParser.cpp:
2885         (WebCore::CSSParser::CSSParser):
2886         (WebCore::CSSParser::clearProperties):
2887         * css/CSSParser.h:
2888         * css/CSSSelector.cpp:
2889         (WebCore::CSSSelector::pseudoId):
2890         (WebCore::nameToPseudoTypeMap):
2891         (WebCore::CSSSelector::extractPseudoType):
2892         * css/CSSSelector.h:
2893         (WebCore::CSSSelector::):
2894         * css/tokenizer.flex:
2895
2896 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
2897
2898         Reviewed by Shinichiro Hamaji.
2899
2900         WebCore::CSSSelector::RareData::parseNth doesn't check whether the search for '-' in the argument was successful.
2901         This results in incorrect parsing.
2902         For example, '3n' is parsed as if it were '3n-3'. The code has been working OK just accidentally.
2903
2904         https://bugs.webkit.org/show_bug.cgi?id=37787
2905
2906         No new tests are added because the original behavior is accidentally OK.
2907
2908         * css/CSSSelector.cpp:
2909         (WebCore::CSSSelector::RareData::parseNth):
2910
2911 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
2912
2913         Reviewed by David Hyatt.
2914
2915         Enhance CSS parser for Paged Media (Iteration 1)
2916
2917         In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined.
2918         The contents of the methods should be implemented by other changes.
2919
2920         https://bugs.webkit.org/show_bug.cgi?id=35329
2921
2922         Test: fast/css/parsing-page-rule.html
2923
2924         * css/CSSGrammar.y:
2925         * css/CSSParser.cpp:
2926         (WebCore::CSSParser::CSSParser):
2927         (WebCore::CSSParser::clearProperties):
2928         (WebCore::CSSParser::lex):
2929         (WebCore::CSSParser::text):
2930         (WebCore::CSSParser::createPageRule):
2931         (WebCore::CSSParser::createMarginAtRule):
2932         (WebCore::CSSParser::startDeclarationsForMarginBox):
2933         (WebCore::CSSParser::endDeclarationsForMarginBox):
2934         * css/CSSParser.h:
2935         * css/CSSSelector.cpp:
2936         (WebCore::CSSSelector::extractPseudoType):
2937         * css/CSSSelector.h:
2938         (WebCore::CSSSelector::):
2939         * css/tokenizer.flex:
2940
2941 2010-04-27  Adam Barth  <abarth@webkit.org>
2942
2943         Reviewed by Eric Seidel.
2944
2945         Remove custom bindings for TreeWalker
2946         https://bugs.webkit.org/show_bug.cgi?id=38182
2947
2948         This custom code is just CallWith=ScriptState.
2949
2950         * WebCore.gypi:
2951         * bindings/js/JSTreeWalkerCustom.cpp:
2952         (WebCore::JSTreeWalker::markChildren):
2953         * bindings/scripts/CodeGeneratorJS.pm:
2954         * bindings/scripts/CodeGeneratorV8.pm:
2955         * bindings/scripts/test/TestObj.idl:
2956         * bindings/v8/custom/V8TreeWalkerCustom.cpp: Removed.
2957         * dom/TreeWalker.idl:
2958
2959 2010-04-27  Eric Seidel  <eric@webkit.org>
2960
2961         Reviewed by Adam Barth.
2962
2963         Move code out of GenerateImplementation to make it more smaller
2964         https://bugs.webkit.org/show_bug.cgi?id=38176
2965
2966         * bindings/scripts/CodeGeneratorJS.pm:
2967          - Move some code into a new GenerateAttributesHashTable method.
2968
2969 2010-04-26  Adam Barth  <abarth@webkit.org>
2970
2971         Reviewed by Eric Seidel.
2972
2973         Add CallWith=DynamicFrame to CodeGenerator
2974         https://bugs.webkit.org/show_bug.cgi?id=38174
2975
2976         I've only used this in one instance, but this is infrastructure that I
2977         think will help remove a bunch of custom bindings code.  Also, added a
2978         few tests of tricky argument cases.
2979
2980         * bindings/js/JSHTMLFormElementCustom.cpp:
2981         * bindings/scripts/CodeGeneratorJS.pm:
2982         * bindings/scripts/CodeGeneratorV8.pm:
2983         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2984         (webkit_dom_test_obj_with_dynamic_frame):
2985         (webkit_dom_test_obj_with_dynamic_frame_and_arg):
2986         (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
2987         (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
2988         (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
2989         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2990         * bindings/scripts/test/JS/JSTestObj.cpp:
2991         (WebCore::):
2992         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
2993         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
2994         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
2995         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
2996         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
2997         * bindings/scripts/test/JS/JSTestObj.h:
2998         * bindings/scripts/test/ObjC/DOMTestObj.h:
2999         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3000         (-[DOMTestObj withDynamicFrame]):
3001         (-[DOMTestObj withDynamicFrameAndArg:]):
3002         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
3003         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
3004         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
3005         * bindings/scripts/test/TestObj.idl:
3006         * bindings/scripts/test/V8/V8TestObj.cpp:
3007         (WebCore::TestObjInternal::withDynamicFrameCallback):
3008         (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
3009         (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
3010         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
3011         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
3012         (WebCore::):
3013         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
3014         * html/HTMLFormElement.idl:
3015
3016 2010-04-26  Adam Barth  <abarth@webkit.org>
3017
3018         Unreviewed.  Update comment to better reflect reality.
3019
3020         * bindings/scripts/test/TestObj.idl:
3021
3022 2010-04-26  Adam Barth  <abarth@webkit.org>
3023
3024         Reviewed by Eric Seidel.
3025
3026         Add ObjC and GObject to run-bindings-test
3027         https://bugs.webkit.org/show_bug.cgi?id=38168
3028
3029         Added expected results.
3030
3031         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Added.
3032         (WebKit::kit):
3033         (webkit_dom_test_obj_void_method):
3034         (webkit_dom_test_obj_void_method_with_args):
3035         (webkit_dom_test_obj_int_method):
3036         (webkit_dom_test_obj_int_method_with_args):
3037         (webkit_dom_test_obj_obj_method):
3038         (webkit_dom_test_obj_obj_method_with_args):
3039         (webkit_dom_test_obj_method_with_exception):
3040         (webkit_dom_test_obj_method_with_optional_arg):
3041         (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
3042         (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
3043         (webkit_dom_test_obj_get_read_only_int_attr):
3044         (webkit_dom_test_obj_get_read_only_string_attr):
3045         (webkit_dom_test_obj_get_read_only_test_obj_attr):
3046         (webkit_dom_test_obj_get_int_attr):
3047         (webkit_dom_test_obj_set_int_attr):
3048         (webkit_dom_test_obj_get_string_attr):
3049         (webkit_dom_test_obj_set_string_attr):
3050         (webkit_dom_test_obj_get_test_obj_attr):
3051         (webkit_dom_test_obj_set_test_obj_attr):
3052         (webkit_dom_test_obj_get_attr_with_exception):
3053         (webkit_dom_test_obj_set_attr_with_exception):
3054         (webkit_dom_test_obj_get_attr_with_setter_exception):
3055         (webkit_dom_test_obj_set_attr_with_setter_exception):
3056         (webkit_dom_test_obj_get_attr_with_getter_exception):
3057         (webkit_dom_test_obj_set_attr_with_getter_exception):
3058         (WebKit::wrapTestObj):
3059         (WebKit::core):
3060         (webkit_dom_test_obj_finalize):
3061         (webkit_dom_test_obj_set_property):
3062         (webkit_dom_test_obj_get_property):
3063         (webkit_dom_test_obj_class_init):
3064         (webkit_dom_test_obj_init):
3065         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Added.
3066         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h: Added.
3067         * bindings/scripts/test/ObjC/DOMTestObj.h: Added.
3068         * bindings/scripts/test/ObjC/DOMTestObj.mm: Added.
3069         (-[DOMTestObj dealloc]):
3070         (-[DOMTestObj finalize]):
3071         (-[DOMTestObj readOnlyIntAttr]):
3072         (-[DOMTestObj readOnlyStringAttr]):
3073         (-[DOMTestObj readOnlyTestObjAttr]):
3074         (-[DOMTestObj intAttr]):
3075         (-[DOMTestObj setIntAttr:]):
3076         (-[DOMTestObj stringAttr]):
3077         (-[DOMTestObj setStringAttr:]):
3078         (-[DOMTestObj testObjAttr]):
3079         (-[DOMTestObj setTestObjAttr:]):
3080         (-[DOMTestObj attrWithException]):
3081         (-[DOMTestObj setAttrWithException:]):
3082         (-[DOMTestObj attrWithSetterException]):
3083         (-[DOMTestObj setAttrWithSetterException:]):
3084         (-[DOMTestObj attrWithGetterException]):
3085         (-[DOMTestObj setAttrWithGetterException:]):
3086         (-[DOMTestObj customAttr]):
3087         (-[DOMTestObj setCustomAttr:]):
3088         (-[DOMTestObj voidMethod]):
3089         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
3090         (-[DOMTestObj intMethod]):
3091         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
3092         (-[DOMTestObj objMethod]):
3093         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
3094         (-[DOMTestObj methodWithException]):
3095         (-[DOMTestObj customMethod]):
3096         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
3097         (-[DOMTestObj methodWithOptionalArg:]):
3098         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
3099         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
3100         (core):
3101         (kit):
3102         * bindings/scripts/test/ObjC/DOMTestObjInternal.h: Added.
3103
3104 2010-04-26  Adam Barth  <abarth@webkit.org>
3105
3106         Reviewed by Eric Seidel.
3107
3108         Add testing infrastructure for JSC bindings generator
3109         https://bugs.webkit.org/show_bug.cgi?id=38167
3110
3111         This required moving the test files around a bit more.
3112
3113         * bindings/scripts/test/JS/JSTestObj.cpp: Added.
3114         (WebCore::):
3115         (WebCore::JSTestObjConstructor::JSTestObjConstructor):
3116         (WebCore::JSTestObjConstructor::classInfo):
3117         (WebCore::JSTestObjConstructor::createStructure):
3118         (WebCore::JSTestObjConstructor::getOwnPropertySlot):
3119         (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
3120         (WebCore::JSTestObjPrototype::self):
3121         (WebCore::JSTestObjPrototype::getOwnPropertySlot):
3122         (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
3123         (WebCore::JSTestObj::JSTestObj):
3124         (WebCore::JSTestObj::~JSTestObj):
3125         (WebCore::JSTestObj::createPrototype):
3126         (WebCore::JSTestObj::getOwnPropertySlot):
3127         (WebCore::JSTestObj::getOwnPropertyDescriptor):
3128         (WebCore::jsTestObjReadOnlyIntAttr):
3129         (WebCore::jsTestObjReadOnlyStringAttr):
3130         (WebCore::jsTestObjReadOnlyTestObjAttr):
3131         (WebCore::jsTestObjIntAttr):
3132         (WebCore::jsTestObjStringAttr):
3133         (WebCore::jsTestObjTestObjAttr):
3134         (WebCore::jsTestObjAttrWithException):
3135         (WebCore::jsTestObjAttrWithSetterException):
3136         (WebCore::jsTestObjAttrWithGetterException):
3137         (WebCore::jsTestObjCustomAttr):
3138         (WebCore::jsTestObjConstructor):
3139         (WebCore::JSTestObj::put):
3140         (WebCore::setJSTestObjIntAttr):
3141         (WebCore::setJSTestObjStringAttr):
3142         (WebCore::setJSTestObjTestObjAttr):
3143         (WebCore::setJSTestObjAttrWithException):
3144         (WebCore::setJSTestObjAttrWithSetterException):
3145         (WebCore::setJSTestObjAttrWithGetterException):
3146         (WebCore::setJSTestObjCustomAttr):
3147         (WebCore::JSTestObj::getConstructor):
3148         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
3149         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
3150         (WebCore::jsTestObjPrototypeFunctionIntMethod):
3151         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
3152         (WebCore::jsTestObjPrototypeFunctionObjMethod):
3153         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
3154         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
3155         (WebCore::jsTestObjPrototypeFunctionCustomMethod):
3156         (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
3157         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
3158         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
3159         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
3160         (WebCore::toJS):
3161         (WebCore::toTestObj):
3162         * bindings/scripts/test/JS/JSTestObj.h: Added.
3163         (WebCore::JSTestObj::classInfo):
3164         (WebCore::JSTestObj::createStructure):
3165         (WebCore::JSTestObj::impl):
3166         (WebCore::JSTestObjPrototype::classInfo):
3167         (WebCore::JSTestObjPrototype::createStructure):
3168         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
3169         * bindings/scripts/test/TestObj.idl:
3170         * bindings/scripts/test/V8/V8TestObj.cpp: Renamed from WebCore/bindings/scripts/test/V8TestObj.cpp.
3171         (WebCore::):
3172         (WebCore::TestObjInternal::V8_USE):
3173         (WebCore::TestObjInternal::readOnlyIntAttrAttrGetter):
3174         (WebCore::TestObjInternal::readOnlyStringAttrAttrGetter):
3175         (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
3176         (WebCore::TestObjInternal::intAttrAttrGetter):
3177         (WebCore::TestObjInternal::intAttrAttrSetter):
3178         (WebCore::TestObjInternal::stringAttrAttrGetter):
3179         (WebCore::TestObjInternal::stringAttrAttrSetter):
3180         (WebCore::TestObjInternal::testObjAttrAttrGetter):
3181         (WebCore::TestObjInternal::testObjAttrAttrSetter):
3182         (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
3183         (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
3184         (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
3185         (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
3186         (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
3187         (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
3188         (WebCore::TestObjInternal::voidMethodCallback):
3189         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
3190         (WebCore::TestObjInternal::intMethodCallback):
3191         (WebCore::TestObjInternal::intMethodWithArgsCallback):
3192         (WebCore::TestObjInternal::objMethodCallback):
3193         (WebCore::TestObjInternal::objMethodWithArgsCallback):
3194         (WebCore::TestObjInternal::methodWithExceptionCallback):
3195         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
3196         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
3197         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
3198         (WebCore::TestObjInternal::overloadedMethod1Callback):
3199         (WebCore::TestObjInternal::overloadedMethod2Callback):
3200         (WebCore::TestObjInternal::overloadedMethod3Callback):
3201         (WebCore::TestObjInternal::overloadedMethod4Callback):
3202         (WebCore::TestObjInternal::overloadedMethodCallback):
3203         (WebCore::ConfigureV8TestObjTemplate):
3204         (WebCore::V8TestObj::GetRawTemplate):
3205         (WebCore::V8TestObj::GetTemplate):
3206         (WebCore::V8TestObj::toNative):
3207         (WebCore::V8TestObj::HasInstance):
3208         (WebCore::V8TestObj::wrap):
3209         (WebCore::toV8):
3210         (WebCore::V8TestObj::derefObject):
3211         * bindings/scripts/test/V8/V8TestObj.h: Renamed from WebCore/bindings/scripts/test/V8TestObj.h.
3212
3213 2010-04-26  Oliver Hunt  <oliver@apple.com>
3214
3215         Reviewed by Gavin Barraclough.
3216
3217         Need to support more efficient dispatch of lightweight builtins
3218         https://bugs.webkit.org/show_bug.cgi?id=38155
3219
3220         Update bindings generation to include new thunk generator field
3221         in the property map hash tables.
3222
3223         * bindings/scripts/CodeGeneratorJS.pm:
3224
3225 2010-04-26  Adam Barth  <abarth@webkit.org>
3226
3227         Reviewed by Eric Seidel.
3228
3229         Move bindings test directory into the scripts directory
3230         https://bugs.webkit.org/show_bug.cgi?id=38161
3231
3232         This test is really of the bindings scripts not of the bindings
3233         themselves.  By moving the files into the scripts directory, we'll be
3234         able to test JSC as well.
3235
3236         * bindings/scripts/test/TestObj.idl: Renamed from WebCore/bindings/v8/test/TestObj.idl.
3237         * bindings/scripts/test/V8TestObj.cpp: Renamed from WebCore/bindings/v8/test/V8TestObj.cpp.
3238         (WebCore::):
3239         (WebCore::TestObjInternal::V8_USE):
3240         (WebCore::TestObjInternal::readOnlyIntAttrAttrGetter):
3241         (WebCore::TestObjInternal::readOnlyStringAttrAttrGetter):
3242         (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
3243         (WebCore::TestObjInternal::intAttrAttrGetter):
3244         (WebCore::TestObjInternal::intAttrAttrSetter):
3245         (WebCore::TestObjInternal::stringAttrAttrGetter):
3246         (WebCore::TestObjInternal::stringAttrAttrSetter):
3247         (WebCore::TestObjInternal::testObjAttrAttrGetter):
3248         (WebCore::TestObjInternal::testObjAttrAttrSetter):
3249         (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
3250         (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
3251         (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
3252         (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
3253         (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
3254         (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
3255         (WebCore::TestObjInternal::voidMethodCallback):
3256         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
3257         (WebCore::TestObjInternal::intMethodCallback):
3258         (WebCore::TestObjInternal::intMethodWithArgsCallback):
3259         (WebCore::TestObjInternal::objMethodCallback):
3260         (WebCore::TestObjInternal::objMethodWithArgsCallback):
3261         (WebCore::TestObjInternal::methodWithExceptionCallback):
3262         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
3263         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
3264         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
3265         (WebCore::TestObjInternal::overloadedMethod1Callback):
3266         (WebCore::TestObjInternal::overloadedMethod2Callback):
3267         (WebCore::TestObjInternal::overloadedMethod3Callback):
3268         (WebCore::TestObjInternal::overloadedMethod4Callback):
3269         (WebCore::TestObjInternal::overloadedMethodCallback):
3270         (WebCore::ConfigureV8TestObjTemplate):
3271         (WebCore::V8TestObj::GetRawTemplate):
3272         (WebCore::V8TestObj::GetTemplate):
3273         (WebCore::V8TestObj::toNative):
3274         (WebCore::V8TestObj::HasInstance):
3275         (WebCore::V8TestObj::wrap):
3276         (WebCore::toV8):
3277         (WebCore::V8TestObj::derefObject):
3278         * bindings/scripts/test/V8TestObj.h: Renamed from WebCore/bindings/v8/test/V8TestObj.h.
3279
3280 2010-04-26  Daniel Cheng  <dcheng@chromium.org>
3281
3282         Reviewed by Jian Li.
3283
3284         [chromium] Fix ChromiumDataObject::setURL to not populate its internal URL list with empty URLs.
3285         https://bugs.webkit.org/show_bug.cgi?id=38159
3286
3287         No new tests.
3288
3289         * platform/chromium/ChromiumDataObject.h:
3290         (WebCore::ChromiumDataObject::setURL):
3291
3292 2010-04-26  Daniel Cheng  <dcheng@chromium.org>
3293
3294         Reviewed by Jian Li.
3295
3296         [Chromium] Don't make file paths available in text/uri-list when dragging files.
3297         https://bugs.webkit.org/show_bug.cgi?id=25882
3298
3299         Test will be checked in with WebCore/platform/mac fix.
3300
3301         * platform/chromium/ClipboardChromium.cpp:
3302         (WebCore::ClipboardChromium::getData):
3303         (WebCore::ClipboardChromium::types):
3304
3305 2010-04-26  Maciej Stachowiak  <mjs@apple.com>
3306
3307         Reviewed by Darin Adler.
3308
3309         REGRESSION (r57292): 1.5% page load speed regression from visited link information leak fix
3310         https://bugs.webkit.org/show_bug.cgi?id=38131
3311
3312         I did a number of separate optimizations which speed up style
3313         resolution enough to more than make up for the regression. This
3314         measures as a total PLT speedup of somewhere between 1.5% and
3315         3.7%.
3316        
3317         Optimizations done:
3318         - Cache determineLinkState results, to avoid the need to repeatedly compute
3319         the visited link hash for the same element. This directly addresses much
3320         of the slowdown, since all elements get their style computed twice now.
3321         - Added a fast way to get the length of a CSSMutableStyleDeclaration, and use
3322         in CSSStyleSelector::matchRulesForList, since it was hot there.
3323         - Hoist some loop invariant code that's not detected by the compiler out of the
3324         main loop in matchRulesForList
3325         - inline CSSStyleSelector::initElement and locateSharedStyle,
3326         since there is only one call site in each case
3327         - Inline the common non-line fast case of determineLinkState, and split the rest into
3328         out-of-line determineLinkStateSlowCase.
3329         - Added inline versions of the functions called by
3330         visitedLinkHash (the version called by determineLinkState).
3331
3332         * css/CSSMutableStyleDeclaration.cpp:
3333         (WebCore::CSSMutableStyleDeclaration::length): Implemented in terms of new
3334         inline nonvirtual mutableLength().
3335         * css/CSSMutableStyleDeclaration.h:
3336         (WebCore::CSSMutableStyleDeclaration::mutableLength): Added new nonvirtual
3337         inline way to get the length if you know you have a mutable style decl.
3338         * css/CSSStyleSelector.cpp:
3339         (WebCore::CSSStyleSelector::init): Clear cached link state.
3340         (WebCore::CSSStyleSelector::matchRulesForList): hoist some code out of the main
3341         loop and get style decl length more efficiently.
3342         (WebCore::CSSStyleSelector::initElement): inline (only one call site)
3343         (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState): Inline fast
3344         case, call slow case.
3345         (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase): Split
3346         most of the above function into this slow case helper.
3347         (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the cache-enabled
3348         way to get the current link state.
3349         (WebCore::CSSStyleSelector::locateSharedStyle): inline
3350         (WebCore::CSSStyleSelector::styleForElement): Use the cache-enabled way
3351         to get the current link state.
3352         * css/CSSStyleSelector.h:
3353         (WebCore::CSSStyleSelector::currentElementLinkState): inline way to
3354         get link state for the current element; manages the cache
3355         * platform/LinkHash.cpp:
3356         (WebCore::visitedLinkHashInline): inline version of below function
3357         (WebCore::visitedLinkHash): call the inline version
3358         (WebCore::visitedURLInline): inline version of below function
3359         (WebCore::visitedURL): call the inline version
3360         (WebCore::visitedURL): call inline versions of above two functions
3361
3362 2010-04-26  Sam Weinig  <sam@webkit.org>
3363
3364         Reviewed by Alexey Proskuryakov.
3365
3366         Remove last use of WEB_THREAD.
3367
3368         * platform/mac/WebCoreObjCExtras.mm:
3369         (WebCoreObjCScheduleDeallocateOnMainThread): This can always use
3370         isMainThread().
3371
3372 2010-04-26  Dumitru Daniliuc  <dumi@chromium.org>
3373
3374         Reviewed by Dimitri Glazkov.
3375
3376         Turn on AUTO_VACUUM = INCREMENTAL for all HTML5 databases, and
3377         vacuum all databases when the number of free pages is at least 10%
3378         of the number of total pages. Also, adding a guard against a bug
3379         that was fixed in SQLite only starting with version 3.6.16.
3380
3381         https://bugs.webkit.org/show_bug.cgi?id=36251
3382
3383         * platform/sql/SQLiteDatabase.cpp:
3384         (WebCore::SQLiteDatabase::totalSize):
3385         (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
3386         (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
3387         * platform/sql/SQLiteDatabase.h:
3388         * platform/sql/SQLiteStatement.cpp:
3389         (WebCore::SQLiteStatement::prepare):
3390         * storage/Database.cpp:
3391         (WebCore::Database::performOpenAndVerify):
3392         (WebCore::Database::incrementalVacuumIfNeeded):
3393         * storage/Database.h:
3394         * storage/SQLTransaction.cpp:
3395         (WebCore::SQLTransaction::postflightAndCommit):
3396
3397 2010-04-26  Geoffrey Garen  <ggaren@apple.com>
3398
3399         Reviewed by Sam Weinig.
3400
3401         <rdar://problem/7766413>
3402         
3403         Fixed a crash seen when using the JavaScriptCore API with WebKit.
3404         
3405         No layout test because DumpRenderTree doesn't use the JavaScriptCore API
3406         in this way.
3407
3408         * bindings/js/JSEventListener.cpp:
3409         (WebCore::JSEventListener::JSEventListener): Don't assign 0 to a WeakGCPtr.
3410         JavaScriptCore no longer allows this.
3411
3412         * bindings/js/ScriptWrappable.h:
3413         (WebCore::ScriptWrappable::setWrapper): No need to initialize a WeakGCPtr
3414         to 0, or ASSERT a non-0 value before assigning to a WeakGCPtr -- both are
3415         default behaviors.
3416
3417 2010-04-25  Sam Weinig  <sam@webkit.org>
3418
3419         Reviewed by Maciej Stachowiak.
3420
3421         Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
3422         Disentangle initializing the main thread from initializing threading
3423
3424         * WebCore.xcodeproj/project.pbxproj: Sort files.
3425
3426         * accessibility/mac/AccessibilityObjectWrapper.mm: Remove unnessary
3427         +initialize method. The AccessibilityObjectWrapper has no data members
3428         that need to be derefed, so it does not need to be finalized on the main
3429         thread.
3430
3431         * bindings/js/ScriptController.cpp:
3432         (WebCore::ScriptController::initializeThreading): Add call to initializeMainThread.
3433         * bindings/objc/WebScriptObject.mm:
3434         (+[WebScriptObject initialize]): Add call to initializeMainThreadToProcessMainThread.
3435         * bindings/v8/ScriptController.cpp:
3436         (WebCore::ScriptController::initializeThreading): Add call to initializeMainThread.
3437         * platform/mac/SharedBufferMac.mm:
3438         (+[WebCoreSharedBufferData initialize]): Add call to initializeMainThreadToProcessMainThread.
3439
3440 2010-04-26  Yongjun Zhang  <yongjun_zhang@apple.com>
3441
3442         Reviewed by Alexey Proskuryakov.
3443         
3444         https://bugs.webkit.org/show_bug.cgi?id=38128
3445         Don't add empty credential to CredentialStorage.
3446         
3447         An empty credential is currently regarded as a invalid login because it means a missing value in 
3448         protectionSpaceToCredentialMap.  This change makes it consistent with current WebCore's behavior
3449         by ignoring empty credentials.
3450         
3451         No new tests added since this only affects credential entered by user from credential dialog,
3452         which is not testable in DRT.
3453
3454         * platform/network/mac/ResourceHandleMac.mm:
3455         (WebCore::ResourceHandle::receivedCredential):
3456
3457 2010-04-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3458
3459         Reviewed by Simon Hausmann.
3460
3461         [Qt] Clean-up WebCore.pro after now that JavaScriptCore is built separately
3462         https://bugs.webkit.org/show_bug.cgi?id=38123
3463
3464         HAVE_STDINT_H, and HAVE_PTHREAD_NP_H no longer needs to be defined
3465         for QtWebKit  as JavaScriptCore is built separately. These defines are only 
3466         used  by JavaScriptCore and for JavaScriptCore these are already
3467         properly defined in JavaScriptCore/config.h.
3468
3469         No new tests, no new functionality.
3470
3471         * WebCore.pro:
3472
3473 2010-04-26  Roman Gershman  <romange@google.com>
3474
3475         Reviewed by Adam Barth.
3476
3477         [Chromium] Font size in suggestions popup menu should be correlated with the font size of its text field.
3478         The following manual test checks for desired behavior.
3479
3480         https://bugs.webkit.org/show_bug.cgi?id=37977
3481
3482         * manual-tests/chromium/suggestions-popup-font-change.html: Added.
3483
3484 2010-04-26  Luiz Agostini  <luiz.agostini@openbossa.org>
3485
3486         Reviewed by Kenneth Rohde Christiansen.
3487
3488         View modes names in CSSValueKeywords.in
3489         https://bugs.webkit.org/show_bug.cgi?id=38125
3490
3491         View mode names has changed in previous patch but CSSValueKeywords.in file was
3492         not updated.
3493
3494         * css/CSSValueKeywords.in:
3495
3496 2010-04-26  Simon Hausmann  <simon.hausmann@nokia.com>
3497
3498         Reviewed by Kenneth Rohde Christiansen.
3499
3500         [Qt] Fix compilation with RVCT 4
3501         https://bugs.webkit.org/show_bug.cgi?id=37727
3502
3503         Swap extern and declspec to fix visibility of symbol imported from QtGui.
3504
3505         * page/qt/EventHandlerQt.cpp:
3506
3507 2010-04-26  Ruben Van Boxem  <vanboxem.ruben@gmail.com>
3508
3509         Reviewed by Adam Roben.
3510
3511         Fixes for Win64 compilation under gcc (mingw-w64)
3512
3513         *  WebCore/bridge/npapi.h: for win64 compatibility, mirroring mozilla-central, see Mozilla bug 560298
3514         *  WebCore/platform/Arena.h: uword is used to cast from pointers here. unsigned long is 32-bit on Windows (but 64-bit on mac), and too small to hold a pointer. uintptr_t is 32-bit on 32-bit systems (mac, linux and windows) and 64-bit on all 64-bit systems
3515         *  WebCore/platform/graphics/transforms/TransformationMatrix.h: let mingw-w64/w32 use MSVC codepath
3516         *  WebCore/platform/text/TextStream.cpp: let mingw-w64 use MSVC codepath
3517         *  WebCore/platform/text/TextStream.h: let mingw-w64 use MSVC codepath
3518         *  WebCore/plugins/PluginView.cpp: fix pointer casts on WIN64 and let mingw-w64 use MSVC codepath
3519         *  WebCore/plugins/win/PluginViewWin.cpp: fix pointer casts on WIN64
3520
3521 2010-04-26  Markus Goetz  <Markus.Goetz@nokia.com>
3522
3523         Reviewed by Simon Hausmann.
3524
3525         [Qt] HTTP pipelining efficiency increase
3526         https://bugs.webkit.org/show_bug.cgi?id=38062
3527
3528         Increase number of network requests that are fed into
3529         QNetworkAccessManager.
3530
3531         * platform/network/qt/ResourceRequestQt.cpp:
3532         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
3533
3534 2010-04-26  Ilya Tikhonovsky  <loislo@chromium.org>
3535
3536         Reviewed by Yury Semikhatsky.
3537
3538         Web Inspector: undefined shows up on inspector.
3539         https://bugs.webkit.org/show_bug.cgi?id=38120
3540
3541         * inspector/front-end/ScriptsPanel.js:
3542         (WebInspector.ScriptsPanel.prototype.hide):
3543         * inspector/front-end/SourceFrame.js:
3544         (WebInspector.SourceFrame.prototype.set visible):
3545
3546 2010-04-26  Bruno Schmidt  <bruno.schmidt@gmail.com>
3547
3548         Reviewed by Kenneth Rohde Christiansen.
3549
3550         [Qt] Exposing an QVariantMap containing QObjectStar to Javascript
3551         causes Segmentation Fault
3552         https://bugs.webkit.org/show_bug.cgi?id=34729
3553
3554         If an QVariantMap containing QObjectStar is added to the to QtWebkit
3555         Javascript, it's use causes Segmentation Fault.
3556         It happens because, in the case QMetaType::QVariantMap, the "root"
3557         object that is inside of a PassRefPtr is passed recursively inside a
3558         loop to recover the content of the map, but the PassRefPtr semantics
3559         prohibit its use inside a loop, so the "root" object mus be passed
3560         using the method "PassRefPtr::get" in order to keep the current
3561         reference.
3562
3563         * bridge/qt/qt_runtime.cpp:
3564         (JSC::Bindings::convertValueToQVariant):
3565         (JSC::Bindings::convertQVariantToValue): change to root.get()
3566
3567 2010-04-26  Pavel Feldman  <pfeldman@chromium.org>
3568
3569         Reviewed by Yury Semikhatsky.
3570
3571         Web Inspector: Render clip in summary bar using "arc", not "quadraticCurveTo".
3572
3573         https://bugs.webkit.org/show_bug.cgi?id=38107
3574
3575         * inspector/front-end/SummaryBar.js:
3576         (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):