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