2010-05-11 Joseph Pecoraro <joepeck@webkit.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-05-11  Joseph Pecoraro  <joepeck@webkit.org>
2
3         Reviewed by Timothy Hatcher.
4
5         Web Inspector: Shorthand Properties Getting Deleted When Editing
6         https://bugs.webkit.org/show_bug.cgi?id=38958
7
8         * inspector/front-end/DOMAgent.js:
9         (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands): was getting regular values instead of shorthand values
10
11 2010-05-11  Tony Chang  <tony@chromium.org>
12
13         Reviewed by Darin Fisher.
14
15         [chromium] Remove subframe scrollbar routing (r58937)
16         https://bugs.webkit.org/show_bug.cgi?id=38894
17
18         * page/chromium/EventHandlerChromium.cpp:
19         (WebCore::EventHandler::passMousePressEventToSubframe):
20
21 2010-05-11  Simon Fraser  <simon.fraser@apple.com>
22
23         Reviewed by Maciej Stachowiak.
24
25         Body not redrawn, and filled with garbage on some composited pages
26         https://bugs.webkit.org/show_bug.cgi?id=38951
27         <rdar://problem/7891548>
28         
29         When the root layer becomes composited (for example, because a negative z-index
30         descendant in its stacking context becomes composited), then it has to be made
31         large enough to fill the viewport, because the page background draws into it.
32
33         Test: compositing/geometry/composited-html-size.html
34
35         * rendering/RenderLayerCompositor.cpp:
36         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
37
38 2010-05-11  Anders Carlsson  <andersca@apple.com>
39
40         Reviewed by Mark Rowe.
41
42         https://bugs.webkit.org/show_bug.cgi?id=38961
43         Move some member variables around to reduce class sizes.
44
45         If a class inherits (directly or indirectly) from FastAllocBase, we don't want the first member variable
46         of that class to also inherit (directly or indirectly) from FastAllocBase as this will add padding to the class
47         and thus increasing its size.
48
49         * css/CSSParserValues.h:
50         * css/CSSSelector.h:
51         (WebCore::CSSSelector::CSSSelector):
52         (WebCore::CSSSelector::RareData::RareData):
53         * platform/graphics/FontCache.cpp:
54         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
55
56 2010-05-11  Dumitru Daniliuc  <dumi@chromium.org>
57
58         Reviewed by Adam Barth.
59
60         Adding a function needed by the V8 code generator to turn on/off
61         the binding for WorkerContext::openDatabaseSync().
62         https://bugs.webkit.org/show_bug.cgi?id=38960
63
64         * bindings/generic/RuntimeEnabledFeatures.cpp:
65         (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
66         * bindings/generic/RuntimeEnabledFeatures.h:
67
68 2010-05-11  MORITA Hajime  <morrita@google.com>
69
70         Reviewed by Dirk Schulze.
71
72         CSS SVG font doesn't recognize URL without element reference
73         https://bugs.webkit.org/show_bug.cgi?id=37144
74
75         CachedFont::getSVGFontById() did assume that element reference (ID) is given.
76         So fixed to handle an empty or missing element reference. In which case, 
77         the first font element is returned if available.
78         
79         Test: svg/custom/svg-fonts-with-no-element-reference.html
80
81         * loader/CachedFont.cpp:
82         (WebCore::CachedFont::getSVGFontById):
83
84 2010-05-11  Jer Noble  <jer.noble@apple.com>
85
86         No Review.
87         
88         Fix the Windows Debug Build: the correct VCProj variable to use when linking against
89         JavaScriptCore is $(WebKitDLLConfigSuffix), not $(WebKitConfigSuffix), which expands
90         to an empty string rather than "_debug".
91         
92         * WebCore.vcproj/QTMovieWin.vcproj:
93
94 2010-05-11  Jer Noble  <jer.noble@apple.com>
95
96         Darin Adler.
97
98         19 media tests are crashing on Windows Release
99         https://bugs.webkit.org/show_bug.cgi?id=38950
100         rdar://problem/7971658
101
102         Link against JavaScriptCore.lib instead of WTF.lib, so the free and malloc used by 
103         QTMovieWin is always the free and malloc in JavaScriptCore.dll.
104         
105         * WebCore.vcproj/QTMovieWin.vcproj:
106
107 2010-05-11  Darin Adler  <darin@apple.com>
108
109         Reviewed by Beth Dakin.
110
111         Another refactoring patch in preparation for a fix to
112         https://bugs.webkit.org/show_bug.cgi?id=38871
113         REGRESSION: Crash clicking background NPR tab after few minutes of sitting idle
114
115         * dom/Document.cpp:
116         (WebCore::Document::addMediaCanStartListener): Added.
117         (WebCore::Document::removeMediaCanStartListener): Added.
118
119         * dom/Document.h: Added add/removeMediaCanStartListener.
120
121         * html/HTMLMediaElement.cpp:
122         (WebCore::HTMLMediaElement::~HTMLMediaElement): Call removeMediaCanStartListener
123         on the document instead of the page.
124         (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Call
125         removeMediaCanStartListener on the current document.
126         (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Call
127         addMediaCanStartListener on the new document.
128         (WebCore::HTMLMediaElement::loadInternal): Call addMediaCanStartListener
129         on the document instead of the page.
130
131         * plugins/PluginView.cpp:
132         (WebCore::PluginView::startOrAddToUnstartedList): Call addMediaCanStartListener
133         on the document instead of the page.
134         (WebCore::PluginView::~PluginView): Call removeMediaCanStartListener
135         on the document instead of the page, and do it in line instead of calling
136         a function.
137
138         * plugins/PluginView.h: Removed unused removeFromUnstartedListIfNecessary.
139
140 2010-05-11  Brian Weinstein  <bweinstein@apple.com>
141
142         Reviewed by Steve Falkenburg and Jon Honeycutt.
143         Patch by Gavin Barraclough.
144
145         REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
146         https://bugs.webkit.org/show_bug.cgi?id=38930
147         <rdar://problem/7937188>
148         
149         Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir).
150
151         No new tests because no change in behavior.
152
153         * WebCore.vcproj/WebCore.vcproj:
154
155 2010-05-11  Beth Dakin  <bdakin@apple.com>
156
157         Reviewed by Darin Adler.
158
159         Small re-factoring patch in preparation for fixing https://
160         bugs.webkit.org/show_bug.cgi?id=38871 REGRESSION: Crash clicking 
161         background NPR tab after few minutes of sitting idle
162
163         * page/Page.cpp:
164         (WebCore::Page::takeAnyMediaCanStartListener):
165         (WebCore::Page::setCanStartMedia):
166         * page/Page.h:
167
168 2010-05-11  Alexey Proskuryakov  <ap@apple.com>
169
170         Reviewed by Brady Eidson.
171
172         https://bugs.webkit.org/show_bug.cgi?id=37989
173         Safari (still) doesn't always send basic credentials preemptively
174
175         Test: http/tests/xmlhttprequest/basic-auth-default.html
176
177         After fetching credentials from WebCore storage, put them back right away. This will add
178         default credentials for the directory, since this may be the first time we learn about its
179         associated protection space.
180
181         * platform/network/cf/ResourceHandleCFNet.cpp:
182         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
183         (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
184         * platform/network/mac/ResourceHandleMac.mm:
185         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
186         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]):
187
188 2010-05-11  Kevin Watters  <kevinwatters@gmail.com>
189
190         Reviewed by Kevin Ollivier.
191
192         [wx] Create an NSFont on Mac builds that do not have built-in methods to do so.
193         https://bugs.webkit.org/show_bug.cgi?id=38931
194
195         * platform/graphics/wx/FontPlatformData.h:
196         (WebCore::FontPlatformData::nsFont):
197         * platform/graphics/wx/FontPlatformDataWxMac.mm:
198         (DegToRad):
199         (OSXCreateNSFont):
200         (WebCore::FontPlatformData::cacheNSFont):
201         * platform/graphics/wx/SimpleFontDataWx.cpp:
202         (WebCore::SimpleFontData::platformWidthForGlyph):
203
204 2010-05-11  Avi Drissman  <avi@chromium.org>
205
206         Reviewed by Darin Fisher.
207
208         [Chromium] Pipe RTL info into WebPopupMenuInfo
209         https://bugs.webkit.org/show_bug.cgi?id=38749
210
211         * platform/chromium/PopupMenuChromium.cpp:
212         (WebCore::PopupContainer::menuStyle):
213         * platform/chromium/PopupMenuChromium.h:
214
215 2010-05-11  Mark Rowe  <mrowe@apple.com>
216
217         Fix the world.
218
219         In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
220         The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
221         that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
222         in sync with build-webkit.  This led to WebCore and WebKit having different views of Document's vtable
223         and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
224         function in WebCore being called.
225
226         We fix this by bringing the FeatureDefines.xcconfig files in to sync.  Based on the ChangeLog message and
227         other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
228         has been reverted.
229
230         * Configurations/FeatureDefines.xcconfig:
231
232 2010-05-11  Dimitri Glazkov  <dglazkov@chromium.org>
233
234         Reviewed by Darin Adler.
235
236         REGRESSION(r58520): Implicit submission on forms with button type="submit" no longer works
237         https://bugs.webkit.org/show_bug.cgi?id=38913
238
239         * Widened the check for a successful submit button to include all HTMLFormControlElements.
240         * Clarified implicit submission code by:
241             - introducing HTMLFormControlElement::canTriggerImplicitSubmission flag,
242             - getting rid of static casting and checking for tag names.
243
244         * html/HTMLFormControlElement.h:
245         (WebCore::HTMLFormControlElement::canTriggerImplicitSubmission): Added.
246         * html/HTMLFormElement.cpp:
247         (WebCore::HTMLFormElement::submitImplicitly): Renamed parameters for clarity, refactored code
248             to use canTriggerImplicitSubmission.
249         * html/HTMLFormElement.h: Renamed parameter for clarity.
250         * html/HTMLInputElement.cpp:
251         (WebCore::HTMLInputElement::defaultEventHandler):  Used canTriggerImplicitSubmission()
252             instead of isTextField() for clarity.
253         * html/HTMLInputElement.h:
254         (WebCore::HTMLInputElement::canTriggerImplicitSubmission): Added.
255         * html/HTMLIsIndexElement.h:
256         (WebCore::HTMLIsIndexElement::canTriggerImplicitSubmission): Added.
257
258 2010-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
259
260         Unreviewed, rolling out r59171.
261         http://trac.webkit.org/changeset/59171
262         https://bugs.webkit.org/show_bug.cgi?id=38933
263
264         "Broke the world" (Requested by bweinstein on #webkit).
265
266         * WebCore.vcproj/WebCore.vcproj:
267
268 2010-05-11  Brian Weinstein  <bweinstein@apple.com>
269
270         Reviewed by Steve Falkenburg.
271         Patch by Gavin Barraclough.
272
273         REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
274         https://bugs.webkit.org/show_bug.cgi?id=38930
275         <rdar://problem/7937188>
276         
277         Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir).
278
279         No new tests because no change in behavior.
280
281         * WebCore.vcproj/WebCore.vcproj:
282
283 2010-05-11  Jian Li  <jianli@chromium.org>
284
285         Unreviewed. Fix compiling erron on snow leopard.
286
287         * html/FileThreadTask.h:
288         (WebCore::createFileThreadTask):
289
290 2010-05-11  Jian Li  <jianli@chromium.org>
291
292         Reviewed by Dmitry Titov.
293
294         Expose FileReader interface.
295         https://bugs.webkit.org/show_bug.cgi?id=38609
296
297         Test: fast/files/file-reader.html
298
299         * Configurations/FeatureDefines.xcconfig:
300         * DerivedSources.cpp:
301         * DerivedSources.make:
302         * GNUmakefile.am:
303         * WebCore.gypi:
304         * WebCore.pri:
305         * WebCore.vcproj/WebCore.vcproj:
306         * WebCore.xcodeproj/project.pbxproj:
307         * bindings/js/JSEventTarget.cpp:
308         (WebCore::toJS):
309         * bindings/v8/V8DOMWrapper.cpp:
310         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
311         * html/FileError.idl:
312         * html/FileReader.idl: Added.
313         * page/DOMWindow.idl:
314
315 2010-05-11  Xan Lopez  <xlopez@igalia.com>
316
317         Reviewed by Gustavo Noronha.
318
319         [gtk] critical warning in soup_message_set_first_party() when cancelling a navigation
320         https://bugs.webkit.org/show_bug.cgi?id=38653
321
322         Check if willSendRequest cancelled the request before setting the
323         first party for the cookies in the message, otherwise we'll get a
324         critical warning.
325
326         * platform/network/soup/ResourceHandleSoup.cpp:
327         (WebCore::restartedCallback):
328
329 2010-05-11  Jer Noble  <jer.noble@apple.com>
330
331         Reviewed by Adele Peterson.
332
333         REGRESSION (r59001): 11 media tests are failing on Windows (38847)
334         rdar://problem/7962997
335         https://bugs.webkit.org/show_bug.cgi?id=38847
336         
337         QTMovieWin was too much refactored; the cacheMovieScale() function should have
338         been left in QTMovie (instead of being moved into QTMovieGWorld).  This fixes the
339         video-size-intrinsic-scale test.
340         
341         QTMovieTask::updateTaskTimer() was ignoring the maxInterval parameter unless 
342         QTGetTimeUntilNextTask() returned an error, which caused the next timer to be
343         scheduled for extremely far in the future, breaking some of the layout tests.
344         
345         QTMovieTask::fireTaskClients() now makes a local copy of the task list before 
346         calling clients, in case one of them removes themselves from the task list and
347         invalidates our iterating pointer.
348         
349         * platform/graphics/win/QTMovie.cpp:
350         (QTMoviePrivate::task):
351         (QTMoviePrivate::createMovieController):
352         (QTMoviePrivate::cacheMovieScale):
353         * platform/graphics/win/QTMovieGWorld.cpp:
354         (QTMovieGWorldPrivate::movieLoadStateChanged):
355         * platform/graphics/win/QTMovieTask.cpp:
356         (QTMovieTask::updateTaskTimer):
357         (QTMovieTask::fireTaskClients):
358
359 2010-05-11  Patrick Gansterer  <paroga@paroga.com>
360
361         Reviewed by Adam Roben.
362
363         Port SharedBuffer to WinCE.
364         https://bugs.webkit.org/show_bug.cgi?id=37222
365
366         Use only functions which are available on Win32 and WinCE.
367
368         * platform/win/SharedBufferWin.cpp:
369         (WebCore::SharedBuffer::createWithContentsOfFile):
370
371 2010-05-11  Benjamin Poulain  <benjamin.poulain@nokia.com>
372
373         Reviewed by Kenneth Rohde Christiansen.
374
375         [Qt] fast/text/find-hidden-text.html
376         https://bugs.webkit.org/show_bug.cgi?id=32922
377
378         Use the real page step for populating the QStyleOption otherwhise
379         the size can be negative, which can break the QStyle used.
380
381         * platform/qt/ScrollbarThemeQt.cpp:
382         (WebCore::styleOptionSlider):
383
384 2010-05-11  Pavel Feldman  <pfeldman@chromium.org>
385
386         Reviewed by Yury Semikhatsky.
387
388         Web Inspector: make styles rendering more user-friendly.
389
390         https://bugs.webkit.org/show_bug.cgi?id=36747
391
392         * inspector/front-end/ElementsPanel.js:
393         (WebInspector.ElementsPanel):
394         * inspector/front-end/StylesSidebarPane.js:
395         (WebInspector.StylesSidebarPane.prototype._update):
396         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
397         (WebInspector.ComputedStyleSidebarPane):
398         (WebInspector.StylePropertiesSection):
399         (WebInspector.StylePropertiesSection.prototype.collapse):
400         (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
401         * inspector/front-end/inspector.css:
402         (#elements-content):
403         (#elements-sidebar):
404         (.styles-sidebar-separator):
405         (.styles-section):
406         (.styles-section .header):
407         (.styles-section .header .title):
408         (.styles-section .header .subtitle):
409         (.styles-section .header .subtitle a):
410         (.styles-section .properties):
411         (.styles-section.no-affect .properties li):
412         (.styles-section.no-affect .properties li.editing):
413         (.styles-section.expanded .properties):
414         (.styles-section .properties li):
415         (.styles-section .properties li.parent):
416         (.styles-section .properties ol):
417         (.styles-section .properties ol.expanded):
418         (.styles-section .properties li.parent::before):
419         (.styles-section .properties li.parent.expanded::before):
420         (.styles-section .properties li .info):
421         (.styles-section:hover .properties .enabled-button):
422         (.styles-section .properties li.disabled .enabled-button):
423         (.styles-section .properties .enabled-button):
424         (.styles-section .properties .overloaded, .styles-section .properties .disabled):
425         (.styles-section.computed-style .properties .disabled):
426         (.styles-section .properties .implicit, .styles-section .properties .inherited):
427         (.styles-section .properties .inherited):
428         (.styles-section.show-inherited .properties .inherited):
429
430 2010-05-11  Nikolas Zimmermann  <nzimmermann@rim.com>
431
432         Reviewed by Dirk Schulze.
433
434         Move buildLayoutInformationForTextBox() from SVGRootInlineBox in SVGInlineTextBox where it belongs
435         https://bugs.webkit.org/show_bug.cgi?id=38799
436
437         Cleanup SVGRootInlineBox/SVGInlineTextBox. Move buildLayoutInformationForTextBox to SVGInlineTextBox.
438         Move lots of helper methods into new SVGTextLayoutUtilities class. Adapted all callsites.
439
440         Fixed bug in kerning handling, hkern was applyable to vertical text as well. Covered by two new tests.
441
442         Tests: svg/text/text-hkern-on-vertical-text.svg
443                svg/text/text-vkern-on-horizontal-text.svg
444
445         * Android.mk: Add SVGTextLayoutUtilities.cpp/h to build.
446         * GNUmakefile.am: Ditto.
447         * WebCore.gypi: Ditto.
448         * WebCore.pro: Ditto.
449         * WebCore.vcproj/WebCore.vcproj: Ditto.
450         * WebCore.xcodeproj/project.pbxproj: Ditto.
451         * rendering/SVGInlineTextBox.cpp:
452         (WebCore::SVGInlineTextBox::calculateGlyphWidth): Use textRenderer()->characters() instead of textRenderer()->text()->characters() as shortcut.
453         (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): Fix style issue, no else if after a return branch.
454         (WebCore::SVGInlineTextBox::paintSelection): Use !color.alpha() instead of color.alpha() == 0.
455         (WebCore::SVGInlineTextBox::buildLayoutInformation): Moved from SVGRootInlineBox::buildLayoutInformationForTextBox.
456         * rendering/SVGInlineTextBox.h: Fix indention.
457         (WebCore::SVGInlineTextBox::selectionTop): Inlined.
458         (WebCore::SVGInlineTextBox::selectionHeight): Inlined.
459         * rendering/SVGRenderTreeAsText.cpp: Include SVGTextLayoutUtilities.h
460         * rendering/SVGRootInlineBox.cpp: Move almost all static text layout helper functions in SVGTextLayoutUtilities
461         (WebCore::calculateTextLengthCorrectionForTextChunk): Fixed style issue in long if conditions spanning multiple lines.
462         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Use different topLeftPositionOfCharacterRange() taking start/end iterators.
463         (WebCore::SVGRootInlineBox::buildLayoutInformation): Use the moved SVGInlineTextBox::buildLayoutInformation() method.
464         (WebCore::SVGRootInlineBox::buildTextChunks): Fixed small style issue, remove unneeded parenthesis.
465         (WebCore::SVGRootInlineBox::layoutTextChunks): Fix style issue in debugging code.
466         * rendering/SVGRootInlineBox.h: Rename 'LastGlyphInfo' to 'SVGLastGlyphInfo' and move to SVGTextLayoutUtilities.
467         (WebCore::SVGRootInlineBox::svgTextChunks): Inlined for speed.
468         * rendering/SVGTextLayoutUtilities.cpp: Added.
469         (WebCore::isVerticalWritingMode):
470         (WebCore::dominantBaselineToShift):
471         (WebCore::alignmentBaselineToShift):
472         (WebCore::glyphOrientationToAngle):
473         (WebCore::glyphOrientationIsMultiplyOf180Degrees):
474         (WebCore::applyGlyphAdvanceAndShiftRespectingOrientation):
475         (WebCore::topLeftPositionOfCharacterRange):
476         (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
477         (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
478         (WebCore::svgTextRunForInlineTextBox):
479         (WebCore::calculateCSSKerning):
480         (WebCore::applySVGKerning):
481         * rendering/SVGTextLayoutUtilities.h: Added.
482         (WebCore::):
483         (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
484         (WebCore::SVGLastGlyphInfo::SVGLastGlyphInfo):
485
486 2010-05-11  Zoltan Herczeg  <zherczeg@webkit.org>
487
488         Reviewed by Dirk Schulze.
489
490         RenderSVGImage::imageChanged should invalidate the SVG filter cache
491         https://bugs.webkit.org/show_bug.cgi?id=38838
492
493         Test: svg/filters/filteredImage.svg
494
495         * rendering/RenderSVGImage.cpp:
496         (WebCore::RenderSVGImage::imageChanged):
497
498 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
499
500         Fix asserting GTK build.
501
502         r59137 changed the behavior of RenderObject::repaintUsingContainer(). I mistakenly
503         thought that non-compositing builds would always pass a 0 repaintContainer, but
504         actually the RenderView is passed in this case. So use this to repaint if 
505         ACCELERATED_COMPOSITING is turned off.
506
507         * rendering/RenderObject.cpp:
508         (WebCore::RenderObject::repaintUsingContainer):
509
510 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
511
512         Fix warning on Windows about unreachable code.
513
514         * rendering/RenderLayerCompositor.cpp:
515         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
516
517 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
518
519         Reviewed by Anders Carlsson
520
521         Allow compositing layers to be connected across iframe boundaries on Mac
522         https://bugs.webkit.org/show_bug.cgi?id=38856
523         
524         RenderObject::repaintUsingContainer() incorrectly did a view-based
525         repaint if the repaint container was the RenderView. Instead, we need
526         to check to see if the RenderView's layer is composited, and, if so,
527         whether it's painting into the window or not. This can occur when iframes
528         are composited.
529
530         The bug is timing-sensitive, involving compositing in iframes, and I was not able to
531         concoct a good testcase.
532
533         * rendering/RenderObject.cpp:
534         (WebCore::RenderObject::repaintUsingContainer):
535
536 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
537
538         Reviewed by Anders Carlsson
539
540         Allow compositing layers to be connected across iframe boundaries on Mac
541         https://bugs.webkit.org/show_bug.cgi?id=38856
542
543         Changes to allow compositing layers for iframes to switch between being hosted
544         by the iframe's layer-backed NSView, and parented in the GraphicsLayer tree of the
545         enclosing document.
546
547         Tests: compositing/iframes/connect-compositing-iframe.html
548                compositing/iframes/connect-compositing-iframe2.html
549                compositing/iframes/connect-compositing-iframe3.html
550
551         * page/FrameView.h:
552         * page/FrameView.cpp:
553         (WebCore::FrameView::hasCompositedContent): New convenience method.
554         (WebCore::FrameView::setIsOverlapped): If we're composited, poke the owner document in case it
555             wants to re-evaluate compositing decisions.
556         (WebCore::FrameView::isOverlapped): Just expose the existing flag.
557
558         * rendering/RenderLayer.cpp:
559         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
560         (WebCore::RenderLayer::isSelfPaintingLayer):
561
562         * rendering/RenderLayerBacking.cpp:
563         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): If this is an iframe, we need
564             to ensure that the layers for the iframe content are hooked up.
565         (WebCore::RenderLayerBacking::updateDrawsContent): When an iframe toggles between different
566             attachments, the 'drawsContent' behavior of its root layer changes, so needs to be updated.
567
568         * rendering/RenderLayerCompositor.h:
569         (WebCore::RenderLayerCompositor::updateCompositingLayers): Call destroyRootPlatformLayer()
570             instead of detachRootPlatformLayer() and manually zeroing out the OwnPtrs.
571         (WebCore::RenderLayerCompositor::updateBacking): If a RenderIFrame changes compositing mode,
572             we need to ensure that its content compositor attachment is updated.
573         (WebCore::RenderLayerCompositor::repaintOnCompositingChange): The existing code had a bug
574             that caused repaints for RenderViews (which have no parent) to bail. We only want to bail
575             for non-RenderViews that are not attached.
576         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Factored the iframe-connecting
577             code into a new method, parentIFrameContentLayers().
578         (WebCore::RenderLayerCompositor::parentIFrameContentLayers): New method to share the code that hooks
579             up the iframe's compositing layers to the parent.
580         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Add logic to propagate
581             compositing out of iframes on Mac in two situations: 1) when the FrameView is overlapped, and 2)
582             if the parent document is already composited.
583         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Clean up the logic here to better deal
584             with dynamic changes of the attachment type.
585         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Clean up and null out the clipping layer here.
586         (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Call rootLayerAttachmentChanged().
587         (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Ditto. Also unparent the clipping and platform layers.
588         (WebCore::RenderLayerCompositor::updateRootLayerAttachment): Call ensureRootPlatformLayer() to re-evaluate
589             the layer attachment.
590         (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged): We need to update the drawsContent() status
591             of the RenderView's layer's backing, because it changes depending on the attachment.
592
593         * rendering/RenderWidget.cpp:
594         (WebCore::RenderWidget::paint): Do overlap testing if the frameView can do fast repaints (as before),
595             but also now when the frameView has composited content.
596
597 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
598
599         Reviewed by Anders Carlsson
600
601         Allow compositing layers to be connected across iframe boundaries on Mac
602         https://bugs.webkit.org/show_bug.cgi?id=38856
603
604         Rename the static shouldPropagateCompositingToIFrameParent() to shouldPropagateCompositingToEnclosingIFrame(),
605         to pave the way for runtime switches in the propagation behavior. We have to make sure we call it on
606         the correct RenderLayerCompositor (that belonging to the iframe's content document).
607         
608         * rendering/RenderLayerBacking.cpp:
609         (WebCore::RenderLayerBacking::paintingGoesToWindow): Now that we know the root layer attachment, we
610         can simplify this method.
611
612         * rendering/RenderLayerCompositor.h:
613         * rendering/RenderLayerCompositor.cpp:
614         (WebCore::RenderLayerCompositor::enableCompositingMode): No need for the setNeedsStyleRecalc()
615         here, because the ensureRootPlatformLayer() or destroyRootPlatformLayer() will have already done it.
616
617         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Use the root layer attachment to determine
618         whether to parent the iframe's layers.
619         
620         (WebCore::RenderLayerCompositor::didMoveOnscreen): Method name change.
621         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Name change.
622         (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): We need to consult the iframe contents
623         document's compositor to ask whether propagation is appropriate.
624         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Name change.
625
626 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
627
628         Reviewed by Anders Carlsson
629
630         Allow compositing layers to be connected across iframe boundaries on Mac
631         https://bugs.webkit.org/show_bug.cgi?id=38856
632         
633         Use an enum for the type of root layer attachment on a RenderLayerCompositor, so we can
634         determine if the attachment is via the ChromeClient, via an enclosing iframe, or unattached.
635
636         * rendering/RenderLayerCompositor.h: New RootLayerAttachment enum.
637         (WebCore::RenderLayerCompositor::rootLayerAttachment): getter for the current attachment.
638
639         * rendering/RenderLayerCompositor.cpp:
640         (WebCore::RenderLayerCompositor::RenderLayerCompositor): Init m_rootLayerAttachment.
641         (WebCore::RenderLayerCompositor::~RenderLayerCompositor): Assert that is unattached.
642         (WebCore::RenderLayerCompositor::updateCompositingLayers): Call destroyRootPlatformLayer instead of willMoveOffscreen,
643         when there are no layers left. Also clear out the clipping layer.
644         (WebCore::RenderLayerCompositor::didMoveOnscreen): Call attachRootPlatformLayer.
645         (WebCore::RenderLayerCompositor::willMoveOffscreen): Call ensureRootPlatformLayer with the appropriate attachment.
646         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Only create the m_rootPlatformLayer if we don't have one
647            already, but be sure to always set the root layer geometry orientation. Also only create the
648            m_clippingLayer if we need to.
649         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Call detachRootPlatformLayer().
650         (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Code moved from didMoveOnscreen, but switching on
651             attachment.
652         (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Code moved from willMoveOffscreen, but switching on
653             attachment.
654
655 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
656
657         Reviewed by Anders Carlsson
658
659         Allow compositing layers to be connected across iframe boundaries on Mac
660         https://bugs.webkit.org/show_bug.cgi?id=38856
661
662         Clean up the geometry logic when propagating compositing out of iframes.
663
664         * rendering/RenderLayerCompositor.cpp:
665         (WebCore::RenderLayerCompositor::updateRootLayerPosition): Geometry on m_rootPlatformLayer no longer
666         needs to be special when there's a clipping layer.
667         
668         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Don't set the clipping layer to have
669         flipped geometry ever, and only set the root layer to have flipped geometry if it is not
670         being hosted in an iframe. Also no need to set a custom anchor point on the clipping layer.
671
672 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
673
674         Reviewed by Anders Carlsson
675
676         Allow compositing layers to be connected across iframe boundaries on Mac
677         https://bugs.webkit.org/show_bug.cgi?id=38856
678
679         Clean up some methods related to composited iframes. No behavioral changes.
680
681         * rendering/RenderLayerBacking.h: Move innerRenderLayerCompositor() to be a static method:
682             RenderLayerCompositor::iframeContentsCompositor().
683         * rendering/RenderLayerBacking.cpp: Remove innerRenderLayerCompositor().
684         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call iframeContentsCompositor().
685         
686         * rendering/RenderLayerCompositor.cpp:
687         (WebCore::RenderLayerCompositor::enableCompositingMode): Call enclosingIFrameElement()
688         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): iframeContentsCompositor() is now a static method in this class.
689         Also check that the iframe contents are in compositing mode (slightly clearer than relying on rootPlatformLayer() returning
690         null).
691         (WebCore::RenderLayerCompositor::iframeContentsCompositor): Moved from RenderLayerBacking.
692         (WebCore::RenderLayerCompositor::didMoveOnscreen): Use enclosingIFrameElement() method.
693         (WebCore::RenderLayerCompositor::willMoveOffscreen): Ditto.
694         (WebCore::RenderLayerCompositor::enclosingIFrameElement): New method.
695         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Call enclosingIFrameElement().
696         * rendering/RenderLayerCompositor.h: New method, iframeContentsCompositor().
697
698 2010-05-10  Dumitru Daniliuc  <dumi@chromium.org>
699
700         Reviewed by Brady Eidson.
701
702         Cleaning up and fixing the existing JSC DB bindings.
703         https://bugs.webkit.org/show_bug.cgi?id=34994
704
705         * bindings/js/JSDOMWindowCustom.cpp:
706         (WebCore::JSDOMWindow::openDatabase):
707         * bindings/js/JSDatabaseCustom.cpp:
708         (WebCore::JSDatabase::changeVersion):
709         (WebCore::createTransaction):
710         (WebCore::JSDatabase::transaction):
711         (WebCore::JSDatabase::readTransaction):
712         * bindings/js/JSSQLTransactionCustom.cpp:
713         (WebCore::JSSQLTransaction::executeSql):
714
715 2010-05-10  Fumitoshi Ukai  <ukai@chromium.org>
716
717         Reviewed by Alexey Proskuryakov.
718
719         WebSocket needs to suspend/resume as Active DOM object.
720         https://bugs.webkit.org/show_bug.cgi?id=38171
721
722         Implement suspend()/resume() in WebSocket and WebSocketChannel.
723         While WebSocketChannel is suspended, it only adds received data in m_buffer
724         or record the handle was closed, and report no event to WebSocket.
725         When resumed, it will process buffer or handle closing.
726         Since suspend/resume would be called while processing JavaScript event handler (e.g. before/after alert()), WebSocketChannel method that would fire an event need to be reentrant.
727         So, WebSocketChannel::processBuffer() call WebSocket to fire an event at most once and skips buffer before the calling,
728         so that next call of processBuffer() would process the next frame.
729
730         * websockets/ThreadableWebSocketChannel.h:
731         * websockets/ThreadableWebSocketChannelClientWrapper.h:
732         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
733           Mark channel is opened, and process pending events if not suspended.
734         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
735           Push message back in pending queue, and process pending events if not suspended.
736         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
737           Mark channel is closed, and process pending events if not suspended.
738         (WebCore::ThreadableWebSocketChannelClientWrapper::suspend):
739           Mark suspended.
740         (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
741           Unmark suspended, and process pending events.
742         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
743         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingEvents):
744         * websockets/WebSocket.cpp:
745         (WebCore::WebSocket::canSuspend):
746         (WebCore::WebSocket::suspend):
747         (WebCore::WebSocket::resume):
748         (WebCore::WebSocket::didClose):
749         * websockets/WebSocket.h:
750         * websockets/WebSocketChannel.cpp:
751         (WebCore::WebSocketChannel::WebSocketChannel):
752         (WebCore::WebSocketChannel::connect):
753         (WebCore::WebSocketChannel::send):
754         (WebCore::WebSocketChannel::bufferedAmount):
755         (WebCore::WebSocketChannel::close):
756         (WebCore::WebSocketChannel::suspend):
757         (WebCore::WebSocketChannel::resume):
758          When resumed, it will process buffer and
759          handle closing if handle was already closed while suspended.
760         (WebCore::WebSocketChannel::didClose):
761          If suspended, record unhandled bufferedAmount and set m_closed true, so that closing will be processed when resumed.
762         (WebCore::WebSocketChannel::didReceiveData):
763          Add received data in buffer and process buffer while it is not suspended.
764         (WebCore::WebSocketChannel::processBuffer):
765          Process handshake header or one frame message.
766          Return true if there are more data to be processed.
767          Return false otherwise (e.g. incomplete handshake header or incomplete frame).
768         * websockets/WebSocketChannel.h:
769         * websockets/WorkerThreadableWebSocketChannel.cpp:
770         (WebCore::WorkerThreadableWebSocketChannel::suspend):
771         (WebCore::WorkerThreadableWebSocketChannel::resume):
772         (WebCore::WorkerThreadableWebSocketChannel::Peer::suspend):
773         (WebCore::WorkerThreadableWebSocketChannel::Peer::resume):
774         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSuspend):
775         (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
776         (WebCore::WorkerThreadableWebSocketChannel::mainThreadResume):
777         (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
778         * websockets/WorkerThreadableWebSocketChannel.h:
779
780 2010-05-07  Dumitru Daniliuc  <dumi@chromium.org>
781
782         Reviewed by Brady Eidson.
783
784         Implement the JSC bindings for the sync DB API.
785         https://bugs.webkit.org/show_bug.cgi?id=34994
786
787         * bindings/js/JSDatabaseSyncCustom.cpp:
788         (WebCore::JSDatabaseSync::changeVersion):
789         (WebCore::createTransaction):
790         * bindings/js/JSSQLTransactionSyncCustom.cpp:
791         (WebCore::JSSQLTransactionSync::executeSql):
792
793 2010-05-10  Dean Jackson  <dino@apple.com>
794
795         Reviewed by Simon Fraser.
796
797         https://bugs.webkit.org/show_bug.cgi?id=36566
798         The animation-fill-mode property was missing from
799         a few places where the animation shorthand is set up.
800
801         Test: animations/animation-shorthand-removed.html
802
803         * css/CSSMutableStyleDeclaration.cpp:
804         (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Make sure
805         animation-fill-mode is included in the animation shorthand
806         * css/CSSPropertyLonghand.cpp:
807         (WebCore::initShorthandMap):
808
809 2010-05-10  Sam Weinig  <sam@webkit.org>
810
811         Reviewed by Darin Adler.
812
813         Fix for https://bugs.webkit.org/show_bug.cgi?id=38583
814         <rdar://problem/7948784> Crash in Element::normalizeAttributes.
815
816         Test: fast/dom/Element/normalize-crash.html
817
818         * dom/Element.cpp:
819         (WebCore::Element::normalizeAttributes): Copy attributes to a vector
820         before iterating.
821         * dom/NamedAttrMap.cpp:
822         (WebCore::NamedNodeMap::copyAttributesToVector): Added.
823         * dom/NamedAttrMap.h:
824
825 2010-05-10  Jian Li  <jianli@chromium.org>
826
827         Reviewed by Adam Barth.
828
829         [V8] Fix V8 code generator script to generate the correct code for
830         converting ScriptString.
831         https://bugs.webkit.org/show_bug.cgi?id=38873
832
833         Updated the bindings test result. Note that the result is also updated
834         to reflect other script generator changes not introduced by this patch.
835
836         * bindings/scripts/CodeGeneratorV8.pm:
837         * bindings/scripts/test/JS/JSTestCallback.cpp:
838         (WebCore::JSTestCallback::JSTestCallback):
839         (WebCore::JSTestCallback::~JSTestCallback):
840         * bindings/scripts/test/JS/JSTestCallback.h:
841         * bindings/scripts/test/V8/V8TestObj.cpp:
842         (WebCore::TestObjInternal::scriptStringAttrAttrGetter):
843
844 2010-05-10  Mark Rowe  <mrowe@apple.com>
845
846         Fix the 32-bit WebKit2 build.
847
848         * WebCore.base.exp:
849
850 2010-05-07  Jon Honeycutt  <jhoneycutt@apple.com>
851
852         Crash closing window containing Flash plug-in
853         https://bugs.webkit.org/show_bug.cgi?id=38797
854         <rdar://problem/7935266>
855
856         Reviewed by Eric Seidel.
857
858         Test: plugins/geturlnotify-during-document-teardown.html
859
860         * plugins/PluginView.cpp:
861         (WebCore::PluginView::load):
862         Null check the DocumentLoader; it's possible for this to be null while
863         the Document is being torn down and before the plug-in is destroyed.
864
865 2010-05-10  Alexey Proskuryakov  <ap@apple.com>
866
867         Reviewed by Darin Adler.
868
869         Based on a patch by Eric Seidel.
870
871         https://bugs.webkit.org/show_bug.cgi?id=28697
872         <rdar://problem/7946578> WebKit crash on WebCore::Node::nodeIndex()
873
874         It's not OK to call ContainerNode::willRemoveChild() in a loop, because Range code assumes
875         that it can adjust start and end position to any node except for the one being removed -
876         so these notifications cannot be batched.
877
878         Test: fast/dom/Range/remove-all-children-crash.html
879
880         * dom/ContainerNode.cpp:
881         (WebCore::willRemoveChild): Removed unused ExceptionCode.
882         (WebCore::willRemoveChildren): New function, used in removeChildren() case.
883         (WebCore::ContainerNode::removeChild): ExceptionCode return was always 0, don't bother with it.
884         (WebCore::ContainerNode::removeChildren): Call willRemoveChildrenFromNode.
885         (WebCore::dispatchChildRemovalEvents): Moved some logic out into willRemoveChildrenFromNode
886         and willRemoveChild.
887
888         * dom/Document.cpp:
889         (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
890
891         * dom/Document.h: 
892         (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
893
894         * dom/Range.h:
895         * dom/Range.cpp:
896         (WebCore::boundaryNodeChildrenWillBeRemoved): New function, used in removeChildren() case.
897         (WebCore::Range::nodeChildrenWillBeRemoved): Ditto.
898
899 2010-05-10  Dumitru Daniliuc  <dumi@chromium.org>
900
901         Reviewed by Adam Barth.
902
903         Implement the V8 bindings for the sync DB API.
904         https://bugs.webkit.org.show_bug.cgi?id=34994
905
906         * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
907         (WebCore::V8DatabaseSync::changeVersionCallback):
908         (WebCore::createTransaction):
909         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
910         (WebCore::V8SQLTransactionSync::executeSqlCallback):
911         * bindings/v8/custom/V8WorkerContextCustom.cpp:
912         (WebCore::V8WorkerContextCustom::openDatabaseSyncCallback):
913
914 2010-05-10  Dumitru Daniliuc  <dumi@chromium.org>
915
916         Reviewed by Adam Barth.
917
918         Clean up and fix the existing V8 DB bindings.
919         https://bugs.webkit.org/show_bug.cgi?id=34994
920
921         * bindings/v8/custom/V8DOMWindowCustom.cpp:
922         (WebCore::V8DOMWindow::openDatabaseCallback):
923         * bindings/v8/custom/V8DatabaseCustom.cpp:
924         (WebCore::V8Database::changeVersionCallback):
925         (WebCore::createTransaction):
926         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
927         (WebCore::V8SQLTransaction::executeSqlCallback):
928
929 2010-05-10  Kevin Ollivier  <kevino@theolliviers.com>
930
931         [wx] Build fix for wx 2.8 after complex text changes.
932
933         * platform/graphics/wx/FontPlatformDataWxMac.mm:
934         (WebCore::FontPlatformData::nsFont):
935         * platform/graphics/wx/SimpleFontDataWx.cpp:
936         (WebCore::SimpleFontData::platformWidthForGlyph):
937
938 2010-05-10  John Gregg  <johnnyg@google.com>
939
940         [chromium] Try to fix the chromium build after r59085 by
941         including MathExtras.h before using isnan().
942         https://bugs.webkit.org/show_bug.cgi?id=38860
943
944         * html/canvas/WebGLIntegralTypedArrayBase.h:
945
946 2010-05-10  Kevin Ollivier  <kevino@theolliviers.com>
947
948         [wx] Build fix for wx trunk after complex text changes.
949
950         * platform/graphics/wx/FontPlatformDataWx.cpp:
951         (WebCore::FontPlatformData::FontPlatformData):
952
953 2010-05-10  Tony Gentilcore  <tonyg@chromium.org>
954
955         Reviewed by Adam Barth.
956
957         Provide mechanism to cache metadata for a resource
958         https://bugs.webkit.org/show_bug.cgi?id=37874
959
960         No new tests because no new functionality.
961
962         * WebCore.gypi:
963         * loader/CachedMetadata.h: Added.
964         (WebCore::CachedMetadata::create):
965         (WebCore::CachedMetadata::deserialize):
966         (WebCore::CachedMetadata::serialize):
967         (WebCore::CachedMetadata::~CachedMetadata):
968         (WebCore::CachedMetadata::dataTypeID):
969         (WebCore::CachedMetadata::data):
970         (WebCore::CachedMetadata::size):
971         (WebCore::CachedMetadata::readUnsigned):
972         (WebCore::CachedMetadata::appendUnsigned):
973         (WebCore::CachedMetadata::CachedMetadata):
974         * loader/CachedResource.cpp:
975         (WebCore::CachedResource::setSerializedCachedMetadata):
976         (WebCore::CachedResource::setCachedMetadata):
977         (WebCore::CachedResource::cachedMetadata):
978         * loader/CachedResource.h:
979         * loader/ResourceLoader.h:
980         (WebCore::ResourceLoader::didReceiveCachedMetadata):
981         * loader/SubresourceLoader.cpp:
982         (WebCore::SubresourceLoader::didReceiveCachedMetadata):
983         * loader/SubresourceLoader.h:
984         * loader/SubresourceLoaderClient.h:
985         (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
986         * loader/loader.cpp:
987         (WebCore::Loader::Host::didReceiveCachedMetadata):
988         * loader/loader.h:
989         * platform/network/ResourceHandle.cpp:
990         (WebCore::ResourceHandle::cacheMetadata):
991         * platform/network/ResourceHandle.h:
992         * platform/network/ResourceHandleClient.h:
993         (WebCore::ResourceHandleClient::didReceiveCachedMetadata):
994
995 2010-05-09  Kenneth Russell  <kbr@google.com>
996
997         Reviewed by Dimitri Glazkov.
998
999         Refactor WebGLArray types to share more code
1000         https://bugs.webkit.org/show_bug.cgi?id=37712
1001
1002         Refactored WebGLArray types for maximal code sharing. Added
1003         WebGLTypedArrayBase and WebGLIntegralTypedArrayBase template
1004         superclasses. Changed overridden virtuals to have minimal
1005         visibility (private instead of public). Fixed const correctness of
1006         a few methods. There are no changes to the public APIs of the
1007         WebGLArray classes; the JavaScript bindings are unchanged.
1008
1009         No new tests; existing tests cover this functionality. Ran all
1010         WebGL layout tests in Safari and Chromium on Mac OS X.
1011
1012         * WebCore.gypi:
1013         * WebCore.xcodeproj/project.pbxproj:
1014         * html/canvas/WebGLArray.h:
1015         (WebCore::WebGLArray::buffer):
1016         (WebCore::WebGLArray::baseAddress):
1017         (WebCore::WebGLArray::byteOffset):
1018         * html/canvas/WebGLByteArray.cpp:
1019         (WebCore::WebGLByteArray::create):
1020         (WebCore::WebGLByteArray::WebGLByteArray):
1021         (WebCore::WebGLByteArray::slice):
1022         * html/canvas/WebGLByteArray.h:
1023         (WebCore::WebGLByteArray::isByteArray):
1024         * html/canvas/WebGLFloatArray.cpp:
1025         (WebCore::WebGLFloatArray::create):
1026         (WebCore::WebGLFloatArray::WebGLFloatArray):
1027         (WebCore::WebGLFloatArray::slice):
1028         * html/canvas/WebGLFloatArray.h:
1029         (WebCore::WebGLFloatArray::set):
1030         (WebCore::WebGLFloatArray::item):
1031         (WebCore::WebGLFloatArray::isFloatArray):
1032         * html/canvas/WebGLIntArray.cpp:
1033         (WebCore::WebGLIntArray::create):
1034         (WebCore::WebGLIntArray::WebGLIntArray):
1035         (WebCore::WebGLIntArray::slice):
1036         * html/canvas/WebGLIntArray.h:
1037         (WebCore::WebGLIntArray::isIntArray):
1038         * html/canvas/WebGLIntegralTypedArrayBase.h: Added.
1039         (WebCore::WebGLIntegralTypedArrayBase::set):
1040         (WebCore::WebGLIntegralTypedArrayBase::item):
1041         (WebCore::WebGLIntegralTypedArrayBase::WebGLIntegralTypedArrayBase):
1042         * html/canvas/WebGLShortArray.cpp:
1043         (WebCore::WebGLShortArray::create):
1044         (WebCore::WebGLShortArray::WebGLShortArray):
1045         (WebCore::WebGLShortArray::slice):
1046         * html/canvas/WebGLShortArray.h:
1047         (WebCore::WebGLShortArray::isShortArray):
1048         * html/canvas/WebGLTypedArrayBase.h: Added.
1049         (WebCore::WebGLTypedArrayBase::data):
1050         (WebCore::WebGLTypedArrayBase::set):
1051         (WebCore::WebGLTypedArrayBase::length):
1052         (WebCore::WebGLTypedArrayBase::WebGLTypedArrayBase):
1053         (WebCore::WebGLTypedArrayBase::create):
1054         (WebCore::WebGLTypedArrayBase::sliceImpl):
1055         (WebCore::WebGLTypedArrayBase::byteLength):
1056         * html/canvas/WebGLUnsignedByteArray.cpp:
1057         (WebCore::WebGLUnsignedByteArray::create):
1058         (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
1059         (WebCore::WebGLUnsignedByteArray::slice):
1060         * html/canvas/WebGLUnsignedByteArray.h:
1061         (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
1062         * html/canvas/WebGLUnsignedIntArray.cpp:
1063         (WebCore::WebGLUnsignedIntArray::create):
1064         (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
1065         (WebCore::WebGLUnsignedIntArray::slice):
1066         * html/canvas/WebGLUnsignedIntArray.h:
1067         (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
1068         * html/canvas/WebGLUnsignedShortArray.cpp:
1069         (WebCore::WebGLUnsignedShortArray::create):
1070         (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
1071         (WebCore::WebGLUnsignedShortArray::slice):
1072         * html/canvas/WebGLUnsignedShortArray.h:
1073         (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
1074
1075 2010-05-10  Kenneth Russell  <kbr@google.com>
1076
1077         Reviewed by Dimitri Glazkov.
1078
1079         Refactor WebGLArray types to share more code
1080         https://bugs.webkit.org/show_bug.cgi?id=37712
1081
1082         Refactored WebGLArray types for maximal code sharing. Added
1083         WebGLTypedArrayBase and WebGLIntegralTypedArrayBase template
1084         superclasses. Changed overridden virtuals to have minimal
1085         visibility (private instead of public). Fixed const correctness of
1086         a few methods. There are no changes to the public APIs of the
1087         WebGLArray classes; the JavaScript bindings are unchanged.
1088
1089         No new tests; existing tests cover this functionality. Ran all
1090         WebGL layout tests in Safari and Chromium on Mac OS X.
1091
1092         * WebCore.gypi:
1093         * WebCore.xcodeproj/project.pbxproj:
1094         * html/canvas/WebGLArray.h:
1095         (WebCore::WebGLArray::buffer):
1096         (WebCore::WebGLArray::baseAddress):
1097         (WebCore::WebGLArray::byteOffset):
1098         * html/canvas/WebGLByteArray.cpp:
1099         (WebCore::WebGLByteArray::create):
1100         (WebCore::WebGLByteArray::WebGLByteArray):
1101         (WebCore::WebGLByteArray::slice):
1102         * html/canvas/WebGLByteArray.h:
1103         (WebCore::WebGLByteArray::isByteArray):
1104         * html/canvas/WebGLFloatArray.cpp:
1105         (WebCore::WebGLFloatArray::create):
1106         (WebCore::WebGLFloatArray::WebGLFloatArray):
1107         (WebCore::WebGLFloatArray::slice):
1108         * html/canvas/WebGLFloatArray.h:
1109         (WebCore::WebGLFloatArray::set):
1110         (WebCore::WebGLFloatArray::item):
1111         (WebCore::WebGLFloatArray::isFloatArray):
1112         * html/canvas/WebGLIntArray.cpp:
1113         (WebCore::WebGLIntArray::create):
1114         (WebCore::WebGLIntArray::WebGLIntArray):
1115         (WebCore::WebGLIntArray::slice):
1116         * html/canvas/WebGLIntArray.h:
1117         (WebCore::WebGLIntArray::isIntArray):
1118         * html/canvas/WebGLIntegralTypedArrayBase.h: Added.
1119         (WebCore::WebGLIntegralTypedArrayBase::set):
1120         (WebCore::WebGLIntegralTypedArrayBase::item):
1121         (WebCore::WebGLIntegralTypedArrayBase::WebGLIntegralTypedArrayBase):
1122         * html/canvas/WebGLShortArray.cpp:
1123         (WebCore::WebGLShortArray::create):
1124         (WebCore::WebGLShortArray::WebGLShortArray):
1125         (WebCore::WebGLShortArray::slice):
1126         * html/canvas/WebGLShortArray.h:
1127         (WebCore::WebGLShortArray::isShortArray):
1128         * html/canvas/WebGLTypedArrayBase.h: Added.
1129         (WebCore::WebGLTypedArrayBase::data):
1130         (WebCore::WebGLTypedArrayBase::set):
1131         (WebCore::WebGLTypedArrayBase::length):
1132         (WebCore::WebGLTypedArrayBase::WebGLTypedArrayBase):
1133         (WebCore::WebGLTypedArrayBase::create):
1134         (WebCore::WebGLTypedArrayBase::sliceImpl):
1135         (WebCore::WebGLTypedArrayBase::byteLength):
1136         * html/canvas/WebGLUnsignedByteArray.cpp:
1137         (WebCore::WebGLUnsignedByteArray::create):
1138         (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
1139         (WebCore::WebGLUnsignedByteArray::slice):
1140         * html/canvas/WebGLUnsignedByteArray.h:
1141         (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
1142         * html/canvas/WebGLUnsignedIntArray.cpp:
1143         (WebCore::WebGLUnsignedIntArray::create):
1144         (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
1145         (WebCore::WebGLUnsignedIntArray::slice):
1146         * html/canvas/WebGLUnsignedIntArray.h:
1147         (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
1148         * html/canvas/WebGLUnsignedShortArray.cpp:
1149         (WebCore::WebGLUnsignedShortArray::create):
1150         (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
1151         (WebCore::WebGLUnsignedShortArray::slice):
1152         * html/canvas/WebGLUnsignedShortArray.h:
1153         (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
1154
1155 2010-05-10  Brent Fulgham  <bfulgham@webkit.org>
1156
1157         Build fix, not reviewed.
1158
1159         Correct post-build copy command for WinCairo port to make sure
1160         cairo headers are available for WebKit.dll build.
1161
1162         * WebCore.vcproj/WebCore.vcproj:
1163
1164 2010-05-10  Dirk Schulze  <krit@webkit.org>
1165
1166         Reviewed by Nikolas Zimmermann.
1167
1168         Further optimization for SVG's repaintRect calculation
1169         https://bugs.webkit.org/show_bug.cgi?id=38820
1170         
1171         This is a further optimization to get smaller repaintRects on SVG objects
1172         in combination with masker or clipper resources.
1173         Masker takes the unite of all stroke boundaries of it's childs.
1174         Both, clipper and masker, store this union to avoid multiple calls of the childs
1175         and the unite calculations now.
1176         The unite rect can be transformed to any targets objectBoundingBox, if the content
1177         unit of the resource is set to objectBoundingBoxMode.
1178         This speeds up the use of resources with multiple target objects.
1179         
1180         No behavior changes, the smaller repaintRects cause updates for DRT results.
1181
1182         * rendering/RenderSVGResource.h:
1183         * rendering/RenderSVGResourceClipper.cpp:
1184         (WebCore::RenderSVGResourceClipper::invalidateClients):
1185         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
1186         (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
1187         * rendering/RenderSVGResourceClipper.h:
1188         * rendering/RenderSVGResourceFilter.cpp:
1189         (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
1190         * rendering/RenderSVGResourceFilter.h:
1191         * rendering/RenderSVGResourceGradient.h:
1192         (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
1193         * rendering/RenderSVGResourceMarker.h:
1194         (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
1195         * rendering/RenderSVGResourceMasker.cpp:
1196         (WebCore::RenderSVGResourceMasker::invalidateClients):
1197         (WebCore::RenderSVGResourceMasker::createMaskImage):
1198         (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
1199         (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
1200         * rendering/RenderSVGResourceMasker.h:
1201         * rendering/RenderSVGResourcePattern.h:
1202         (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
1203         * rendering/RenderSVGResourceSolidColor.h:
1204         (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
1205
1206 2010-05-11  Ilya Tikhonovsky  <loislo@chromium.org>
1207
1208         Reviewed by Pavel Feldman.
1209
1210         WebInspector: Cosmetic changes.
1211         1) Inner Function Call event of Timer Fire should be merged into parent even if it is not the only child.
1212         2) Standard tooltips for resource links are clashing with Popover.
1213         3) Recalculate Style caller info are duplicating in Details Popover (Caller and Details rows).
1214         https://bugs.webkit.org/show_bug.cgi?id=38732
1215
1216         * inspector/front-end/TimelinePanel.js:
1217         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1218         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1219         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1220         * inspector/front-end/inspector.js:
1221         (WebInspector.linkifyURLAsNode):
1222
1223 2010-05-10  Csaba Osztrogonác  <ossy@webkit.org>
1224
1225         Rubber-stamped by Simon Hausmann.
1226
1227         [Qt] Roll-out r59020 and r59021, because the Qt part of these changes
1228         haven't been landed in Qt trunk yet. Should be rolled-in again after the merge.
1229
1230         https://bugs.webkit.org/show_bug.cgi?id=32967
1231
1232         * platform/network/qt/ResourceRequestQt.cpp:
1233         (WebCore::ResourceRequest::toNetworkRequest):
1234
1235 2010-05-10  Markus Goetz  <Markus.Goetz@nokia.com>
1236
1237         Reviewed by Simon Hausmann.
1238
1239         Qt after 4.6.3 has its integrated DNS cache. Therefore some
1240         code is not necessary anymore.
1241
1242         https://bugs.webkit.org/show_bug.cgi?id=38834
1243
1244         * platform/network/qt/DnsPrefetchHelper.h:
1245         (WebCore::DnsPrefetchHelper::lookup):
1246         (WebCore::DnsPrefetchHelper::lookedUp):
1247
1248 2010-05-10  Chris Jerdonek  <cjerdonek@webkit.org>
1249
1250         Reviewed by Darin Adler.
1251
1252         Asserted that Node::setDocument() is not being used to change
1253         the document of a node.
1254
1255         https://bugs.webkit.org/show_bug.cgi?id=38821
1256
1257         * dom/Node.cpp:
1258         (WebCore::Node::setDocument):
1259           Added an ASSERT at the beginning of the function.
1260         * dom/Node.h:
1261           Documented that Node::setDocument() should not be used to change the
1262           document of a node until after the node has been removed from its
1263           prior document.
1264
1265 2010-05-10  Dirk Schulze  <krit@webkit.org>
1266
1267         Reviewed by Darin Adler.
1268
1269         SVG FilterEffects need more detailed DRT information
1270         https://bugs.webkit.org/show_bug.cgi?id=38683
1271
1272         All SVG Filter effects get dumped now. The structure of the DRT output
1273         changed. The last effect is shown first, followed by the previous effects.
1274
1275         No changed behaior, so no new test added.
1276
1277         * platform/graphics/filters/FEBlend.cpp:
1278         (WebCore::operator<<):
1279         (WebCore::FEBlend::externalRepresentation):
1280         * platform/graphics/filters/FEBlend.h:
1281         * platform/graphics/filters/FEColorMatrix.cpp:
1282         (WebCore::operator<<):
1283         (WebCore::FEColorMatrix::externalRepresentation):
1284         * platform/graphics/filters/FEColorMatrix.h:
1285         * platform/graphics/filters/FEComponentTransfer.cpp:
1286         (WebCore::operator<<):
1287         (WebCore::FEComponentTransfer::externalRepresentation):
1288         * platform/graphics/filters/FEComponentTransfer.h:
1289         * platform/graphics/filters/FEComposite.cpp:
1290         (WebCore::operator<<):
1291         (WebCore::FEComposite::externalRepresentation):
1292         * platform/graphics/filters/FEComposite.h:
1293         (WebCore::):
1294         (WebCore::FEComposite::uniteChildEffectSubregions):
1295         * platform/graphics/filters/FEGaussianBlur.cpp:
1296         (WebCore::FEGaussianBlur::externalRepresentation):
1297         * platform/graphics/filters/FEGaussianBlur.h:
1298         (WebCore::FEGaussianBlur::uniteChildEffectSubregions):
1299         * platform/graphics/filters/FilterEffect.cpp:
1300         (WebCore::FilterEffect::externalRepresentation):
1301         * platform/graphics/filters/FilterEffect.h:
1302         * platform/graphics/filters/SourceAlpha.cpp:
1303         (WebCore::SourceAlpha::externalRepresentation):
1304         * platform/graphics/filters/SourceAlpha.h:
1305         * platform/graphics/filters/SourceGraphic.cpp:
1306         (WebCore::SourceGraphic::externalRepresentation):
1307         * platform/graphics/filters/SourceGraphic.h:
1308         * rendering/RenderTreeAsText.cpp:
1309         (WebCore::writeIndent):
1310         * rendering/RenderTreeAsText.h:
1311         * rendering/SVGRenderTreeAsText.cpp:
1312         (WebCore::writeSVGResourceContainer):
1313         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
1314         (WebCore::operator<<):
1315         (WebCore::FEConvolveMatrix::externalRepresentation):
1316         * svg/graphics/filters/SVGFEConvolveMatrix.h:
1317         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
1318         (WebCore::FEDiffuseLighting::externalRepresentation):
1319         * svg/graphics/filters/SVGFEDiffuseLighting.h:
1320         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1321         (WebCore::operator<<):
1322         (WebCore::FEDisplacementMap::externalRepresentation):
1323         * svg/graphics/filters/SVGFEDisplacementMap.h:
1324         * svg/graphics/filters/SVGFEFlood.cpp:
1325         (WebCore::FEFlood::externalRepresentation):
1326         * svg/graphics/filters/SVGFEFlood.h:
1327         * svg/graphics/filters/SVGFEImage.cpp:
1328         (WebCore::FEImage::externalRepresentation):
1329         * svg/graphics/filters/SVGFEImage.h:
1330         * svg/graphics/filters/SVGFEMerge.cpp:
1331         (WebCore::FEMerge::externalRepresentation):
1332         * svg/graphics/filters/SVGFEMerge.h:
1333         * svg/graphics/filters/SVGFEMorphology.cpp:
1334         (WebCore::operator<<):
1335         (WebCore::FEMorphology::externalRepresentation):
1336         * svg/graphics/filters/SVGFEMorphology.h:
1337         * svg/graphics/filters/SVGFEOffset.cpp:
1338         (WebCore::FEOffset::externalRepresentation):
1339         * svg/graphics/filters/SVGFEOffset.h:
1340         * svg/graphics/filters/SVGFESpecularLighting.cpp:
1341         (WebCore::FESpecularLighting::externalRepresentation):
1342         * svg/graphics/filters/SVGFESpecularLighting.h:
1343         * svg/graphics/filters/SVGFETile.cpp:
1344         (WebCore::FETile::externalRepresentation):
1345         * svg/graphics/filters/SVGFETile.h:
1346         * svg/graphics/filters/SVGFETurbulence.cpp:
1347         (WebCore::operator<<):
1348         (WebCore::FETurbulence::externalRepresentation):
1349         * svg/graphics/filters/SVGFETurbulence.h:
1350
1351 2010-05-10  Jeremy Orlow  <jorlow@chromium.org>
1352
1353         Reviewed by Nate Chapin.
1354
1355         Change IndexedDB to use events instead of callbacks
1356         https://bugs.webkit.org/show_bug.cgi?id=38594
1357
1358         Switch IndexedDB over to an event based model to match what
1359         Mozilla (and probably MS?) are doing.  This also gets rid of
1360         a lot of template mess at the expense of a little extra boiler
1361         plate code (for each type that IDBResult.result could be).
1362
1363         This change also introduces JSC bindings that match the level of
1364         functionality the V8 bindings have.
1365
1366         Still not testable, but that shoudl change shortly.
1367
1368         * DerivedSources.cpp:
1369         * DerivedSources.make:
1370         * GNUmakefile.am:
1371         * WebCore.gypi:
1372         * WebCore.pri:
1373         * WebCore.pro:
1374         * WebCore.vcproj/WebCore.vcproj:
1375         * WebCore.xcodeproj/project.pbxproj:
1376         * bindings/js/JSEventCustom.cpp:
1377         * bindings/js/JSIDBRequestCustom.cpp: Added.
1378         (WebCore::JSIDBRequest::result):
1379         * bindings/v8/V8DOMWrapper.cpp:
1380         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1381         * bindings/v8/custom/V8CustomIDBCallbacks.h: Removed.
1382         * bindings/v8/custom/V8IDBRequestCustom.cpp: Added.
1383         (WebCore::V8IDBRequest::resultAccessorGetter):
1384         * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: Removed.
1385         * dom/EventTarget.cpp:
1386         (WebCore::EventTarget::toIDBRequest):
1387         * dom/EventTarget.h:
1388         * storage/IDBCallbacks.h:
1389         * storage/IDBDatabaseRequest.h:
1390         (WebCore::IDBDatabaseRequest::createObjectStore):
1391         * storage/IDBRequest.cpp: Added.
1392         (WebCore::IDBRequest::IDBRequest):
1393         (WebCore::IDBRequest::~IDBRequest):
1394         (WebCore::IDBRequest::idbDatabaseResult):
1395         (WebCore::IDBRequest::serializedScriptValueResult):
1396         (WebCore::IDBRequest::onError):
1397         (WebCore::IDBRequest::onSuccess):
1398         (WebCore::IDBRequest::abort):
1399         (WebCore::IDBRequest::scriptExecutionContext):
1400         (WebCore::IDBRequest::stop):
1401         (WebCore::IDBRequest::suspend):
1402         (WebCore::IDBRequest::resume):
1403         (WebCore::IDBRequest::eventTargetData):
1404         (WebCore::IDBRequest::ensureEventTargetData):
1405         (WebCore::IDBRequest::timerFired):
1406         (WebCore::IDBRequest::onEventCommon):
1407         * storage/IDBRequest.h: Added.
1408         (WebCore::IDBRequest::create):
1409         (WebCore::IDBRequest::):
1410         (WebCore::IDBRequest::resultType):
1411         (WebCore::IDBRequest::readyState):
1412         (WebCore::IDBRequest::error):
1413         (WebCore::IDBRequest::toIDBRequest):
1414         (WebCore::IDBRequest::refEventTarget):
1415         (WebCore::IDBRequest::derefEventTarget):
1416         * storage/IDBRequest.idl: Added.
1417         * storage/IndexedDatabase.h:
1418         * storage/IndexedDatabaseImpl.cpp:
1419         (WebCore::IndexedDatabaseImpl::open):
1420         * storage/IndexedDatabaseImpl.h:
1421         * storage/IndexedDatabaseRequest.cpp:
1422         (WebCore::IndexedDatabaseRequest::open):
1423         * storage/IndexedDatabaseRequest.h:
1424         * storage/IndexedDatabaseRequest.idl:
1425
1426 2010-05-10  Ilya Tikhonovsky  <loislo@chromium.org>
1427
1428         Not reviewed: rollback the commit r59062
1429
1430         * inspector/front-end/TimelinePanel.js:
1431         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1432         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1433         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1434         * inspector/front-end/inspector.js:
1435         (WebInspector.linkifyURLAsNode):
1436
1437 2010-05-10  Ilya Tikhonovsky  <loislo@chromium.org>
1438
1439         Reviewed by Pavel Feldman.
1440
1441         WebInspector: Cosmetic changes.
1442         1) Inner Function Call event of Timer Fire should be merged into parent even if it is not the only child.
1443         2) Standard tooltips for resource links are clashing with Popover.
1444         3) Recalculate Style caller info are duplicating in Details Popover (Caller and Details rows).
1445         https://bugs.webkit.org/show_bug.cgi?id=38732
1446
1447         * inspector/front-end/TimelinePanel.js:
1448         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1449         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1450         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1451         * inspector/front-end/inspector.js:
1452         (WebInspector.linkifyURLAsNode):
1453
1454 2010-05-08  Ilya Tikhonovsky  <loislo@chromium.org>
1455
1456         Reviewed by Pavel Feldman.
1457
1458         WebInspector: If some record is not in visible area then it's expand element also is not
1459         visible even if it has children in visible area.
1460         https://bugs.webkit.org/show_bug.cgi?id=38643
1461
1462         * inspector/front-end/TimelinePanel.js:
1463         (WebInspector.TimelinePanel):
1464         (WebInspector.TimelinePanel.prototype._refreshRecords):
1465
1466 2010-05-07  Sam Weinig  <sam@webkit.org>
1467
1468         Reviewed by Darin Adler.
1469
1470         Fix for https://bugs.webkit.org/show_bug.cgi?id=38557
1471         r58526 introduced a ~30% regression on Dromaeo JS lib
1472
1473         This fix does two things.
1474         - Don't use QualifiedName as the key to a HashMap, use a
1475           RefPtr<QualifiedNameImpl> instead.  We should remove the HashTraits for
1476           QualifiedName and that will happen in a follow up patch.
1477         - Only mark cached NodeLists on Documents instead of all Nodes. This is
1478           okay since the marking of NodeLists is an optimization to keep NodeList
1479           wrappers alive and is not mandated by any spec.
1480
1481         * bindings/js/JSDocumentCustom.cpp:
1482         (WebCore::JSDocument::markChildren):
1483         * bindings/js/JSNodeCustom.cpp:
1484         (WebCore::JSNode::markChildren):
1485         * dom/Node.cpp:
1486         (WebCore::Node::removeCachedTagNodeList):
1487         (WebCore::Node::getElementsByTagNameNS):
1488         * dom/NodeRareData.h:
1489
1490 2010-05-08  Antonio Gomes  <tonikitoo@webkit.org>
1491
1492         Unreviewed attempt to fix Windows build.
1493
1494         * page/SpatialNavigation.h:
1495         (WebCore::fudgeFactor):
1496
1497 2010-05-03  Antonio Gomes  <tonikitoo@webkit.org>
1498
1499         Reviewed by Kenneth Christiansen.
1500
1501         Spatial Navigation: create a getter for the "fudgeFactor"
1502         https://bugs.webkit.org/show_bug.cgi?id=38488
1503
1504         A couple of places in the Spatial Navigation code make use of a "fudge factor"
1505         to improve precision by working around outline focus metrics and such. Patch adds
1506         a helper method for unify getter operations of this value, instead of having it
1507         declared locally in the various methods it is used.
1508
1509         No behaviour change.
1510
1511         * page/SpatialNavigation.cpp:
1512         (WebCore::scrollIntoView):
1513         (WebCore::deflateIfOverlapped):
1514         * page/SpatialNavigation.h:
1515         (WebCore::fudgeFactor):
1516
1517 2010-05-08  Stuart Morgan  <stuartmorgan@chromium.org>
1518
1519         Reviewed by Darin Adler.
1520
1521         Change the npapi.h header guards to match the npapi-headers repository
1522         copy.
1523
1524         https://bugs.webkit.org/show_bug.cgi?id=38666
1525
1526         * bridge/npapi.h:
1527
1528 2010-05-08  Stuart Morgan  <stuartmorgan@chromium.org>
1529
1530         Reviewed by Darin Fisher.
1531
1532         Resolve most of the whitespace/comment/order differences in npapi.h
1533         and npruntime.h relative to the npapi-headers repository versions.
1534         No changes to the substance of the code.
1535
1536         https://bugs.webkit.org/show_bug.cgi?id=38666
1537
1538         * bridge/npapi.h:
1539         (_NPPrint::):
1540         (_NPCocoaEvent::):
1541         * bridge/npruntime.h:
1542
1543 2010-05-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1544
1545         Reviewed by Darin Adler.
1546
1547         Fix guard around IndexedDatabase
1548         https://bugs.webkit.org/show_bug.cgi?id=38710
1549
1550         No new tests, there is no new functionality.
1551
1552         * page/PageGroup.h:
1553
1554 2010-05-08  Luiz Agostini  <luiz.agostini@openbossa.org>
1555
1556         Reviewed by Simon Hausmann.
1557
1558         [Qt] Platform plugin
1559         https://bugs.webkit.org/show_bug.cgi?id=38438
1560
1561         Select popups delegate private API. To provide select popup delegates
1562         a plugin that implements QWebKitPlatformPlugin must be found
1563         in QCoreApplication::libraryPaths.
1564
1565         * WebCore.pro:
1566
1567 2010-05-08  Leandro Pereira  <leandro@profusion.mobi>
1568
1569         Reviewed by Gustavo Noronha Silva.
1570
1571         [EFL] It does not make sense to use RenderThemeEfl::RenderThemeEfl, so
1572         use RenderThemeEfl (GCC 4.5 seems to be pickier about this).
1573         http://webkit.org/b/38770
1574
1575         * platform/efl/RenderThemeEfl.cpp:
1576         (WebCore::renderThemeEflColorClassSelectionActive):
1577         (WebCore::renderThemeEflColorClassSelectionInactive):
1578         (WebCore::renderThemeEflColorClassFocusRing):
1579         (WebCore::renderThemeEflColorClassButtonText):
1580         (WebCore::renderThemeEflColorClassComboText):
1581         (WebCore::renderThemeEflColorClassEntryText):
1582         (WebCore::renderThemeEflColorClassSearchText):
1583         (WebCore::RenderThemeEfl::adjustCheckboxStyle):
1584         (WebCore::RenderThemeEfl::adjustRadioStyle):
1585         (WebCore::RenderThemeEfl::adjustButtonStyle):
1586         (WebCore::RenderThemeEfl::adjustMenuListStyle):
1587         (WebCore::RenderThemeEfl::adjustTextFieldStyle):
1588         (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
1589         (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
1590         (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
1591         (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
1592         (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
1593
1594 2010-05-08  Leandro Pereira  <leandro@profusion.mobi>
1595
1596         Reviewed by Gustavo Noronha Silva.
1597
1598         ResourceHandleSoup should depend only on GLib, not on GTK+.
1599         http://webkit.org/b/38763
1600
1601         * platform/network/soup/ResourceHandleSoup.cpp: Include glib.h
1602         instead of gtk/gtk.h.
1603
1604 2010-05-08  Eric Seidel  <eric@webkit.org>
1605
1606         Unreviewed, rolling out r59023.
1607         http://trac.webkit.org/changeset/59023
1608         https://bugs.webkit.org/show_bug.cgi?id=37874
1609
1610         Caused Chromium Windows build to fail to link.
1611
1612         * WebCore.gypi:
1613         * loader/CachedMetadata.h: Removed.
1614         * loader/CachedResource.cpp:
1615         * loader/CachedResource.h:
1616         * loader/ResourceLoader.h:
1617         * loader/SubresourceLoader.cpp:
1618         * loader/SubresourceLoader.h:
1619         * loader/SubresourceLoaderClient.h:
1620         * loader/loader.cpp:
1621         * loader/loader.h:
1622         * platform/network/ResourceHandle.cpp:
1623         * platform/network/ResourceHandle.h:
1624         * platform/network/ResourceHandleClient.h:
1625
1626 2010-05-08  Ilya Tikhonovsky  <loislo@chromium.org>
1627
1628         Reviewed by Timothy Hatcher.
1629
1630         WebInspector: Autocompletion in console is not usable because it is not add to the entered text the common prefix of suggestions.
1631         As example if you entered $0.getE then getElementByClassName will be suggested as gray text.
1632         If you press tab then getElementByClassName be suggested again and lementByClassName becomes selected as black text with selection background.
1633         Really after pressing the TAB the next suggestion should be selected (getElementByTagName) and only flexible part of suggestions should be selected.
1634         In this case it should be TagName because getElementBy is the common part for all getE prefix suggestions.
1635         https://bugs.webkit.org/show_bug.cgi?id=38753
1636
1637         * inspector/front-end/TextPrompt.js:
1638         (WebInspector.TextPrompt.prototype._completionsReady):
1639
1640 2010-05-08  Tony Gentilcore  <tonyg@chromium.org>
1641
1642         Reviewed by Darin Fisher.
1643
1644         Provide mechanism to store cached metadata on a CachedResource.
1645         https://bugs.webkit.org/show_bug.cgi?id=37874
1646
1647         No new tests because no new functionality.
1648
1649         * WebCore.gypi:
1650         * loader/CachedMetadata.h: Added.
1651         (WebCore::CachedMetadata::~CachedMetadata):
1652         (WebCore::CachedMetadata::data):
1653         (WebCore::CachedMetadata::size):
1654         (WebCore::CachedMetadata::create):
1655         (WebCore::CachedMetadata::deserialize):
1656         (WebCore::CachedMetadata::serialize):
1657         (WebCore::CachedMetadata::dataTypeID):
1658         (WebCore::CachedMetadata::readUnsigned):
1659         (WebCore::CachedMetadata::appendUnsigned):
1660         (WebCore::CachedMetadata::CachedMetadata):
1661         * loader/CachedResource.cpp:
1662         (WebCore::CachedResource::setSerializedCachedMetadata):
1663         (WebCore::CachedResource::setCachedMetadata):
1664         (WebCore::CachedResource::cachedMetadata):
1665         * loader/CachedResource.h:
1666         * loader/ResourceLoader.h:
1667         (WebCore::ResourceLoader::didReceiveCachedMetadata):
1668         * loader/SubresourceLoader.cpp:
1669         (WebCore::SubresourceLoader::didReceiveCachedMetadata):
1670         * loader/SubresourceLoader.h:
1671         * loader/SubresourceLoaderClient.h:
1672         (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
1673         * loader/loader.cpp:
1674         (WebCore::Loader::Host::didReceiveCachedMetadata):
1675         * loader/loader.h:
1676         * platform/network/ResourceHandle.cpp:
1677         (WebCore::ResourceHandle::cacheMetadata):
1678         * platform/network/ResourceHandle.h:
1679         * platform/network/ResourceHandleClient.h:
1680         (WebCore::ResourceHandleClient::didReceiveCachedMetadata):
1681
1682 2010-05-08  Michael Nordman  <michaeln@google.com>
1683
1684         Reviewed by Dmitry Titov.
1685
1686         Have WorkerScriptLoader provide access to the ResourceResponse for the loaded script
1687         through the WorkerScriptLoaderClient interface.
1688         https://bugs.webkit.org/show_bug.cgi?id=38605
1689
1690         No new tests. There are no script visible changes.
1691
1692         * workers/WorkerScriptLoader.cpp: Call the client with the response.
1693         (WebCore::WorkerScriptLoader::didReceiveResponse):
1694         * workers/WorkerScriptLoaderClient.h: Define a new method to receive the response.
1695         (WebCore::WorkerScriptLoaderClient::didReceiveResponse):
1696
1697 2010-05-08  Robert Hogan  <robert@roberthogan.net>
1698
1699         Reviewed by Simon Hausmann.
1700
1701         [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
1702              and http/tests/xmlhttprequest/cross-origin-authorization.html
1703
1704         QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
1705         without knowing if this is valid behaviour or not. In order to allow
1706         Qt to decide whether Cookie/Authorization headers should be added
1707         to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
1708         These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
1709         QNetworkRequest::CookieSaveControlAttribute,and
1710         QNetworkRequest::AuthenticationReuseControlAttribute.
1711
1712         QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false
1713         unless withCredentials is set to true in the XHR.
1714
1715         QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials
1716         is set to true in the XHR.
1717
1718         Qt will pass the values onto QHttpNetworkRequest and this will permit
1719         the Qt network access processing to decide whether or not to add either
1720         or both of the Cookie/Authorisation headers, and whether to save cookies
1721         returned from such requests. By default the attribute
1722         will always be true so unless QtWebKit sets it to false normal
1723         header processing is unaffected.
1724
1725         The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592
1726
1727         https://bugs.webkit.org/show_bug.cgi?id=32967
1728
1729         * platform/network/qt/ResourceRequestQt.cpp:
1730         (WebCore::ResourceRequest::toNetworkRequest):
1731
1732 2010-05-08  Ilya Tikhonovsky  <loislo@chromium.org>
1733
1734         Reviewed by Pavel Feldman.
1735
1736         WebInsector: Record expand UI element should be extracted from TimelineRecordGraphRow as separate class for future reuse.
1737         https://bugs.webkit.org/show_bug.cgi?id=38726
1738
1739         * inspector/front-end/TimelinePanel.js:
1740         (WebInspector.TimelinePanel):
1741         (WebInspector.TimelinePanel.prototype._refreshRecords):
1742         (WebInspector.TimelineRecordGraphRow):
1743         (WebInspector.TimelineRecordGraphRow.prototype.update):
1744         (WebInspector.TimelineExpandableElement):
1745         (WebInspector.TimelineExpandableElement.prototype._update):
1746         (WebInspector.TimelineExpandableElement.prototype._dispose):
1747
1748 2010-05-05  Robert Hogan  <robert@webkit.org>
1749
1750         Reviewed by Alexey Proskuryakov.
1751
1752         [Qt] Fix encoding of status message in Plugin API
1753
1754         https://bugs.webkit.org/show_bug.cgi?id=35144
1755
1756         Spotted by Alexey Proskuryakov.
1757
1758         * plugins/PluginView.cpp:
1759         (WebCore::PluginView::status):
1760
1761 2010-05-08  Dirk Schulze  <krit@webkit.org>
1762
1763         Unreviewed win build fix.
1764
1765         JS bindings were missing in DerivedSources.cpp
1766
1767         * DerivedSources.cpp:
1768
1769 2010-05-08  Dirk Schulze  <krit@webkit.org>
1770
1771         Uneviewed fix of Win bot
1772
1773         Added JS bindings to Win build system.
1774
1775         * WebCore.vcproj/WebCore.vcproj:
1776
1777 2010-05-08  Dirk Schulze  <krit@webkit.org>
1778
1779         Unreviewed try to fix Win bot.
1780
1781         SVGFont's VKern implementation missing
1782         https://bugs.webkit.org/show_bug.cgi?id=38663
1783
1784         * bindings/scripts/CodeGeneratorJS.pm:
1785
1786 2010-05-08  Dirk Schulze  <krit@webkit.org>
1787
1788         Reviewed by Nikolas Zimmermann.
1789
1790         SVGFont's VKern implementation missing
1791         https://bugs.webkit.org/show_bug.cgi?id=38663
1792
1793         Implementation of vkern, needed by SVGFont. Also added DOM and JS bindings
1794         for vkern and hkern. Made some clean-up in SVGParserUtilities and SVGFontElement.
1795         SVGHKernElement and SVGVKernElement share most of the code now.
1796
1797         Test: svg/text/text-vkern.svg
1798
1799         * Android.derived.jscbindings.mk:
1800         * Android.derived.v8bindings.mk:
1801         * Android.mk:
1802         * DerivedSources.make:
1803         * GNUmakefile.am:
1804         * WebCore.gyp/WebCore.gyp:
1805         * WebCore.gypi:
1806         * WebCore.pri:
1807         * WebCore.pro:
1808         * WebCore.vcproj/WebCore.vcproj:
1809         * WebCore.xcodeproj/project.pbxproj:
1810         * page/DOMWindow.idl:
1811         * rendering/SVGRootInlineBox.cpp:
1812         (WebCore::applySVGKerning):
1813         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
1814         * svg/SVGAllInOne.cpp:
1815         * svg/SVGFontElement.cpp:
1816         (WebCore::SVGFontElement::invalidateGlyphCache):
1817         (WebCore::SVGFontElement::ensureGlyphCache):
1818         (WebCore::matches):
1819         (WebCore::kerningForPairOfStringsAndGlyphs):
1820         (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs):
1821         (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs):
1822         * svg/SVGFontElement.h:
1823         (WebCore::SVGKerningPair::SVGKerningPair):
1824         (WebCore::SVGFontElement::rendererIsNeeded):
1825         * svg/SVGHKernElement.cpp:
1826         (WebCore::SVGHKernElement::buildHorizontalKerningPair):
1827         * svg/SVGHKernElement.h:
1828         * svg/SVGParserUtilities.cpp:
1829         (WebCore::parseGlyphName):
1830         (WebCore::parseKerningUnicodeString):
1831         * svg/SVGParserUtilities.h:
1832         * svg/SVGVKernElement.cpp: Added.
1833         (WebCore::SVGVKernElement::SVGVKernElement):
1834         (WebCore::SVGVKernElement::~SVGVKernElement):
1835         (WebCore::SVGVKernElement::insertedIntoDocument):
1836         (WebCore::SVGVKernElement::removedFromDocument):
1837         (WebCore::SVGVKernElement::buildVerticalKerningPair):
1838         * svg/SVGVKernElement.h: Added.
1839         (WebCore::SVGVKernElement::rendererIsNeeded):
1840         * svg/SVGVKernElement.idl: Added.
1841         * svg/svgtags.in:
1842
1843 2010-05-08  Jer Noble  <jer.noble@apple.com>
1844
1845         Unreviewed, just fixing windows build.
1846
1847         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: Add #if USE(ACCELERATED_COMPOSITING) guards around GraphicsLayer areas of the code.  Include GraphicsLayer.h directly.
1848         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: As above.
1849         * platform/graphics/win/QTMovieVisualContext.cpp: Remove the #include of d3d9types.h.
1850
1851 2010-05-08  Eric Seidel  <eric@webkit.org>
1852
1853         Unreviewed, just reverting commit.
1854
1855         REGRESSION(59000): r59000 contained all sorts of changes it should not have, needs revert.
1856         https://bugs.webkit.org/show_bug.cgi?id=38798
1857
1858         Test: fast/js/global-resolve-through-eval.html
1859
1860         * bindings/js/JSCallbackData.h:
1861         (WebCore::JSCallbackData::JSCallbackData):
1862         (WebCore::JSCallbackData::~JSCallbackData):
1863         (WebCore::DeleteCallbackDataTask::create):
1864         (WebCore::DeleteCallbackDataTask::performTask):
1865         (WebCore::DeleteCallbackDataTask::isCleanupTask):
1866         (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
1867         * bindings/js/JSCustomVoidCallback.cpp:
1868         (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
1869         (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
1870         * bindings/js/JSCustomVoidCallback.h:
1871         * bindings/scripts/CodeGeneratorJS.pm:
1872         * bindings/scripts/test/JS/JSTestInterface.cpp:
1873         (WebCore::):
1874         * bindings/scripts/test/JS/JSTestObj.cpp:
1875         (WebCore::):
1876         * workers/WorkerThread.cpp:
1877         (WebCore::WorkerThreadShutdownFinishTask::performTask):
1878         (WebCore::WorkerThreadShutdownStartTask::performTask):
1879
1880 2010-05-07  Zoltan Herczeg  <zherczeg@webkit.org>
1881
1882         Reviewed by Dirk Schulze
1883
1884         Fixed the inverse function of f(x) = ((x + 0.055) / 1.055) ^ 2.4
1885         https://bugs.webkit.org/show_bug.cgi?id=38735
1886
1887         It is ((x ^ (1 / 2.4)) * 1.055) - 0.055
1888
1889         Chromium pixel tests cover the issue.
1890
1891         * platform/graphics/ImageBuffer.cpp:
1892         (WebCore::ImageBuffer::transformColorSpace):
1893
1894 2010-05-04  Jer Noble  <jer.noble@apple.com>
1895
1896         Reviewed by Eric Carlson
1897
1898         Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
1899         <https://bugs.webkit.org/show_bug.cgi?id=34005>
1900         <rdar://problem/7569713>
1901
1902         The original functionality of QTMovieWin has been split between QTMovieGWorld, 
1903         and a new class: QTMovie.  QTMovie contains all the "controller" parts (changing
1904         the rate, seeking, etc) while QTMovieGWorld retains all the drawing code.  QTMovieGWorld
1905         now takes a QTMovie, and as such QTMovie is now retainable.  QTMovieGWorld registers
1906         itself as a client of QTMovie, so that it can receive load-state notifications,
1907         and thus QTMovie must now support multiple clients.  Movie tasking timer support
1908         has been moved into its own class (QTMovieTask) and will be addressed in a future 
1909         patch.  Most of the functions listed below only changed so much as their class name changed.
1910         
1911         * platform/graphics/win/QTMovie.cpp: Copied from WebCore/platform/graphics/win/QTMovieWin.cpp.
1912         (QTMoviePrivate::QTMoviePrivate):
1913         (QTMoviePrivate::~QTMoviePrivate):
1914         (QTMoviePrivate::startTask):
1915         (QTMoviePrivate::endTask):
1916         (QTMoviePrivate::task):
1917         (QTMoviePrivate::createMovieController):
1918         (QTMovie::QTMovie):
1919         (QTMovie::~QTMovie):
1920         (QTMovie::addClient):
1921         (QTMovie::removeClient):
1922         (QTMovie::play):
1923         (QTMovie::pause):
1924         (QTMovie::rate):
1925         (QTMovie::setRate):
1926         (QTMovie::duration):
1927         (QTMovie::currentTime):
1928         (QTMovie::setCurrentTime):
1929         (QTMovie::setVolume):
1930         (QTMovie::setPreservesPitch):
1931         (QTMovie::dataSize):
1932         (QTMovie::maxTimeLoaded):
1933         (QTMovie::loadState):
1934         (QTMovie::getNaturalSize):
1935         (QTMovie::load):
1936         (QTMovie::disableUnsupportedTracks):
1937         (QTMovie::isDisabled):
1938         (QTMovie::setDisabled):
1939         (QTMovie::hasVideo):
1940         (QTMovie::hasAudio):
1941         (QTMovie::hasClosedCaptions):
1942         (QTMovie::setClosedCaptionsVisible):
1943         (QTMovie::countSupportedTypes):
1944         (QTMovie::getSupportedType):
1945         (QTMovie::initializeQuickTime):
1946         (QTMovie::getMovieHandle):
1947         * platform/graphics/win/QTMovie.h: Copied from WebCore/platform/graphics/win/QTMovieWin.h.
1948         * platform/graphics/win/QTMovieGWorld.cpp: Copied from WebCore/platform/graphics/win/QTMovieWin.cpp.
1949         (QTMovieGWorldPrivate::QTMovieGWorldPrivate):
1950         (QTMovieGWorldPrivate::~QTMovieGWorldPrivate):
1951         (QTMovieGWorldPrivate::cacheMovieScale):
1952         (movieDrawingCompleteProc):
1953         (QTMovieGWorldPrivate::registerDrawingCallback):
1954         (QTMovieGWorldPrivate::unregisterDrawingCallback):
1955         (QTMovieGWorldPrivate::drawingComplete):
1956         (QTMovieGWorldPrivate::updateGWorld):
1957         (QTMovieGWorldPrivate::createGWorld):
1958         (QTMovieGWorldPrivate::clearGWorld):
1959         (QTMovieGWorldPrivate::setSize):
1960         (QTMovieGWorldPrivate::updateMovieSize):
1961         (QTMovieGWorldPrivate::deleteGWorld):
1962         (QTMovieGWorldPrivate::movieEnded):
1963         (QTMovieGWorldPrivate::movieLoadStateChanged):
1964         (QTMovieGWorldPrivate::movieTimeChanged):
1965         (QTMovieGWorld::QTMovieGWorld):
1966         (QTMovieGWorld::~QTMovieGWorld):
1967         (QTMovieGWorld::setSize):
1968         (QTMovieGWorld::setVisible):
1969         (QTMovieGWorld::getCurrentFrameInfo):
1970         (QTMovieGWorld::paint):
1971         (QTMovieGWorld::setDisabled):
1972         (QTMovieGWorld::isDisabled):
1973         (QTMovieGWorld::fullscreenWndProc):
1974         (QTMovieGWorld::enterFullscreen):
1975         (QTMovieGWorld::exitFullscreen):
1976         (QTMovieGWorld::setMovie):
1977         (QTMovieGWorld::movie):
1978         * platform/graphics/win/QTMovieGWorld.h: Copied from WebCore/platform/graphics/win/QTMovieWin.h.
1979         * platform/graphics/win/QTMovieTask.cpp: Added.
1980         (QTMovieTask::QTMovieTask):
1981         (QTMovieTask::~QTMovieTask):
1982         (QTMovieTask::sharedTask):
1983         (QTMovieTask::updateTaskTimer):
1984         (QTMovieTask::fireTaskClients):
1985         (QTMovieTask::addTaskClient):
1986         (QTMovieTask::removeTaskClient):
1987         (QTMovieTask::setTaskTimerFuncs):
1988         * platform/graphics/win/QTMovieTask.h: Added.
1989
1990 2010-05-04  Jer Noble  <jer.noble@apple.com>
1991
1992         Reviewed by Eric Carlson
1993
1994         Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
1995         <https://bugs.webkit.org/show_bug.cgi?id=34005>
1996         <rdar://problem/7569713>
1997
1998         MediaPlayerPrivateQuickTimeVisualContext has been added as a 
1999         supported MediaPlayer implementation.  MediaPlayerPrivateQuickTimeWin
2000         has been left as a fallback MediaPlayer implementation for those media
2001         types which do not support visual contexts (currently, none).
2002
2003         * platform/graphics/MediaPlayer.cpp:
2004         (WebCore::installedMediaEngines):
2005
2006 2010-05-04  Jer Noble  <jer.noble@apple.com>
2007
2008         Reviewed by Maciej Stachowiak
2009
2010         Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
2011         <https://bugs.webkit.org/show_bug.cgi?id=34005>
2012         <rdar://problem/7569713>
2013
2014         MediaPlayerPrivateTaskTimer has been broken out from MediaPlayerPrivateQuickTimeWin::TaskTimer
2015         so that multiple clients can share its implementation.  It works with the new 
2016         QTMovieTaskTimer to provide timer support to QTMovieTaskTimer clients.
2017         
2018         * platform/graphics/win/MediaPlayerPrivateTaskTimer.cpp: Added.
2019         (WebCore::MediaPlayerPrivateTaskTimer::initialize):
2020         (WebCore::MediaPlayerPrivateTaskTimer::setDelay):
2021         (WebCore::MediaPlayerPrivateTaskTimer::stopTaskTimer):
2022         (WebCore::MediaPlayerPrivateTaskTimer::fired):
2023         * platform/graphics/win/MediaPlayerPrivateTaskTimer.h: Added.
2024
2025 2010-05-04  Jer Noble  <jer.noble@apple.com>
2026
2027         Reviewed by Eric Carlson
2028
2029         Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
2030         <https://bugs.webkit.org/show_bug.cgi?id=34005>
2031         <rdar://problem/7569713>
2032
2033         MediaPlayerPrivateQuickTimeVisualContext is a new MediaPlayerPrivate implementation
2034         which uses QTMovieVisualContext instead of QTMovieWin to render video frames. Much
2035         like MediaPlayerPrivateQuickTimeWin, MPPQTVisualContext breaks out QTMovie and 
2036         QTMovieVisualContext, and uses the newly shared MediaPlayerPrivateTaskTimer.  It also
2037         uses aggregation (in the form of friend classes) instead of multiple inheritence 
2038         to implement its various client callbacks, so as not to expose its own clients to
2039         the QTMovie classes.
2040
2041         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Copied from WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp.
2042         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: Copied from WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h.
2043
2044 2010-05-04  Jer Noble  <jer.noble@apple.com>
2045
2046         Reviewed by Maciej Stachowiak
2047
2048         Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
2049         <https://bugs.webkit.org/show_bug.cgi?id=34005>
2050         <rdar://problem/7569713>
2051         
2052         MediaPlayerPrivateQuickTimeWin has been modified to support the new bifurcated 
2053         QTMovie/QTMovieWin classes.  It's private TaskTimer class has been broken out
2054         into a new top-level class (MediaPlayerPrivateTaskTimer) which will be addressed
2055         in a future patch. 
2056
2057         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2058         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
2059         (WebCore::MediaPlayerPrivate::load):
2060         (WebCore::MediaPlayerPrivate::paused):
2061         (WebCore::MediaPlayerPrivate::setSize):
2062         (WebCore::MediaPlayerPrivate::setVisible):
2063         (WebCore::MediaPlayerPrivate::paint):
2064         (WebCore::mimeTypeCache):
2065         (WebCore::MediaPlayerPrivate::isAvailable):
2066         (WebCore::MediaPlayerPrivate::movieEnded):
2067         (WebCore::MediaPlayerPrivate::movieLoadStateChanged):
2068         (WebCore::MediaPlayerPrivate::movieTimeChanged):
2069         (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
2070         (WebCore::MediaPlayerPrivate::paintContents):
2071         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2072
2073 2010-05-04  Jer Noble  <jer.noble@apple.com>
2074
2075         Reviewed by Anders Carlsson
2076
2077         Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
2078         <https://bugs.webkit.org/show_bug.cgi?id=34005>
2079         <rdar://problem/7569713>
2080
2081         QTCFDictionary defines functions which help serialize and unserialize
2082         CFDictionaries.  This is necessary because QuickTime links against a 
2083         non-debug CoreFoundation in our debug build, and passing non-debug 
2084         CFDictionaries to a debug CF will cause a crash.
2085         
2086         QTMovieTask is a new class containing the tasking functionality broken
2087         out from QTMovieWin.  This is necessary now that the tasking
2088         functionality is needed in multiple files/classes.
2089         
2090         QTPixelBuffer is a C++ wrapper for CVPixelBuffers, necessary because
2091         like the CF case above, QuickTime has its own implementation of CoreVideo
2092         and its CV types cannot be used with the AAS version of CoreVideo.
2093         
2094         QTMovieVisualContext is the new drawing implementation, parallel to 
2095         QTMovieWin.  It currently uses a software rendering path, but can be
2096         extended in the future to support hardware rendering.
2097         
2098         * platform/graphics/win/QTCFDictionary.cpp: Added.
2099         * platform/graphics/win/QTCFDictionary.h: Added.
2100         * platform/graphics/win/QTMovieTask.cpp: Added.
2101         * platform/graphics/win/QTMovieTask.h: Added.
2102         * platform/graphics/win/QTMovieVisualContext.cpp: Added.
2103         * platform/graphics/win/QTMovieVisualContext.h: Added.
2104         * platform/graphics/win/QTPixelBuffer.cpp: Added.
2105         * platform/graphics/win/QTPixelBuffer.h: Added.
2106
2107 2010-05-07  Eric Uhrhane  <ericu@chromium.org>
2108
2109         Reviewed by Dmitry Titov.
2110
2111         JSCallbackData is deleted on the Main thread, not the Context thread.
2112         https://bugs.webkit.org/show_bug.cgi?id=38623
2113
2114         No new tests; you'll only see a problem after the worker-access-to-DB
2115         code goes in.  Without this fix, the GTK bots assert, but it's
2116         timing-sensitive and not truly platform-specific.
2117
2118         * bindings/js/JSCallbackData.h:
2119         (WebCore::JSCallbackData::JSCallbackData):
2120         (WebCore::JSCallbackData::~JSCallbackData):
2121         Store the allocating thread, then assert that we're on it at deletion.
2122
2123         (WebCore::DeleteCallbackDataTask):
2124         This is the task that can get posted to the context thread for cleanup.
2125
2126         * bindings/js/JSCustomVoidCallback.cpp:
2127         * bindings/js/JSCustomVoidCallback.h:
2128         This callback isn't autogenerated, so we have to do the cleanup manually.
2129
2130         * bindings/scripts/CodeGeneratorJS.pm:
2131         Add the proper cleanup to all autogenerated callbacks.
2132
2133         * workers/WorkerThread.cpp:
2134         (WebCore::WorkerThreadShutdownFinishTask::performTask):
2135         (WebCore::WorkerThreadShutdownStartTask::performTask):
2136         WorkerContext::clearScript can't be called until the posted deletion tasks have completed; move the call from shutdown start to shutdown finish.
2137
2138 2010-05-07  Eric Seidel  <eric@webkit.org>
2139
2140         Reviewed by Adam Barth.
2141
2142         Fix JSC binding generation to match webkit style
2143         https://bugs.webkit.org/show_bug.cgi?id=38173
2144
2145         Add spaces around "|" to match webkit style.
2146
2147         * bindings/scripts/CodeGeneratorJS.pm:
2148         * bindings/scripts/test/JS/JSTestObj.cpp:
2149
2150 2010-05-07  Dumitru Daniliuc  <dumi@chromium.org>
2151
2152         Reviewed by Brady Eidson.
2153
2154         Adding the IDL files for the sync DB API and the stubs for the JS and V8 bindings.
2155         https://bugs.webkit.org/show_bug.cgi?id=34994
2156
2157         * DerivedSources.cpp:
2158         * DerivedSources.make:
2159         * GNUmakefile.am:
2160         * WebCore.gypi:
2161         * WebCore.pri:
2162         * WebCore.pro:
2163         * WebCore.vcproj/WebCore.vcproj:
2164         * WebCore.xcodeproj/project.pbxproj:
2165         * bindings/js/JSBindingsAllInOne.cpp:
2166         * bindings/js/JSDatabaseSyncCustom.cpp: Added.
2167         (WebCore::JSDatabaseSync::changeVersion):
2168         (WebCore::createTransaction):
2169         (WebCore::JSDatabaseSync::transaction):
2170         (WebCore::JSDatabaseSync::readTransaction):
2171         * bindings/js/JSSQLTransactionSyncCustom.cpp: Added.
2172         (WebCore::JSSQLTransactionSync::executeSql):
2173         * bindings/js/JSWorkerContextCustom.cpp:
2174         (WebCore::JSWorkerContext::openDatabaseSync):
2175         * bindings/v8/custom/V8BindingMacros.h: Added.
2176         * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Added.
2177         (WebCore::V8DatabaseSync::changeVersionCallback):
2178         (WebCore::createTransaction):
2179         (WebCore::V8DatabaseSync::transactionCallback):
2180         (WebCore::V8DatabaseSync::readTransactionCallback):
2181         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp: Added.
2182         (WebCore::V8SQLTransactionSync::executeSqlCallback):
2183         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2184         (WebCore::V8WorkerContext::openDatabaseSyncCallback):
2185         * storage/Database.idl:
2186         * storage/DatabaseCallback.h:
2187         * storage/DatabaseCallback.idl:
2188         * storage/DatabaseSync.cpp:
2189         (WebCore::DatabaseSync::changeVersion):
2190         (WebCore::DatabaseSync::transaction):
2191         * storage/DatabaseSync.h:
2192         * storage/DatabaseSync.idl: Added.
2193         * storage/SQLError.idl:
2194         * storage/SQLResultSet.idl:
2195         * storage/SQLResultSetRowList.idl:
2196         * storage/SQLTransaction.idl:
2197         * storage/SQLTransactionSync.idl: Added.
2198         * storage/SQLTransactionSyncCallback.h:
2199         * storage/SQLTransactionSyncCallback.idl: Added.
2200         * workers/WorkerContext.cpp:
2201         (WebCore::WorkerContext::openDatabaseSync):
2202         * workers/WorkerContext.h:
2203         * workers/WorkerContext.idl:
2204
2205 2010-05-07  Beth Dakin  <bdakin@apple.com>
2206
2207         Reviewed by Simon Fraser.
2208
2209         Fix for <rdar://problem/7956972> REGRESSION: Can't focus and type 
2210         in GMail due to bad repainting
2211         -and corresponding-
2212         https://bugs.webkit.org/show_bug.cgi?id=38782
2213
2214         This patch reverts back to pre-r58797 behavior when 
2215         shouldPropagateCompositingToIFrameParent() is false.
2216         * rendering/RenderLayerBacking.cpp:
2217         (WebCore::RenderLayerBacking::paintingGoesToWindow):
2218
2219 2010-05-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2220
2221         Unreviewed, rolling out r58963.
2222         http://trac.webkit.org/changeset/58963
2223         https://bugs.webkit.org/show_bug.cgi?id=38773
2224
2225         Broke Chromium layout tests. (Requested by dcheng on #webkit).
2226
2227         * platform/chromium/DragDataChromium.cpp:
2228         (WebCore::DragData::asURL):
2229
2230 2010-05-07  Martin Robinson  <mrobinson@igalia.com>
2231
2232         Reviewed by Gustavo Noronha Silva.
2233
2234         https://bugs.webkit.org/show_bug.cgi?id=38769
2235         ClipboardGtk should write the URL label in the text portion of the DataObject
2236
2237         No tests as this code path is currently unused in the GTK+ port.
2238
2239         * platform/gtk/ClipboardGtk.cpp:
2240         (WebCore::ClipboardGtk::writeURL): Write the label to the text portion of the DataObject, instead of the URL.
2241
2242 2010-05-07  Nikolas Zimmermann  <nzimmermann@rim.com>
2243
2244         Reviewed by Dirk Schulze.
2245
2246         RenderSVGResourceClipper assigns a temporary mutated RenderStyle but does not correctly preserve the old style
2247         https://bugs.webkit.org/show_bug.cgi?id=38767
2248
2249         Fix small logic error leading to a problem in RenderSVGResourceClipper. It assigns a new temporary RenderStyle
2250         to the target object, but fails to reset it correctly to the old style. Fixes all svg/clip-path errors on the windows bots.
2251
2252         * rendering/RenderSVGResourceClipper.cpp:
2253         (WebCore::RenderSVGResourceClipper::createClipData):
2254
2255 2010-05-07  Daniel Cheng  <dcheng@chromium.org>
2256
2257         Reviewed by Jian Li.
2258
2259         [chromium] DragDataChromium::asURL() shouldn't do file validity checks
2260         https://bugs.webkit.org/show_bug.cgi?id=38711
2261
2262         The renderer is sandboxed in Chromium, so these calls will give us no
2263         meaningful information. The loader will do the right thing if we pass
2264         it a file URL that points to an invalid file.
2265
2266         No new tests.
2267
2268         * platform/chromium/DragDataChromium.cpp:
2269         (WebCore::DragData::asURL):
2270
2271 2010-05-07  Simon Fraser  <simon.fraser@apple.com>
2272
2273         Reviewed by Dan Bernstein.
2274
2275         Fix debug-only render tree output to show object addresses in hex.
2276
2277         * rendering/RenderTreeAsText.cpp:
2278         (WebCore::writeRenderObject):
2279         (WebCore::write):
2280
2281 2010-05-07  Alexey Proskuryakov  <ap@apple.com>
2282
2283         Reviewed by Adele Peterson.
2284
2285         https://bugs.webkit.org/show_bug.cgi?id=38546
2286         Node.focus() fails to move focus from subframe properly
2287
2288         Test: fast/frames/take-focus-from-iframe.html
2289
2290         * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setFocus): Don't clear
2291         focus if this frame doesn't have it. This can happen if page's and HTMLFrameElement's ideas
2292         of focused frame get out of sync temporarily.
2293
2294 2010-05-07  Nikolas Zimmermann  <nzimmermann@rim.com>
2295
2296         Reviewed by Dirk Schulze.
2297
2298         svg/custom/use-instanceRoot-as-event-target.xhtml crashes randomly
2299         https://bugs.webkit.org/show_bug.cgi?id=37798
2300
2301         When creating JSEventListeners through attributes (onclick, etc..) or add/removeEventListener
2302         calls on a SVGElementInstance, do NOT pass the element instance itself as JS wrapper object
2303         but the correspondingElement(). SVGElementInstance redirects all event listener registrations
2304         to the correspondingElement(), as they share an event listener list, per SVG spec. The old
2305         code was very dangerous, leading to random assertions, when garbage collection teared down
2306         the JSSVGElementInstance and event listeners fired, whose listeners were registered with
2307         it, but residing in the correspondingElement() event listener list.
2308
2309         Removes the need for CustomToJS code for JSSVGElementInstance, which was wrong anyways. We hoped
2310         to keep the event listeers alive by just creating a js wrapper of the correspondingElement(), that
2311         could only work as long as garbage collection didn't tear it down, just luck. Also remove the
2312         CustomPushEventHandlerScope marker, as it is only used for JSLazyEventListeners and only works
2313         for JSNode derived objects, it was a no-op for SVGElementInstance, thus removed it.
2314
2315         Should fix all random crashes/assertions seen with svg/custom/use-instanceRoot-as-event-target.xhtml
2316         See bug report for a detailed crash analysis.
2317
2318         * bindings/js/JSSVGElementInstanceCustom.cpp: Remove custom toJS()/pushEventHandlerScope() handling, not necessary anymore.
2319         (WebCore::JSSVGElementInstance::markChildren):
2320         * bindings/scripts/CodeGeneratorJS.pm: For JSSVGElementInstance pass the correspondingElement() as JS wrapper object, not itself.
2321         * svg/SVGElementInstance.cpp:
2322         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Be sure to trigger a style update here, so dirty shadow trees for <use> get rebuild. Otherwhise DOM may be out-of-sync.
2323         (WebCore::SVGElementInstance::eventTargetData): Add ASSERT_NOT_REACHED(), all event listener calls are forwarded to the correspondingElement().
2324         (WebCore::SVGElementInstance::ensureEventTargetData): Ditto.
2325         * svg/SVGElementInstance.idl: Remove CustomToJS, CustomPushEventHandlerScope markers.
2326
2327 2010-05-06  Kenneth Russell  <kbr@google.com>
2328
2329         Reviewed by Dimitri Glazkov.
2330
2331         WebCore::WebGLUnsignedIntArrayInternal::getCallback ReadAV@Arbitrary (deef89ee3d0345edebeaf13cf974c47c)
2332         https://bugs.webkit.org/show_bug.cgi?id=38039
2333
2334         Web IDL now allows indexed getters and setters to be unnamed. Per
2335         discussion in WebGL working group and recent update to spec,
2336         removed the buggy get() and single-element set() methods from the
2337         JavaScript bindings to the WebGL array types. Refactored set()
2338         implementation in JSC bindings to share more code and modified V8
2339         binding to look more like it. Added unit tests for indexed getter
2340         with out-of-range indices and verifying removal of get and
2341         single-element set methods. Updated existing WebGL array tests.
2342
2343         Tests: fast/canvas/webgl/array-get-and-set-method-removal.html
2344                fast/canvas/webgl/array-get-out-of-bounds.html
2345
2346         * bindings/js/JSWebGLArrayHelper.h:
2347         (WebCore::setWebGLArrayHelper):
2348         * bindings/js/JSWebGLByteArrayCustom.cpp:
2349         (WebCore::JSWebGLByteArray::set):
2350         * bindings/js/JSWebGLFloatArrayCustom.cpp:
2351         (WebCore::JSWebGLFloatArray::set):
2352         * bindings/js/JSWebGLIntArrayCustom.cpp:
2353         (WebCore::JSWebGLIntArray::set):
2354         * bindings/js/JSWebGLShortArrayCustom.cpp:
2355         (WebCore::JSWebGLShortArray::set):
2356         * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
2357         (WebCore::JSWebGLUnsignedByteArray::set):
2358         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
2359         (WebCore::JSWebGLUnsignedIntArray::set):
2360         * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
2361         (WebCore::JSWebGLUnsignedShortArray::set):
2362         * bindings/v8/custom/V8WebGLArrayCustom.h:
2363         (WebCore::setWebGLArrayHelper):
2364         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
2365         (WebCore::V8WebGLByteArray::setCallback):
2366         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
2367         (WebCore::V8WebGLFloatArray::setCallback):
2368         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
2369         (WebCore::V8WebGLIntArray::setCallback):
2370         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
2371         (WebCore::V8WebGLShortArray::setCallback):
2372         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
2373         (WebCore::V8WebGLUnsignedByteArray::setCallback):
2374         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
2375         (WebCore::V8WebGLUnsignedIntArray::setCallback):
2376         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
2377         (WebCore::V8WebGLUnsignedShortArray::setCallback):
2378         * html/canvas/WebGLByteArray.h:
2379         * html/canvas/WebGLByteArray.idl:
2380         * html/canvas/WebGLFloatArray.h:
2381         * html/canvas/WebGLFloatArray.idl:
2382         * html/canvas/WebGLIntArray.h:
2383         * html/canvas/WebGLIntArray.idl:
2384         * html/canvas/WebGLShortArray.h:
2385         * html/canvas/WebGLShortArray.idl:
2386         * html/canvas/WebGLUnsignedByteArray.h:
2387         * html/canvas/WebGLUnsignedByteArray.idl:
2388         * html/canvas/WebGLUnsignedIntArray.h:
2389         * html/canvas/WebGLUnsignedIntArray.idl:
2390         * html/canvas/WebGLUnsignedShortArray.h:
2391         * html/canvas/WebGLUnsignedShortArray.idl:
2392
2393 2010-05-07  Pavel Feldman  <pfeldman@chromium.org>
2394
2395         Not reviewed: chromium dev tools tests fix.
2396         Add a more strict check prior to accessing constructor property in
2397         Web Inspector frontend.
2398
2399         * inspector/front-end/InjectedScript.js:
2400         (injectedScriptConstructor):
2401
2402 2010-05-07  Pavel Feldman  <pfeldman@chromium.org>
2403
2404         Reviewed by Joseph Pecoraro.
2405
2406         Web Inspector: On Linux/Windows panel history is
2407         traversed while iterating over words in text prompt.
2408
2409         https://bugs.webkit.org/show_bug.cgi?id=38740
2410
2411         * inspector/front-end/TextPrompt.js:
2412         (WebInspector.TextPrompt):
2413         * inspector/front-end/inspector.js:
2414         (WebInspector.documentKeyDown):
2415
2416 2010-05-07  Pavel Feldman  <pfeldman@chromium.org>
2417
2418         Reviewed by Timothy Hatcher.
2419
2420         Web Inspector: come up with InjectedScript._className that works for both JSC and V8.
2421
2422         https://bugs.webkit.org/show_bug.cgi?id=38755
2423
2424         * inspector/front-end/InjectedScript.js:
2425         (injectedScriptConstructor):
2426
2427 2010-05-07  Joseph Pecoraro  <joepeck@webkit.org>
2428
2429         Reviewed by Adam Barth.
2430
2431         document.write is not synchronous after page load
2432         https://bugs.webkit.org/show_bug.cgi?id=38146
2433
2434         If there are no pending scripts, a document.write call should be
2435         synchronous. This matches other browsers and the HTML5 spec. Forcing
2436         the tokenizer to be synchronous in Document::write does not affect
2437         external scripts written by the write call. This should only change
2438         behavior of document.write after the page is done loading.
2439
2440         Difficult to test reliably due to HTMLTokenizing relying on processing time.
2441         I made a manual test because the test requires processing very large strings
2442         synchronously and therefore can take some time.
2443
2444         Test: WebCore/manual-tests/dom/document-write-synchronous-after-page-load.html
2445
2446         * dom/Document.cpp:
2447         (WebCore::SynchronousHTMLTokenizerGuard::SynchronousHTMLTokenizerGuard): if the provided tokenizer is an HTMLTokenizer make it synchronous
2448         (WebCore::SynchronousHTMLTokenizerGuard::~SynchronousHTMLTokenizerGuard): if the provided tokenizer was an HTMLTokenizer return its synchronous state
2449         (WebCore::Document::write): temporarily set the tokenizer to synchronous during document.write
2450         * dom/Tokenizer.h:
2451         (WebCore::Tokenizer::asHTMLTokenizer): default implementation returns 0, to be overridden by HTMLTokenizer
2452         * html/HTMLTokenizer.h: allow access to to the force synchronous state
2453         (WebCore::HTMLTokenizer::forceSynchronous): accessor
2454         (WebCore::HTMLTokenizer::asHTMLTokenizer): override the default to return itself
2455         * manual-tests/dom/document-write-synchronous-after-page-load.html: Added.
2456
2457 2010-05-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2458
2459         Reviewed by Simon Hausmann.
2460
2461         [Qt] Fix rendering of -webkit-user-select: none
2462
2463         -webkit-user-select: none is implemented by filling
2464         the area with an invalid default-constructed Color.
2465         In most ports passing an invalid color down to the
2466         graphics backend seems to produce transparent fills.
2467
2468         In Qt the behavior of painting with an invalid QColor
2469         is undefined, and in practice it results in painting
2470         black opaque areas.
2471
2472         One way to fix this would be to use Qt::transparent
2473         when converting an undefined Color to a QColor, but
2474         Qt does not have short circuits for fully transparent
2475         painting, and we actually end up in slow code paths
2476         due to the transparency. So, we're better of doing the
2477         short circuit in WebKit.
2478
2479         https://bugs.webkit.org/show_bug.cgi?id=38523
2480
2481         * platform/graphics/qt/GraphicsContextQt.cpp:
2482
2483 2010-05-07  Ben Murdoch  <benm@google.com>
2484
2485         Reviewed by Darin Adler.
2486
2487         Potential crash in EventHandler::handleTouchEvent
2488         https://bugs.webkit.org/show_bug.cgi?id=38646
2489
2490         Fix a ref counting bug that can cause a crash if the m_originatingouchPointTargets
2491         hashmap holds the last ref to an EventTarget when the user lifts their finger.
2492
2493         This is very hard to reproduce in a consistent way and clearly a
2494         simple logic error in the code, therefore no new tests.
2495
2496         * page/EventHandler.cpp:
2497         (WebCore::EventHandler::handleTouchEvent): Don't let the RefPtr we get back from
2498             the hasmap go out of scope so soon as it could delete the wrapped ptr if the
2499             hashmap held the last ref (and we use the raw ptr that the RefPtr
2500             wraps later in the WebCore::Touch constructor).
2501
2502 2010-05-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2503
2504         Rubber-stamped by Kenneth Rohde Christiansen.
2505
2506         [GTK] Fails to build on GTK+ < 2.14
2507         https://bugs.webkit.org/show_bug.cgi?id=38746
2508
2509         Build fix only. Do basically the same as gtk_adjustment_configure
2510         would do if we are bellow GTK+ 2.14.
2511
2512         * platform/gtk/ScrollViewGtk.cpp:
2513         (WebCore::AdjustmentConfigure):
2514
2515 2010-05-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2516
2517         Rubber-stamped by Xan Lopez.
2518
2519         Crash with MgOpenModerna font, with non-UTF-8 character
2520         https://bugs.webkit.org/show_bug.cgi?id=37795
2521
2522         NULL-check the font platform data, for now, to avoid the crash.
2523
2524         Could not yet figure out a way to get a test written that does not
2525         involve adding the font to the tree, but there are doubts about
2526         licensing.
2527
2528         * platform/graphics/cairo/FontCacheCairo.cpp:
2529         (WebCore::FontCache::getFontDataForCharacters):
2530
2531 2010-05-07  MORITA Hajime  <morrita@google.com>
2532
2533         Reviewed by Eric Seidel.
2534
2535         [Chromium] RenderThemeChromiumMac.mm should share the code with RenderThemeMac.mm
2536         https://bugs.webkit.org/show_bug.cgi?id=37204
2537
2538         Made RenderThemeChromiumMac subclass of RenderThemeMac, instead of RenderTheme.
2539         Added some method to RenderThemeMac for overriding on RenderThemeChromiumMac.
2540         
2541         No new tests; Should have no behavioural change.
2542
2543         * WebCore.gyp/WebCore.gyp:
2544         * rendering/RenderThemeChromiumMac.h:
2545         * rendering/RenderThemeChromiumMac.mm:
2546         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
2547         (WebCore::RenderThemeChromiumMac::documentViewFor):
2548         (WebCore::RenderThemeChromiumMac::adjustMediaSliderThumbSize):
2549         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
2550         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
2551         * rendering/RenderThemeMac.h:
2552         (WebCore::RenderThemeMac::updateActiveState): Added for overriding
2553         * rendering/RenderThemeMac.mm:
2554         (WebCore::RenderThemeMac::usesTestModeFocusRingColor): Added for overriding
2555         (WebCore::RenderThemeMac::documentViewFor): Added for overriding
2556         (WebCore::RenderThemeMac::paintMenuList):
2557         (WebCore::RenderThemeMac::setPopupButtonCellState):
2558         (WebCore::RenderThemeMac::paintSliderThumb):
2559         (WebCore::RenderThemeMac::paintSearchField):
2560         (WebCore::RenderThemeMac::setSearchCellState):
2561         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
2562         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2563         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2564         (WebCore::RenderThemeMac::adjustSliderThumbSize):
2565         (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Added for overriding
2566         (WebCore::RenderThemeMac::extraMediaControlsStyleSheet):        
2567
2568 2010-05-06  Fumitoshi Ukai  <ukai@chromium.org>
2569
2570         Reviewed by Alexey Proskuryakov.
2571
2572         JavaScriptCore/wtf/RandomNumber.h should provide using WTF::*
2573         https://bugs.webkit.org/show_bug.cgi?id=38719
2574
2575         * platform/graphics/wince/FontCustomPlatformData.cpp:
2576         (WebCore::createUniqueFontName):
2577           Remove WTF:: prefix from randomNumber()
2578         * platform/network/FormDataBuilder.cpp:
2579         (WebCore::FormDataBuilder::generateUniqueBoundaryString):
2580           Ditto.
2581
2582 2010-04-27  Tony Chang  <tony@chromium.org>
2583
2584         Reviewed by Eric Seidel.
2585
2586         [chromium] clicking a scrollbar in an iframe shouldn't lose the selection
2587         https://bugs.webkit.org/show_bug.cgi?id=38189
2588
2589         Test: fast/events/mousedown-in-subframe-scrollbar.html
2590
2591         * page/chromium/EventHandlerChromium.cpp:
2592         (WebCore::EventHandler::passMousePressEventToSubframe): If clicking on
2593             a scrollbar, pass the event directly to the scrollbar.  This matches
2594             mac which passes the event to the NSScroller.
2595
2596 2010-05-06  Simon Fraser  <simon.fraser@apple.com>
2597
2598         Reviewed by Dan Bernstein.
2599
2600         Compositing layers that are clipped out by an overflow:scroll parent fail to get created on reveal
2601         https://bugs.webkit.org/show_bug.cgi?id=38712
2602         
2603         When compositing layer creation is testing layer overlap, we need to re-run the
2604         algorithm when an overflow:scroll element scrolls, to create new layers for revealed
2605         elements.
2606         
2607         Test: compositing/layer-creation/overflow-scroll-overlap.html
2608
2609         * rendering/RenderLayer.cpp:
2610         (WebCore::RenderLayer::scrollToOffset): First, move the compositing updates
2611         until after the call to updateWidgetPositions(), so that this order is similar
2612         to what we done when a FrameView scrolls. This change has no known side effects.
2613         Second, if compositingConsultsOverlap() is true, we need to actually do a 
2614         compositing layer update to compute whether revealed/hidden layers should
2615         be created/destroyed.
2616
2617 2010-05-06  Maciej Stachowiak  <mjs@apple.com>
2618
2619         Not reviewed, build fix.
2620
2621         Try again - with quotes this time. *facepalm*
2622
2623         * dom/Notation.cpp:
2624
2625 2010-05-06  Maciej Stachowiak  <mjs@apple.com>
2626
2627         Not reviewed, build fix.
2628
2629         Speculative fix for Qt and Gtk.
2630
2631         * dom/Notation.cpp:
2632
2633 2010-05-06  Maciej Stachowiak  <mjs@apple.com>
2634
2635         Not reviewed, build fix.
2636
2637         Fix an assert that I failed to update in my earlier change.
2638
2639         * dom/CharacterData.h:
2640         (WebCore::CharacterData::CharacterData):
2641
2642 2010-05-06  Alexey Proskuryakov  <ap@apple.com>
2643
2644         Reviewed by Geoff Garen.
2645
2646         https://bugs.webkit.org/show_bug.cgi?id=38697
2647         REGRESSION (r58299): Replying on reddit.com no longer works
2648
2649         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Don't recognize :first,
2650         :left and :right. The aren't allowed in all contexts, and properly implementing them is out
2651         of scope for this regression fix.
2652
2653 2010-05-06  Jian Li  <jianli@chromium.org>
2654
2655         Reviewed by Adam Barth.
2656
2657         Improve code generator scripts to support converting ScriptString.
2658         https://bugs.webkit.org/show_bug.cgi?id=38699
2659
2660         Change both JSC and V8 generators to introduce "ConvertScriptString"
2661         attribute to allow converting from ScriptString. Also updated the
2662         bindings test result.
2663
2664         These changes are necessary in order to avoid adding custom binding codes
2665         when we add the FileReader interface.
2666
2667         * bindings/scripts/CodeGeneratorJS.pm:
2668         * bindings/scripts/CodeGeneratorV8.pm:
2669         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2670         (webkit_dom_test_obj_get_script_string_attr):
2671         (webkit_dom_test_obj_get_property):
2672         (webkit_dom_test_obj_class_init):
2673         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2674         * bindings/scripts/test/JS/JSTestObj.cpp:
2675         (WebCore::):
2676         (WebCore::jsTestObjScriptStringAttr):
2677         * bindings/scripts/test/JS/JSTestObj.h:
2678         * bindings/scripts/test/ObjC/DOMTestObj.h:
2679         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2680         (-[DOMTestObj scriptStringAttr]):
2681         * bindings/scripts/test/TestObj.idl:
2682         * bindings/scripts/test/V8/V8TestObj.cpp:
2683         (WebCore::TestObjInternal::scriptStringAttrAttrGetter):
2684         (WebCore::):
2685
2686 2010-05-06  Jian Li  <jianli@chromium.org>
2687
2688         Reviewed by Adam Barth.
2689
2690         Improve code generator scripts to pass additional ScriptExecutionContext
2691         argument to the constructor.
2692         https://bugs.webkit.org/show_bug.cgi?id=38687
2693
2694         Change both JSC and V8 generators to introduce "CallWith=ScriptExecutionContext"
2695         attribute to allow passing the additional ScriptExecutionContext argument to
2696         the constructor. Also add another test IDL file to test interface-level
2697         features.
2698
2699         These changes are necessary in order to avoid adding custom binding codes
2700         when we add the FileReader interface.
2701
2702         * bindings/scripts/CodeGeneratorJS.pm:
2703         * bindings/scripts/CodeGeneratorV8.pm:
2704         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Added.
2705         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Added.
2706         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h: Added.
2707         * bindings/scripts/test/JS/JSTestInterface.cpp: Added.
2708         * bindings/scripts/test/JS/JSTestInterface.h: Added.
2709         * bindings/scripts/test/ObjC/DOMTestInterface.h: Added.
2710         * bindings/scripts/test/ObjC/DOMTestInterface.mm: Added.
2711         * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h: Added.
2712         * bindings/scripts/test/TestInterface.idl: Added.
2713         * bindings/scripts/test/V8/V8TestInterface.cpp: Added.
2714         * bindings/scripts/test/V8/V8TestInterface.h: Added.
2715         * bindings/v8/V8Proxy.h:
2716         (WebCore::V8Proxy::constructDOMObjectWithScriptExecutionContext):
2717
2718 2010-05-06  Maciej Stachowiak  <mjs@apple.com>
2719
2720         Build fix, not reviewed.
2721         
2722         Speculative Windows and Debug build fixes for the last change.
2723
2724         * dom/Node.h:
2725         (WebCore::Node::inDocument):
2726         (WebCore::Node::setFlag):
2727
2728 2010-05-06  James Robinson  <jamesr@chromium.org>
2729
2730         Reviewed by Eric Seidel.
2731
2732         Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files.
2733         https://bugs.webkit.org/show_bug.cgi?id=38158
2734
2735         Fixes:
2736         - replace NULL with 0
2737         - remove unusued locals
2738         - add parens around ambiguous looking compound predicates like (a || b && c)
2739
2740         This also adds a check for x >= 0 to FontLinux.cpp's in this statement:
2741           if (x < walker.width())
2742         This is more documentation than anything else since walker.width() returns
2743         an unsigned the current behavior is that x is promoted to unsigned and as
2744         long as x + walker.width() is less than 2^31 all negative values of x
2745         end up wrapping around and not being < walker.width().  This behavior is
2746         tested by fast/text/international/khmer-selection.html
2747
2748         * platform/graphics/chromium/FontLinux.cpp:
2749         (WebCore::adjustTextRenderMode):
2750         (WebCore::TextRunWalker::TextRunWalker):
2751         (WebCore::TextRunWalker::length):
2752         (WebCore::TextRunWalker::width):
2753         (WebCore::TextRunWalker::getTextRun):
2754         (WebCore::TextRunWalker::getNormalizedTextRun):
2755         (WebCore::Font::offsetForPositionForComplexText):
2756         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2757         (WebCore::FontPlatformData::setupPaint):
2758         * platform/graphics/chromium/HarfbuzzSkia.cpp:
2759         (WebCore::getOutlinePoint):
2760         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2761         (WebCore::GraphicsContext3D::getImageData):
2762         * platform/graphics/skia/GraphicsContextSkia.cpp:
2763         (WebCore::isCoordinateSkiaSafe):
2764         (WebCore::GraphicsContext::fillRect):
2765         (WebCore::GraphicsContext::strokePath):
2766         (WebCore::GraphicsContext::strokeRect):
2767
2768 2010-05-06  Ada Chan  <adachan@apple.com>
2769
2770         Reviewed by David Kilzer.
2771
2772         https://bugs.webkit.org/show_bug.cgi?id=38695
2773         
2774         Check the result from widget() for NULL before accessing it.
2775
2776         * rendering/RenderIFrame.cpp:
2777         (WebCore::RenderIFrame::calcHeight):
2778         (WebCore::RenderIFrame::calcWidth):
2779
2780 2010-05-06  Maciej Stachowiak  <mjs@apple.com>
2781
2782         Reviewed by Darin Adler.
2783
2784         further fixes towards REGRESSION (r57292): 1% PLT regression from visited link information leak fix
2785         https://bugs.webkit.org/show_bug.cgi?id=38682
2786         <rdar://problem/7859794>
2787
2788         Looks like a 1-2% speedup on PLT.
2789
2790         - Reorder CSS properties.
2791         - Remove short circuit tag check in matchRulesForList which costs more than it saves.
2792         - Inline initForStyleResolve.
2793         - Optimize applyDeclarations to avoid switch and take fewer branches in the inner loop.
2794         
2795         - Change the way Node handles flags - replace bitfield with a uint32_t and explicit masking, 
2796         to make it cheaper to initialize the bits and give faster access.
2797         - Added new Node flags to check for isStyledElement, isHTMLElement, isSVGElement, isComment, 
2798         and devirtualize those methods.
2799         - Inline constructors for Node, Element, Text, CharacterData, StyledElement, etc since
2800         they are very simple and lots of nodes get constructed.
2801         
2802         * css/CSSPropertyNames.in: Move a few of the properties up front so we can check for them
2803         with < instead of switch statements
2804         * css/CSSStyleSelector.cpp:
2805         (WebCore::CSSStyleSelector::matchRulesForList): Remove unnecessary preflight check
2806         for tag match before checking selector. This check very rarely short circuits anything,
2807         since most rules with a tag end up in the appropriate tag bucket. So doing the check
2808         cost more time than the time saved.
2809         (WebCore::CSSStyleSelector::initForStyleResolve): Inline. Create RenderStyle in a better way.
2810         (WebCore::CSSStyleSelector::applyDeclarations): Get rid of switch statement and use <= to
2811         check for the high priority properties. Convert to template to avoid checking "applyFirst"
2812         each time through the loop.
2813         (WebCore::CSSStyleSelector::styleForElement): Adjust for new applyDeclarations() signature.
2814         (WebCore::CSSStyleSelector::keyframeStylesForAnimation): ditto
2815         (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto
2816         * css/CSSStyleSelector.h: Adjust for new applyDeclarations() signature.
2817         * rendering/style/RenderStyle.cpp:
2818         (WebCore::RenderStyle::RenderStyle): Inline constructor.
2819         * rendering/style/RenderStyle.h: Make constructor private so it can be inline.
2820         * dom/Node.h:
2821         (WebCore::): See high-level description of changes above. Redid the
2822         way boolean flags work.
2823         (WebCore::Node::isElementNode):
2824         (WebCore::Node::isContainerNode):
2825         (WebCore::Node::isTextNode):
2826         (WebCore::Node::isHTMLElement):
2827         (WebCore::Node::isSVGElement):
2828         (WebCore::Node::isStyledElement):
2829         (WebCore::Node::isCommentNode):
2830         (WebCore::Node::hasID):
2831         (WebCore::Node::hasClass):
2832         (WebCore::Node::active):
2833         (WebCore::Node::inActiveChain):
2834         (WebCore::Node::inDetach):
2835         (WebCore::Node::hovered):
2836         (WebCore::Node::attached):
2837         (WebCore::Node::setAttached):
2838         (WebCore::Node::needsStyleRecalc):
2839         (WebCore::Node::styleChangeType):
2840         (WebCore::Node::childNeedsStyleRecalc):
2841         (WebCore::Node::isLink):
2842         (WebCore::Node::setHasID):
2843         (WebCore::Node::setHasClass):
2844         (WebCore::Node::setChildNeedsStyleRecalc):
2845         (WebCore::Node::clearChildNeedsStyleRecalc):
2846         (WebCore::Node::setInDocument):
2847         (WebCore::Node::clearInDocument):
2848         (WebCore::Node::setInActiveChain):
2849         (WebCore::Node::clearInActiveChain):
2850         (WebCore::Node::setIsLink):
2851         (WebCore::Node::clearIsLink):
2852         (WebCore::Node::setActive):
2853         (WebCore::Node::setHovered):
2854         (WebCore::Node::inDocument):
2855         (WebCore::Node::):
2856         (WebCore::Node::getFlag):
2857         (WebCore::Node::setFlag):
2858         (WebCore::Node::clearFlag):
2859         (WebCore::Node::hasRareData):
2860         (WebCore::Node::isParsingChildrenFinished):
2861         (WebCore::Node::setIsParsingChildrenFinished):
2862         (WebCore::Node::clearIsParsingChildrenFinished):
2863         (WebCore::Node::isStyleAttributeValid):
2864         (WebCore::Node::setIsStyleAttributeValid):
2865         (WebCore::Node::clearIsStyleAttributeValid):
2866         (WebCore::Node::isSynchronizingStyleAttribute):
2867         (WebCore::Node::setIsSynchronizingStyleAttribute):
2868         (WebCore::Node::clearIsSynchronizingStyleAttribute):
2869         (WebCore::Node::areSVGAttributesValid):
2870         (WebCore::Node::setAreSVGAttributesValid):
2871         (WebCore::Node::clearAreSVGAttributesValid):
2872         (WebCore::Node::isSynchronizingSVGAttributes):
2873         (WebCore::Node::setIsSynchronizingSVGAttributes):
2874         (WebCore::Node::clearIsSynchronizingSVGAttributes):
2875         (WebCore::Node::hasRareSVGData):
2876         (WebCore::Node::setHasRareSVGData):
2877         (WebCore::Node::clearHasRareSVGData):
2878         (WebCore::Node::initialRefCount):
2879         * dom/Node.cpp:
2880         (WebCore::Node::trackForDebugging): Adjusted for changes in
2881         flag handling.
2882         (WebCore::Node::ensureRareData): ditto
2883         (WebCore::Node::setStyleChange): ditto
2884         (WebCore::Node::setNeedsStyleRecalc): ditto
2885         (WebCore::Node::lazyAttach): ditto
2886         (WebCore::Node::attach): ditto
2887         (WebCore::Node::detach): ditto
2888         (WebCore::Node::insertedIntoDocument): ditto
2889         (WebCore::Node::removedFromDocument): ditto
2890         * dom/CharacterData.cpp:
2891         * dom/CharacterData.h:
2892         (WebCore::CharacterData::CharacterData): Inline the constructor (moved from .cpp)
2893         * dom/Comment.cpp:
2894         (WebCore::Comment::Comment): Tell the base class that we're a comment.
2895         * dom/Comment.h: Remove isCommentNode override.
2896         * dom/ContainerNode.cpp:
2897         (WebCore::ContainerNode::detach): Adjusted for changes in flag
2898         handling.
2899         (WebCore::ContainerNode::removedFromDocument): ditto
2900         * dom/Document.cpp:
2901         (WebCore::Document::Document): Adjusted for changes in flag handling.
2902         (WebCore::Document::recalcStyle): ditto
2903         (WebCore::Document::setFocusedNode): ditto
2904         * dom/Document.h:
2905         (WebCore::Node::Node): Inline the Node constructor - goes here
2906         because it uses Document.
2907         * dom/DocumentFragment.cpp: include Document.h due to above change
2908         * dom/EditingText.cpp: ditto
2909         * dom/EntityReference.cpp: ditto
2910         * dom/Element.cpp:
2911         (WebCore::Element::getAttribute): Adjusted for changes in flag
2912         handling.
2913         (WebCore::Element::setAttribute): ditto
2914         (WebCore::Element::hasAttributes): ditto
2915         (WebCore::Element::recalcStyle): ditto
2916         (WebCore::Element::finishParsingChildren): ditto
2917         * dom/Element.h:
2918         (WebCore::Element::Element): Inline (moved from .cpp)
2919         (WebCore::Element::isFinishedParsingChildren):
2920         (WebCore::Element::beginParsingChildren):
2921         (WebCore::Element::attributes): Adjusted for changes in flag
2922         handling.
2923         * dom/StyledElement.cpp:
2924         (WebCore::StyledElement::updateStyleAttribute): Adjust for
2925         changes to flag handling.
2926         (WebCore::StyledElement::mapToEntry): ditto
2927         (WebCore::StyledElement::parseMappedAttribute): ditto
2928         (WebCore::StyledElement::copyNonAttributeProperties): ditto
2929         * dom/StyledElement.h:
2930         (WebCore::StyledElement::StyledElement): Inline (moved from.cpp)
2931         (WebCore::StyledElement::invalidateStyleAttribute): Adjust for
2932         changes in flag handling.
2933         * dom/Text.h:
2934         (WebCore::Text::Text): Inline (moved from .cpp)
2935         * dom/Text.cpp:
2936         * html/HTMLAnchorElement.cpp:
2937         (WebCore::HTMLAnchorElement::HTMLAnchorElement): Adjust for changes in
2938         flag handling.
2939         (WebCore::HTMLAnchorElement::parseMappedAttribute): ditto
2940         * html/HTMLElement.cpp:
2941         (WebCore::HTMLElement::create): Tell base class we're an HTML element.
2942         * html/HTMLElement.h: ditto above; remove isHTMLElement override.
2943         * html/HTMLFormControlElement.h: Tell base class we're an HTML element.
2944         * html/HTMLFrameOwnerElement.cpp:
2945         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): ditto
2946         * html/HTMLProgressElement.cpp:
2947         (WebCore::HTMLProgressElement::HTMLProgressElement): ditto
2948         * mathml/MathMLElement.cpp:
2949         (WebCore::MathMLElement::MathMLElement): Tell base class we're a styled
2950         element.
2951         * rendering/MediaControlElements.cpp:
2952         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
2953         Adjust for changes in flag handling.
2954         (WebCore::MediaControlElement::MediaControlElement): ditto
2955         (WebCore::MediaControlInputElement::MediaControlInputElement): ditto
2956         * rendering/RenderFileUploadControl.cpp:
2957         (WebCore::RenderFileUploadControl::updateFromElement): ditto
2958         * rendering/RenderLayer.cpp:
2959         (WebCore::RenderLayer::updateHoverActiveState): ditto
2960         * rendering/RenderProgress.cpp:
2961         (WebCore::RenderProgress::updateValuePartState): ditto
2962         * rendering/RenderSlider.cpp:
2963         (WebCore::RenderSlider::updateFromElement): ditto
2964         * rendering/SVGShadowTreeElements.cpp:
2965         (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): ditto
2966         * rendering/TextControlInnerElements.cpp:
2967         (WebCore::TextControlInnerElement::attachInnerElement): ditto
2968         * svg/SVGAnimatedProperty.h:
2969         (WebCore::SVGAnimatedPropertyTearOff::setBaseVal): ditto
2970         (WebCore::SVGAnimatedPropertyTearOff::setAnimVal): ditto
2971         * svg/SVGElement.cpp:
2972         (WebCore::SVGElement::SVGElement): Tell base class we're
2973         an svg element.
2974         (WebCore::SVGElement::ensureRareSVGData): Adjust for flag handling
2975         changes.
2976         (WebCore::SVGElement::updateAnimatedSVGAttribute): ditto
2977         * svg/SVGElement.h:
2978         (WebCore::SVGElement::invalidateSVGAttributes): ditto
2979         * svg/SVGPolyElement.cpp:
2980         (WebCore::SVGPolyElement::svgAttributeChanged): ditto
2981         * wml/WMLAnchorElement.cpp:
2982         (WebCore::WMLAnchorElement::WMLAnchorElement): ditto
2983         * wml/WMLElement.cpp:
2984         (WebCore::WMLElement::WMLElement): Tell base class we're a styled
2985         element.
2986
2987 2010-05-06  Adam Barth  <abarth@webkit.org>
2988
2989         Unreviewed.  Fix indent.  Sorry, my OCD was acting up.
2990
2991         * page/EventHandler.cpp:
2992         (WebCore::EventHandler::handleMouseReleaseEvent):
2993
2994 2010-05-06  Pavel Feldman  <pfeldman@chromium.org>
2995
2996         Reviewed by Joseph Pecoraro.
2997
2998         Web Inspector: store selected Headers / Content tab on explicit switch and/or explicit navigate only.
2999
3000         https://bugs.webkit.org/show_bug.cgi?id=38660
3001
3002         * inspector/front-end/ResourceView.js:
3003         (WebInspector.ResourceView):
3004         (WebInspector.ResourceView.prototype._selectHeadersTab):
3005         (WebInspector.ResourceView.prototype.selectContentTab):
3006         * inspector/front-end/ResourcesPanel.js:
3007         (WebInspector.ResourcesPanel.prototype.showResource):
3008
3009 2010-05-06  Luiz Agostini  <luiz.agostini@openbossa.org>
3010
3011         Rubber-stamped by Simon Hausmann.
3012
3013         [Qt] use QT_MOBILE_THEME in Symbian
3014         https://bugs.webkit.org/show_bug.cgi?id=38440
3015
3016         Putting QT_MOBILE_THEME into use for Symbian.
3017
3018         * WebCore.pro:
3019
3020 2010-05-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3021
3022         Unreviewed, build fix WinCE for QtWebKit.
3023
3024         [Qt] Compilation with Plugins disabled is broken
3025         https://bugs.webkit.org/show_bug.cgi?id=31407
3026
3027         Rename platform/qt/TemporaryLinkStubs.cpp to avoid name collition on
3028         Windows.
3029
3030         Thanks for Ismail "cartman" Donmez for help.
3031
3032         No new tests, as there is no new functionality.
3033
3034         * WebCore.gypi:
3035         * WebCore.pro:
3036         * platform/qt/TemporaryLinkStubs.cpp: Removed.
3037         * platform/qt/TemporaryLinkStubsQt.cpp: Copied from WebCore/platform/qt/TemporaryLinkStubs.cpp.
3038
3039 2010-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
3040
3041         Reviewed by Kenneth Rohde Christiansen.
3042
3043         [Qt] REGRESSION: Loading of external CSS and JS files over network fails in some cases
3044         https://bugs.webkit.org/show_bug.cgi?id=36755
3045
3046         Enable the direct connection between QtNetwork and QtWebKit only for Qt versions
3047         greater than 4.6.2, due to a bug in Qt that's been fixed after 4.6.2.
3048
3049         * platform/network/qt/QNetworkReplyHandler.cpp:
3050
3051 2010-05-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3052
3053         Reviewed by Xan Lopez.
3054
3055         Rework where we get page step and line step from, so we do not
3056         depend on scrollbars existing. Caught by API test I forgot to run.
3057
3058         * platform/gtk/ScrollViewGtk.cpp:
3059         (WebCore::ScrollView::setGtkAdjustments):
3060
3061 2010-05-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3062
3063         Reviewed by Xan Lopez.
3064
3065         [GTK] Adjustment resetting uses wrong values, and misses page_size and steps
3066         https://bugs.webkit.org/show_bug.cgi?id=38657
3067
3068         Fix resetting adjustment values. In the page cache case, we were
3069         confusing page_size and upper, leading to stray scrollbars
3070         sometimes.
3071
3072         * platform/gtk/ScrollViewGtk.cpp:
3073         (WebCore::ScrollView::setGtkAdjustments):
3074
3075 2010-05-06  Darin Adler  <darin@apple.com>
3076
3077         Reviewed by Beth Dakin.
3078
3079         Page::setCanStartMedia does not properly handle the case where a media listener is removed
3080         https://bugs.webkit.org/show_bug.cgi?id=38602
3081
3082         We can't find any real case where this causes a crash at this time, but
3083         we want to harden the code anyway. Thus there are no new regression tests.
3084
3085         * page/Page.cpp:
3086         (WebCore::Page::removeMediaCanStartListener): Removed incorrect assertion.
3087         (WebCore::Page::setCanStartMedia): Change algorithm so we notify listeners
3088         one at a time and don't notify any listener that has already been removed
3089         from the set.
3090
3091 2010-05-05  Ojan Vafai  <ojan@chromium.org>
3092
3093         Reviewed by Darin Adler.
3094
3095         shift+click on an existing selection doesn't work right
3096         https://bugs.webkit.org/show_bug.cgi?id=36542
3097
3098         NSTextView behavior is to move the end of the selection
3099         closest to the shift-click. Win/Linux behavior is to always
3100         move the focus end of the selection.
3101
3102         Test: editing/selection/shift-click.html
3103
3104         * page/EventHandler.cpp:
3105         (WebCore::textDistance):
3106         (WebCore::EventHandler::handleMousePressEventSingleClick):
3107
3108 2010-05-06  Pavel Feldman  <pfeldman@chromium.org>
3109
3110         Reviewed by Timothy Hatcher.
3111
3112         Web Inspector: implement panels history traversal on Cmd+Left/Right.
3113
3114         https://bugs.webkit.org/show_bug.cgi?id=38649
3115
3116         * inspector/front-end/inspector.js:
3117         (WebInspector.set currentPanel):
3118         (WebInspector.loaded):
3119         (WebInspector.documentKeyDown):
3120         (WebInspector.PanelHistory):
3121         (WebInspector.PanelHistory.prototype.canGoBack):
3122         (WebInspector.PanelHistory.prototype.goBack):
3123         (WebInspector.PanelHistory.prototype.canGoForward):
3124         (WebInspector.PanelHistory.prototype.goForward):
3125         (WebInspector.PanelHistory.prototype.setPanel):
3126
3127 2010-05-03  Evan Martin  <evan@chromium.org>
3128
3129         Reviewed by Eric Seidel.
3130
3131         [chromium] use glyphDataForCharacter so we hit the glyphdata cache
3132         https://bugs.webkit.org/show_bug.cgi?id=38500
3133
3134         Calling fontDataForCharacters() while rendering text is expensive.
3135         Examining the relevant Mac code in WebKit revealed that calling the
3136         similarly-named glyphDataForCharacters() results in caching the font
3137         data on a per-glyph basis.
3138
3139         Since we now choose a font based on the first character in a run, we
3140         need to be careful that all the glyphs within the run use the same font.
3141         This is also similar to the WebKit Mac code.  We need to remove all of
3142         the script run bits eventually and this is a step in that direction.
3143
3144         Tests: fast/text/international/danda-space.html spacing changes slightly
3145         (now matches Firefox better) and fast/text/international/thai-baht-space.html
3146         now picks the correct (serif) font for the digits.
3147
3148         * platform/graphics/chromium/FontLinux.cpp:
3149         (WebCore::TextRunWalker::nextScriptRun):
3150         (WebCore::TextRunWalker::setupFontForScriptRun):
3151
3152 2010-05-06  Martin Robinson  <mrobinson@webkit.org>
3153
3154         Reviewed by Gustavo Noronha Silva.
3155
3156         [GTK] Enable DOM clipboard and drag-and-drop access
3157         https://bugs.webkit.org/show_bug.cgi?id=30623
3158
3159         Convert dragging portion of drag-and-drop to use DataObjectGtk.
3160
3161         No new tests, because functionality has not changed.
3162
3163         * page/gtk/EventHandlerGtk.cpp:
3164         (WebCore::EventHandler::createDraggingClipboard): Pass the DataObjectGtk as a parameter here.
3165         * platform/gtk/ClipboardGtk.h:
3166         (WebCore::ClipboardGtk::create): Take the DataObject as a parameter instead of creating it here.
3167         (WebCore::ClipboardGtk::helper): Added.
3168         (WebCore::ClipboardGtk::dataObject): Added.
3169         * platform/gtk/PasteboardHelper.h: Make targetListForDataObject a public method.
3170
3171 2010-05-06  Pavel Feldman  <pfeldman@chromium.org>
3172
3173         Reviewed by Timothy Hatcher.
3174
3175         Web Inspector: Do not show content tab for resources
3176         not supporting content preview.
3177
3178         https://bugs.webkit.org/show_bug.cgi?id=38635
3179
3180         * English.lproj/localizedStrings.js:
3181         * inspector/front-end/FontView.js:
3182         (WebInspector.FontView.prototype.hasContentTab):
3183         * inspector/front-end/ImageView.js:
3184         (WebInspector.ImageView.prototype.hasContentTab):
3185         * inspector/front-end/ResourceView.js:
3186         (WebInspector.ResourceView):
3187         (WebInspector.ResourceView.prototype._selectTab):
3188         (WebInspector.ResourceView.prototype.hasContentTab):
3189         * inspector/front-end/SourceView.js:
3190         (WebInspector.SourceView.prototype.hasContentTab):
3191
3192 2010-05-06  Antonio Gomes  <tonikitoo@webkit.org>
3193
3194         Reviewed by Kenneth Christiansen.
3195
3196         Spatial Navigation: adapt the logic of {deep}findFocusableNodeInDirection to do traversal starting from Node* not Document*
3197         https://bugs.webkit.org/show_bug.cgi?id=37803
3198
3199         Instead of receiving a Document pointer as incoming parameter, patch modifies
3200         findFocusableNodeInDirection and deepFindFocusableNodeInDirection methods to
3201         receive a Node pointer as start for content traversal.
3202         This way we can make good use of deepFindFocusableNodeInDirection to traverse
3203         other scrollable container like scrollable div's, and not only frames or iframes.
3204
3205         Patch also makes use of 'while' instead of 'for' to loop control, that gives move
3206         flexibility to the incremental step: e.g. if a scrollable div was processed, the incremental
3207         step in the loop does not have to do node->traverseNextNode() but node->traverseNextSibling().
3208
3209         No behavior change. It is a preparation for supporting scrollable containers in Spatial
3210         Navigation.
3211
3212         * page/FocusController.cpp:
3213         (WebCore::FocusController::advanceFocusDirectionally):
3214         (WebCore::FocusController::findFocusableNodeInDirection):
3215         (WebCore::FocusController::deepFindFocusableNodeInDirection):
3216         * page/FocusController.h:
3217
3218 2010-05-06  Csaba Osztrogonác  <ossy@webkit.org>
3219
3220         Unreviewed WinCE buildfix after r58842.
3221         Preprocessor doesn't understand "true", changed to "1"
3222
3223         * platform/graphics/MediaPlayer.cpp:
3224
3225 2010-05-06  Mikhail Naganov  <mnaganov@chromium.org>
3226
3227         Reviewed by Pavel Feldman.
3228
3229         Temporarily disable 'console.profiles' until we can distinguish
3230         functions from different frames
3231
3232         https://bugs.webkit.org/show_bug.cgi?id=38638
3233
3234         * bindings/v8/custom/V8ConsoleCustom.cpp:
3235         (WebCore::V8Console::profilesAccessorGetter):
3236
3237 2010-05-06  Steve Block  <steveblock@google.com>
3238
3239         Reviewed by Eric Seidel.
3240
3241         MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
3242         https://bugs.webkit.org/show_bug.cgi?id=38544
3243
3244         No new tests, build fix only.
3245
3246         * DerivedSources.make:
3247         * bindings/js/ScriptController.cpp:
3248         (WebCore::ScriptController::ScriptController):
3249         * bindings/js/ScriptController.h:
3250         * bindings/js/ScriptControllerMac.mm:
3251         (WebCore::ScriptController::createScriptInstanceForWidget):
3252         * bridge/jni/JNIBridge.cpp:
3253         * bridge/jni/JNIBridge.h:
3254         * bridge/jni/JNIUtility.cpp:
3255         * bridge/jni/JNIUtility.h:
3256         * bridge/jni/jni_jsobject.h:
3257         * bridge/jni/jni_jsobject.mm:
3258         * bridge/jni/jni_objc.mm:
3259         * bridge/jni/jsc/JNIBridgeJSC.cpp:
3260         * bridge/jni/jsc/JNIBridgeJSC.h:
3261         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
3262         * bridge/jni/jsc/JNIUtilityPrivate.h:
3263         * bridge/jni/jsc/JavaClassJSC.cpp:
3264         * bridge/jni/jsc/JavaClassJSC.h:
3265         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3266         * bridge/jni/jsc/JavaInstanceJSC.h:
3267         * loader/FrameLoaderClient.h:
3268
3269 2010-05-05  Alejandro G. Castro  <alex@igalia.com>
3270
3271         Reviewed by Xan Lopez.
3272
3273         Fixed the gobject introspection compilation with the new DOM
3274         bindings, we needed to add DOM objects.
3275
3276         * GNUmakefile.am:
3277
3278 2010-05-06  Adam Barth  <abarth@webkit.org>
3279
3280         Reviewed by Eric Seidel.
3281
3282         drop support for sessionStorage in sandbox iframes
3283         https://bugs.webkit.org/show_bug.cgi?id=38151
3284
3285         This patch causes us to throw a security exception when a sandboxed
3286         iframe attempts to access sessionStorage, matching our behavior for
3287         localStorage.  The letter of the spec asks us to create a separate
3288         storage area for each unique origin.  We might want to do that in a
3289         future patch, but throwing a security error seems like a safe move now.
3290
3291         * page/DOMWindow.cpp:
3292         (WebCore::DOMWindow::sessionStorage):
3293         (WebCore::DOMWindow::localStorage):
3294         * page/DOMWindow.h:
3295         * page/DOMWindow.idl:
3296         * page/SecurityOrigin.h:
3297         (WebCore::SecurityOrigin::canAccessSessionStorage):
3298         * storage/StorageEventDispatcher.cpp:
3299         (WebCore::StorageEventDispatcher::dispatch):
3300
3301 2010-05-06  Andy Estes  <aestes@apple.com>
3302
3303         Reviewed by Maciej Stachowiak.
3304
3305         Allow forms submitting to target="_blank" to open popups if the submission
3306         originated from a user gesture.
3307
3308         https://bugs.webkit.org/show_bug.cgi?id=37335
3309         <rdar://problem/7884980>
3310
3311         Test: fast/events/popup-allowed-from-gesture-initiated-form-submit.html
3312
3313         * bindings/js/ScriptController.cpp:
3314         (WebCore::ScriptController::processingUserGesture): If no DOM event is
3315         being processed, consult UserGestureIndicator to determine return value.
3316         * bindings/js/ScriptController.h: Moved the logic of processingUserGestureEvent()
3317         into processingUserGesture().
3318
3319 2010-05-06  Xan Lopez  <xlopez@igalia.com>
3320
3321         Rubber-stamped by Eric Seidel.
3322
3323         [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
3324         https://bugs.webkit.org/show_bug.cgi?id=38577
3325
3326         Thinko caught while refactoring, $custom variable was not
3327         initialized.
3328
3329         * bindings/scripts/CodeGeneratorGObject.pm:
3330         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3331         (webkit_dom_test_obj_set_property):
3332         (webkit_dom_test_obj_get_property):
3333         (webkit_dom_test_obj_class_init):
3334
3335 2010-05-06  Xan Lopez  <xlopez@igalia.com>
3336
3337         Rubber-stamped by Eric Seidel.
3338
3339         [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
3340         https://bugs.webkit.org/show_bug.cgi?id=38577
3341
3342         Refactor GenerateProperty out of GenerateProperties. This is in
3343         preparation for EventListeren attributes, which won't generate
3344         normal GObject properties.
3345
3346         * bindings/scripts/CodeGeneratorGObject.pm:
3347
3348 2010-05-06  Pavel Feldman  <pfeldman@chromium.org>
3349
3350         Reviewed by Joseph Pecoraro.
3351
3352         Web Inspector: follow up to linkify event listeners.
3353
3354         https://bugs.webkit.org/show_bug.cgi?id=38257
3355
3356         * bindings/js/ScriptEventListener.cpp:
3357         (WebCore::eventListenerHandlerLocation):
3358         * bindings/v8/ScriptEventListener.cpp:
3359         (WebCore::eventListenerHandlerLocation):
3360         * inspector/front-end/ElementsPanel.js:
3361         (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
3362         * inspector/front-end/EventListenersSidebarPane.js:
3363
3364 2010-05-05  Charles Wei  <charles.wei@torchmobile.com.cn>
3365
3366         Reviewed by George Staikos
3367
3368         https://bugs.webkit.org/show_bug.cgi?id=37848
3369         This patch adds WCSS -wap-input-format and -wap-input-required support to WebKit
3370
3371         Tests: fast/wcss/wap-input-format.xhtml
3372                fast/wcss/wap-input-required.xhtml
3373
3374         * css/CSSParser.cpp:
3375         (WebCore::CSSParser::parseValue):
3376         (WebCore::CSSParser::parseWCSSInputProperty):
3377         * css/CSSParser.h:
3378         * css/CSSStyleSelector.cpp:
3379         (WebCore::CSSStyleSelector::applyProperty):
3380         * css/WCSSPropertyNames.in:
3381         * dom/InputElement.cpp:
3382         (WebCore::InputElement::sanitizeValue):
3383         (WebCore::InputElement::handleBeforeTextInsertedEvent):
3384         (WebCore::InputElementData::InputElementData):
3385         (WebCore::formatCodes):
3386         (WebCore::cursorPositionToMaskIndex):
3387         (WebCore::InputElement::isConformToInputMask):
3388         (WebCore::InputElement::validateInputMask):
3389         * dom/InputElement.h:
3390         (WebCore::InputElementData::inputFormatMask):
3391         (WebCore::InputElementData::setInputFormatMask):
3392         (WebCore::InputElementData::maxInputCharsAllowed):
3393         (WebCore::InputElementData::setMaxInputCharsAllowed):
3394         * html/HTMLInputElement.cpp:
3395         (WebCore::HTMLInputElement::setWapInputFormat):
3396         * html/HTMLInputElement.h:
3397         (WebCore::HTMLInputElement::data):
3398         * wml/WMLInputElement.h:
3399         (WebCore::WMLInputElement::data):
3400
3401 2010-05-05  MORITA Hajime  <morrita@google.com>
3402
3403         Reviewed by Darin Adler.
3404
3405         https://bugs.webkit.org/show_bug.cgi?id=38150
3406         Refactoring: webkitEditableContentChangedEvent should be handled by the owner of appropriate the renderer.
3407
3408         Moved a part of code chunk in HTMLFormControlElementWithState::defaultEventHandler()
3409         which accesses the renderer from foreign node, 
3410         to TextControlInnerTextElement::defaultEventHandler() which owns the renderer.
3411         
3412         No new tests. No behavioral change.
3413
3414         * html/HTMLFormControlElement.cpp:
3415         (WebCore::HTMLFormControlElementWithState::defaultEventHandler):
3416         * html/HTMLFormControlElement.h:
3417         * html/HTMLInputElement.h:
3418         * html/HTMLTextAreaElement.h:
3419         * rendering/TextControlInnerElements.cpp:
3420         (WebCore::TextControlInnerTextElement::defaultEventHandler):
3421
3422 2010-05-05  Joseph Pecoraro  <joepeck@webkit.org>
3423
3424         Reviewed by Timothy Hatcher.
3425
3426         Web Inspector: Line Numbers should be Aligned with the Source Code Line
3427         https://bugs.webkit.org/show_bug.cgi?id=38593
3428
3429         If there is a message bubble, such as an error message, in a source view
3430         the line number should be in line with the source code line, not centered
3431         between the source and bubble.
3432
3433         * inspector/front-end/textViewer.css:
3434         (.webkit-line-number): added vertical-align: top
3435
3436 2010-05-05  Dan Bernstein  <mitz@apple.com>
3437
3438         Fix the decelerated compositing build.
3439
3440         * page/FrameView.cpp:
3441         (WebCore::FrameView::isEnclosedInCompositingLayer):
3442         * page/FrameView.h:
3443
3444 2010-05-05  Gavin Barraclough  <barraclough@apple.com>
3445
3446         Reviewed by Darin Adler.
3447
3448         Bug 38604 - workers-gc2 crashing on Qt
3449
3450         This appears to be due to a couple of issues.
3451         (1) When the atomic string table is deleted it does not clear the 'inTable' bit
3452         on AtomicStrings - it implicitly assumes that all AtomicStrings have already
3453         been deleted at this point (otherwise they will crash in their destructor when
3454         they try to remove themselves from the atomic string table).
3455         (2) We don't fix the ordering in which WTF::WTFThreadData and
3456         WebCore::ThreadGlobalData are destructed.
3457
3458         We should make sure that ThreadGlobalData is cleaned up before worker threads
3459         terminate and WTF::WTFThreadData is destroyed, and we should clear the inTable
3460         bit of members on atomic string table destruction.
3461
3462         WTF changes (fix issue 2, above) - clean up the thread data on worker termination.
3463
3464         * platform/ThreadGlobalData.cpp:
3465         (WebCore::ThreadGlobalData::~ThreadGlobalData):
3466         (WebCore::ThreadGlobalData::destroy):
3467         * platform/ThreadGlobalData.h:
3468         * workers/WorkerThread.cpp:
3469         (WebCore::WorkerThread::workerThread):
3470
3471 2010-05-05  Dan Bernstein  <mitz@apple.com>
3472
3473         Reviewed by Simon Fraser.
3474
3475         <rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1)
3476         https://bugs.webkit.org/show_bug.cgi?id=38427
3477
3478         Test: compositing/iframes/iframe-in-composited-layer.html
3479
3480         * WebCore.base.exp: Export FrameView::isEnclosedInCompositingLayer().
3481         * page/FrameView.cpp:
3482         (WebCore::FrameView::isEnclosedInCompositingLayer): Added this predicate.
3483         * page/FrameView.h:
3484
3485 2010-05-05  Chris Marrin  <cmarrin@apple.com>
3486
3487         Reviewed by Simon Fraser.
3488
3489         Got composited iframes showing up on Mac again
3490         https://bugs.webkit.org/show_bug.cgi?id=38565
3491
3492         This was broken by http://trac.webkit.org/changeset/58798. That
3493         change connected iframes through the parent document to the root
3494         of the layer tree. That is correct for Windows, but not for Mac.
3495         So the places where the linkage is made were wrapped in 
3496         shouldPropagateCompositingToIFrameParent() calls, which is 
3497         always false for Mac.
3498
3499         Test: compositing/iframes/composited-iframe-alignment.html
3500
3501         * rendering/RenderLayerCompositor.cpp:Avoid doing composited iframe linkage on Mac
3502         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
3503         (WebCore::RenderLayerCompositor::didMoveOnscreen):
3504         (WebCore::RenderLayerCompositor::willMoveOffscreen):
3505         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
3506
3507 2010-05-05  Alexey Proskuryakov  <ap@apple.com>
3508
3509         Reviewed by Darin Adler.
3510
3511         https://bugs.webkit.org/show_bug.cgi?id=38260
3512         <rdar://problem/7917548> Fix whitespace removing in deprecatedParseURL().
3513
3514         Broken all the way since r4 (yes, that's a revision number).
3515
3516         Test: http/tests/security/xss-DENIED-javascript-with-spaces.html
3517
3518         * css/CSSHelper.cpp: (WebCore::deprecatedParseURL): Fixed loop conditions for remaining length.
3519
3520 2010-05-05  Chris Fleizach  <cfleizach@apple.com>
3521
3522         Reviewed by Beth Dakin.
3523
3524         Many AXUnknown showing up in the hierarchy
3525         https://bugs.webkit.org/show_bug.cgi?id=38607
3526
3527         The RenderTableSection should not be an accessible element.
3528
3529         Test: platform/mac/accessibility/parent-of-table-row-is-table.html
3530
3531         * accessibility/AccessibilityRenderObject.cpp:
3532         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3533
3534 2010-05-05  Csaba Osztrogonác  <ossy@webkit.org>
3535
3536         Reviewed by Simon Hausmann.
3537
3538         [Qt]Disable Qt Multimedia backend for HTML 5 Audio and Video elements
3539         Fall back to the Phonon backend until the release situation has been cleared up.
3540
3541         https://bugs.webkit.org/show_bug.cgi?id=38612
3542
3543         Buildfix for QT_VERSION >= 0x040700 after r58810.
3544
3545         * platform/graphics/MediaPlayer.cpp:
3546
3547 2010-05-05  Jian Li  <jianli@chromium.org>
3548
3549         Reviewed by David Levin.
3550
3551         XMLHttpRequestUpload events do not fire when sending a raw file or FormData object.