2010-05-22 Leandro Pereira <leandro@profusion.mobi>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-05-22  Leandro Pereira  <leandro@profusion.mobi>
2
3         Reviewed by Eric Seidel.
4
5         [EFL] Build fix (update source code lists).
6         http://webkit.org/b/39235
7
8         * CMakeLists.txt:
9
10 2010-05-22  Martin Robinson  <mrobinson@igalia.com>
11
12         Reviewed by Xan Lopez.
13
14         [GTK] webkit_web_view_drag_end should call EventHandler::dragSourceEndedAt
15         https://bugs.webkit.org/show_bug.cgi?id=39465
16
17         Added a helper function for converting a GDK action bitmask into a DragOperation bitmask.
18
19         No new tests as behavior has not changed.
20
21         * platform/gtk/ClipboardUtilitiesGtk.cpp:
22         (WebCore::gdkDragActionToDragOperation): Added.
23         * platform/gtk/ClipboardUtilitiesGtk.h:
24
25 2010-05-22  Patrick Gansterer  <paroga@paroga.com>
26
27         Reviewed by Eric Seidel.
28
29         [Qt] Cleanup SharedBuffer::createWithContentsOfFile
30         https://bugs.webkit.org/show_bug.cgi?id=38917
31
32         * platform/qt/SharedBufferQt.cpp:
33         (WebCore::SharedBuffer::createWithContentsOfFile):
34
35 2010-05-22  Martin Robinson  <mrobinson@igalia.com>
36
37         Reviewed by Xan Lopez.
38
39         [GTK] WebKit/gtk/WebCoreSupport/DragClientGtk::startDrag should use the Clipboard::sourceOperation
40         https://bugs.webkit.org/show_bug.cgi?id=39459
41
42         Add ClipboardUtilitiesGtk, a container for GTK+/WebCore clipboard utility functions.
43         Initially add a function which converts a WebCore::DragOperation to a bitmask of
44         GdkDragActions.
45
46         No new tests, because behavior has not changed.
47
48         * GNUmakefile.am:
49         * platform/gtk/ClipboardUtilitiesGtk.cpp: Added.
50         (WebCore::dragOperationToGdkDragActions): Added.
51         * platform/gtk/ClipboardUtilitiesGtk.h: Added.
52
53 2010-05-21  Adam Barth  <abarth@webkit.org>
54
55         Reviewed by Eric Seidel.
56
57         Parse attributes with HTML5 lexer
58         https://bugs.webkit.org/show_bug.cgi?id=39520
59
60         This patch lets the HTML5 lexer parse attributes, as in
61         <div attr="foo"></div>.  This patch is on the critical path to running
62         the html5lib tests.
63
64         * html/HTML5Lexer.cpp:
65         (WebCore::HTML5Lexer::nextToken):
66         * html/HTML5Lexer.h:
67         * html/HTML5Token.h:
68         (WebCore::HTML5Token::beginStartTag):
69         (WebCore::HTML5Token::beginEndTag):
70         (WebCore::HTML5Token::addNewAttribute):
71         (WebCore::HTML5Token::appendToAttributeName):
72         (WebCore::HTML5Token::appendToAttributeValue):
73         (WebCore::HTML5Token::attributes):
74         * html/HTML5Tokenizer.cpp:
75         (WebCore::convertToOldStyle):
76
77 2010-05-21  Mark Rowe  <mrowe@apple.com>
78
79         60,000!
80
81         * ChangeLog: Point out revision 60,000.
82
83 2010-05-21  David Hyatt  <hyatt@apple.com>
84
85         Reviewed by Dan Bernstein.
86
87         Preparation for support of column-span, which will be implemented using continuations.  When a block splits an inline, a
88         continuation chain is created of the form inline -> anonymous block -> inline.  The middle block is always anonymous.  When a column-span
89         splits the blocks in a multi-column block, it will create a similar chain: block -> anonymous block -> block. Enclosing split elements
90         directly connect to their continuations, so their chains will look like inline -> inline or block -> block.
91         
92         This patch changes the member variable in RenderBlock, m_inlineContinuation, to simply be m_continuation and loosens up the type on it
93         to RenderBoxModelObject.  This reflects the fact that the continuation of the block can now be another block and isn't always simply an inline.
94         
95         Some renames have been done for cleanup:
96             isInlineContinuation -> isInlineElementContinuation to emphasize that this is a split non-anonymous element.
97             inlineContinuation -> inlineElementContinuation, again to emphasize that the inline is not anonymous.
98             
99         Some new methods have been added:
100             isBlockElementContinuation - just like isInlineElementContinuation but for split block elements.
101             blockElementContinuation - just like inlineElementContinuation but for split block elements.
102             virtualContinuation - A way to just walk an entire continuation chain of mixed types (blocks and inlines) using their common base class.
103             isAnonymousBlockContinuation - A method for asking if a RenderBlock is an anonymous block in the continuation chain (the guy in the middle).
104             
105         Code that was specific to the anonymous blocks in a continuation chain has been patched to ask isAnonymousBlockContinuation, so that it won't
106         incorrectly apply to non-anonymous blocks in the future.  Where possible, code that really didn't care about being an inline vs. a block has
107         been broadened so that it will work with block continuations as well.
108
109         * accessibility/AccessibilityRenderObject.cpp:
110         (WebCore::lastChildConsideringContinuation):
111         (WebCore::startOfContinuations):
112         (WebCore::endOfContinuations):
113         (WebCore::childBeforeConsideringContinuations):
114         (WebCore::firstChildIsInlineContinuation):
115         (WebCore::AccessibilityRenderObject::nextSibling):
116         (WebCore::AccessibilityRenderObject::anchorElement):
117         * rendering/InlineFlowBox.cpp:
118         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
119         (WebCore::InlineFlowBox::paint):
120         * rendering/RenderBlock.cpp:
121         (WebCore::RenderBlock::RenderBlock):
122         (WebCore::RenderBlock::destroy):
123         (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
124         (WebCore::RenderBlock::removeChild):
125         (WebCore::RenderBlock::paintObject):
126         (WebCore::RenderBlock::inlineElementContinuation):
127         (WebCore::RenderBlock::blockElementContinuation):
128         (WebCore::RenderBlock::addContinuationWithOutline):
129         (WebCore::RenderBlock::absoluteRects):
130         (WebCore::RenderBlock::absoluteQuads):
131         (WebCore::RenderBlock::rectWithOutlineForRepaint):
132         (WebCore::RenderBlock::hoverAncestor):
133         (WebCore::RenderBlock::updateDragState):
134         (WebCore::RenderBlock::outlineStyleForRepaint):
135         (WebCore::RenderBlock::updateHitTestResult):
136         (WebCore::RenderBlock::addFocusRingRects):
137         * rendering/RenderBlock.h:
138         (WebCore::RenderBlock::continuation):
139         (WebCore::RenderBlock::setContinuation):
140         (WebCore::RenderBlock::virtualContinuation):
141         (WebCore::RenderBlock::isAnonymousBlockContinuation):
142         * rendering/RenderInline.cpp:
143         (WebCore::RenderInline::inlineElementContinuation):
144         (WebCore::RenderInline::styleDidChange):
145         (WebCore::nextContinuation):
146         (WebCore::RenderInline::splitInlines):
147         (WebCore::RenderInline::positionForPoint):
148         (WebCore::RenderInline::updateHitTestResult):
149         * rendering/RenderInline.h:
150         (WebCore::RenderInline::setContinuation):
151         (WebCore::RenderInline::virtualContinuation):
152         * rendering/RenderObject.cpp:
153         (WebCore::RenderObject::getTextDecorationColors):
154         * rendering/RenderObject.h:
155         (WebCore::RenderObject::isElementContinuation):
156         (WebCore::RenderObject::isInlineElementContinuation):
157         (WebCore::RenderObject::isBlockElementContinuation):
158         (WebCore::RenderObject::virtualContinuation):
159         * rendering/RenderObjectChildList.cpp:
160         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
161         * rendering/RenderRubyBase.cpp:
162         (WebCore::RenderRubyBase::moveBlockChildren):
163
164 2010-05-21  Mark Rowe  <mrowe@apple.com>
165
166         Reviewed by Oliver Hunt.
167
168         Teach WebKit2 to build in the Production configuration.
169
170         * Configurations/WebCore.xcconfig: Pass -allowable_client to the linker in all configurations.
171
172 2010-05-21  Chris Marrin  <cmarrin@apple.com>
173
174         Reviewed by Simon Fraser.
175
176         Implement tiled compositing layers on Windows
177         https://bugs.webkit.org/show_bug.cgi?id=39461
178         
179         This adds a tiling implementation similar (from a GraphicsLayer standpoint)
180         to the one for Mac. But where Mac uses the existing CATiledLayer, I've had
181         to implement one. If a layer is greater then 2k x 2k, I split it into an
182         array of 512 x 512 tiles. These tiles are positioned in the correct place 
183         for the TiledLayer's content. When setNeedsDisplay is called on the TiledLayer
184         the tiles' setNeedDisplay methods are called. Each tile clips and positions the
185         CGContext appropriately and then renders the layer.
186         
187         I also got rid of all frame()/setFrame() API to reduce the number of calls to
188         override for tiling.
189         
190         Much optimization is possible. Most significantly right now all tiles are
191         rendered whether visible or not. We need to only render tiles that are 
192         currently visible.
193
194         Tests: compositing/huge-layer-add-remove-child.html
195                compositing/huge-layer-resize.html
196                compositing/huge-layer-with-layer-children-resize.html
197                compositing/huge-layer-with-layer-children.html
198                compositing/huge-layer.html
199
200         * WebCore.vcproj/WebCore.vcproj:
201         * platform/graphics/win/GraphicsLayerCACF.cpp: Added tiling code similar to GraphicsLayerCA
202         (WebCore::GraphicsLayerCACF::requiresTiledLayer):
203         (WebCore::GraphicsLayerCACF::swapFromOrToTiledLayer):
204         (WebCore::GraphicsLayerCACF::updateLayerSize):
205         (WebCore::GraphicsLayerCACF::updateLayerDrawsContent):
206         * platform/graphics/win/GraphicsLayerCACF.h:
207         * platform/graphics/win/WKCACFLayer.cpp: Made some methods virtual so WebTiledLayer can override.
208                                                  Also added sublayer setting and manipulation methods needed for tiling
209         (WebCore::WKCACFLayer::addSublayer):
210         (WebCore::WKCACFLayer::internalInsertSublayer):
211         (WebCore::WKCACFLayer::insertSublayerAboveLayer):
212         (WebCore::WKCACFLayer::insertSublayerBelowLayer):
213         (WebCore::WKCACFLayer::replaceSublayer):
214         (WebCore::WKCACFLayer::internalSublayerCount):
215         (WebCore::WKCACFLayer::adoptSublayers):
216         (WebCore::WKCACFLayer::internalSublayerAtIndex):
217         (WebCore::WKCACFLayer::internalIndexOfSublayer):
218         (WebCore::WKCACFLayer::internalRemoveAllSublayers):
219         (WebCore::WKCACFLayer::internalSetSublayers):
220         (WebCore::WKCACFLayer::internalSetNeedsDisplay):
221         (WebCore::WKCACFLayer::printLayer):
222         * platform/graphics/win/WKCACFLayer.h:
223         (WebCore::WKCACFLayer::setNeedsDisplay):
224         (WebCore::WKCACFLayer::removeAllSublayers):
225         (WebCore::WKCACFLayer::setSublayers):
226         (WebCore::WKCACFLayer::insertSublayer):
227         (WebCore::WKCACFLayer::sublayerCount):
228         * platform/graphics/win/WKCACFLayerRenderer.cpp: Fix a crash exposed when tiling code is active
229         (WebCore::WKCACFLayerRenderer::createRenderer):
230         (WebCore::WKCACFLayerRenderer::destroyRenderer):
231         (WebCore::WKCACFLayerRenderer::resize):
232         * platform/graphics/win/WebLayer.cpp: Added. Split this out from GraphicsLayerCACF so it could be subclassed by WebTiledLayer
233         (WebCore::WebLayer::internalSetNeedsDisplay):
234         (WebCore::WebLayer::drawInContext):
235         * platform/graphics/win/WebLayer.h: Added.
236         (WebCore::WebLayer::create):
237         (WebCore::WebLayer::WebLayer):
238         * platform/graphics/win/WebTiledLayer.cpp: Added. Where all the tile construction and rendering is done
239         (WebCore::WebTiledLayer::tileDisplayCallback):
240         (WebCore::WebTiledLayer::create):
241         (WebCore::WebTiledLayer::WebTiledLayer):
242         (WebCore::WebTiledLayer::~WebTiledLayer):
243         (WebCore::WebTiledLayer::setBounds):
244         (WebCore::WebTiledLayer::internalSetNeedsDisplay):
245         (WebCore::WebTiledLayer::internalSublayerCount):
246         (WebCore::WebTiledLayer::internalRemoveAllSublayers):
247         (WebCore::WebTiledLayer::internalSetSublayers):
248         (WebCore::WebTiledLayer::internalInsertSublayer):
249         (WebCore::WebTiledLayer::internalSublayerAtIndex):
250         (WebCore::WebTiledLayer::internalIndexOfSublayer):
251         (WebCore::WebTiledLayer::addTile):
252         (WebCore::WebTiledLayer::removeTile):
253         (WebCore::WebTiledLayer::tileAtIndex):
254         (WebCore::WebTiledLayer::tileCount):
255         (WebCore::WebTiledLayer::updateTiles):
256         (WebCore::WebTiledLayer::drawTile):
257         * platform/graphics/win/WebTiledLayer.h: Added.
258
259 2010-05-21  Geoffrey Garen  <ggaren@apple.com>
260
261         Reviewed by Darin Adler.
262
263         Fixed a typo in my last commit: Reset m_inEvaluateInWorld to
264         wasInEvaluateInWorld, rather than false, to avoid stomping the old value
265         when it's true.
266         https://bugs.webkit.org/show_bug.cgi?id=39518
267
268         * bindings/js/ScriptController.cpp:
269         (WebCore::ScriptController::evaluateInWorld):
270
271 2010-05-21  David Hyatt  <hyatt@apple.com>
272
273         Reviewed by Dan Bernstein.
274
275         https://bugs.webkit.org/show_bug.cgi?id=39516, back end support for column-span property.
276
277         * css/CSSComputedStyleDeclaration.cpp:
278         (WebCore::):
279         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
280         * css/CSSParser.cpp:
281         (WebCore::CSSParser::parseValue):
282         * css/CSSPropertyNames.in:
283         * css/CSSStyleSelector.cpp:
284         (WebCore::CSSStyleSelector::applyProperty):
285         * rendering/style/RenderStyle.h:
286         (WebCore::InheritedFlags::columnSpan):
287         (WebCore::InheritedFlags::setColumnSpan):
288         (WebCore::InheritedFlags::initialColumnSpan):
289         * rendering/style/StyleMultiColData.cpp:
290         (WebCore::StyleMultiColData::StyleMultiColData):
291         (WebCore::StyleMultiColData::operator==):
292         * rendering/style/StyleMultiColData.h:
293
294 2010-05-21  Jer Noble  <jer.noble@apple.com>
295
296         Reviewed by Anders Carlsson.
297
298         Disable full-screen video on Windows
299         https://bugs.webkit.org/show_bug.cgi?id=39506
300         rdar://problem/8012516
301         
302         Disable full-screen video through MediaPlayerPrivateVisualContext since
303         we no longer use GWorlds and QuickTime's built in full-screen support.
304         
305         Media layout tests updated with new expected results.        
306         
307         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
308         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
309
310 2010-05-21  Simon Fraser  <simon.fraser@apple.com>
311
312         Reviewed by Dan Bernstein.
313
314         Avoid creating huge tiled layers with accelerated compositing
315         https://bugs.webkit.org/show_bug.cgi?id=39515
316         
317         Constrain the size of huge composited layers, to avoid bad behavior. We only
318         need to do this if we detect that we need a tiled layer, since we'll make tiled
319         layers for elements over a certain size that need to draw already.
320         
321         Constrain the size by attempting to shrink the longer dimension first.
322
323         Test: compositing/geometry/huge-layer.html
324
325         * platform/graphics/mac/GraphicsLayerCA.h:
326         * platform/graphics/mac/GraphicsLayerCA.mm:
327         (WebCore::GraphicsLayerCA::updateLayerPosition):
328         (WebCore::GraphicsLayerCA::updateLayerSize):
329         (WebCore::GraphicsLayerCA::constrainedSize):
330
331 2010-05-21  David Hyatt  <hyatt@apple.com>
332
333         Reviewed by Dan Bernstein.
334
335         https://bugs.webkit.org/show_bug.cgi?id=39420, :visited not working with background-color.
336
337         Make the RenderStyle color accessors private.  This forces callers to use visitedDependentColor
338         instead (or to make the decision to become friends of the RenderStyle class in order to get access
339         to the real style information).
340
341         Modified history/self-is-visited.html to also test background colors.
342
343         * WebCore.base.exp:
344         * accessibility/AccessibilityTable.cpp:
345         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
346         * accessibility/mac/AccessibilityObjectWrapper.mm:
347         (AXAttributeStringSetStyle):
348         * css/CSSComputedStyleDeclaration.cpp:
349         (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
350         * css/CSSComputedStyleDeclaration.h:
351         * css/SVGCSSStyleSelector.cpp:
352         (WebCore::colorFromSVGColorCSSValue):
353         * editing/ApplyStyleCommand.cpp:
354         (WebCore::ApplyStyleCommand::editingStyleAtPosition):
355         (WebCore::prepareEditingStyleToApplyAt):
356         (WebCore::removeStylesAddedByNode):
357         (WebCore::fontColorChangesComputedStyle):
358         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
359         * editing/ApplyStyleCommand.h:
360         (WebCore::):
361         * editing/CompositeEditCommand.cpp:
362         (WebCore::CompositeEditCommand::moveParagraphs):
363         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
364         * editing/DeleteButtonController.cpp:
365         (WebCore::isDeletableElement):
366         * editing/DeleteSelectionCommand.cpp:
367         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
368         * editing/InsertParagraphSeparatorCommand.cpp:
369         (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion):
370         * editing/RemoveFormatCommand.cpp:
371         (WebCore::RemoveFormatCommand::doApply):
372         * editing/ReplaceSelectionCommand.cpp:
373         (WebCore::handleStyleSpansBeforeInsertion):
374         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
375         (WebCore::ReplaceSelectionCommand::doApply):
376         * editing/SelectionController.cpp:
377         (WebCore::SelectionController::paintCaret):
378         * editing/markup.cpp:
379         (WebCore::createMarkup):
380         * page/animation/AnimationBase.cpp:
381         (WebCore::AnimationBase::ensurePropertyMap):
382         * page/animation/AnimationBase.h:
383         * page/mac/FrameMac.mm:
384         (WebCore::Frame::fontAttributesForSelectionStart):
385         * rendering/EllipsisBox.cpp:
386         (WebCore::EllipsisBox::paint):
387         (WebCore::EllipsisBox::paintSelection):
388         * rendering/InlineTextBox.cpp:
389         (WebCore::InlineTextBox::paint):
390         * rendering/RenderBox.cpp:
391         (WebCore::RenderBox::styleDidChange):
392         (WebCore::RenderBox::paintRootBoxDecorations):
393         (WebCore::RenderBox::paintBoxDecorationsWithSize):
394         * rendering/RenderBoxModelObject.cpp:
395         (WebCore::RenderBoxModelObject::paintBoxShadow):
396         * rendering/RenderFieldset.cpp:
397         (WebCore::RenderFieldset::paintBoxDecorations):
398         * rendering/RenderFileUploadControl.cpp:
399         (WebCore::RenderFileUploadControl::paintObject):
400         * rendering/RenderFrameSet.cpp:
401         (WebCore::RenderFrameSet::paintColumnBorder):
402         (WebCore::RenderFrameSet::paintRowBorder):
403         * rendering/RenderImage.cpp:
404         (WebCore::RenderImage::paintReplaced):
405         * rendering/RenderLayerBacking.cpp:
406         (WebCore::RenderLayerBacking::rendererBackgroundColor):
407         * rendering/RenderLayerBacking.h:
408         * rendering/RenderListBox.cpp:
409         (WebCore::RenderListBox::paintItemForeground):
410         (WebCore::RenderListBox::paintItemBackground):
411         * rendering/RenderListMarker.cpp:
412         (WebCore::RenderListMarker::paint):
413         * rendering/RenderMenuList.cpp:
414         (WebCore::RenderMenuList::itemStyle):
415         (WebCore::RenderMenuList::itemBackgroundColor):
416         (WebCore::RenderMenuList::menuStyle):
417         * rendering/RenderObject.cpp:
418         (WebCore::RenderObject::selectionBackgroundColor):
419         (WebCore::RenderObject::selectionForegroundColor):
420         * rendering/RenderSVGResource.cpp:
421         (WebCore::RenderSVGResource::adjustColorForPseudoRules):
422         (WebCore::RenderSVGResource::fillPaintingResource):
423         (WebCore::RenderSVGResource::strokePaintingResource):
424         * rendering/RenderSVGResource.h:
425         * rendering/RenderTable.cpp:
426         (WebCore::RenderTable::paintBoxDecorations):
427         * rendering/RenderTable.h:
428         (WebCore::RenderTable::bgColor):
429         * rendering/RenderTableCell.cpp:
430         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
431         * rendering/RenderTextControl.cpp:
432         (WebCore::RenderTextControl::adjustInnerTextStyle):
433         * rendering/RenderTextControlSingleLine.cpp:
434         (WebCore::RenderTextControlSingleLine::menuStyle):
435         * rendering/RenderTheme.cpp:
436         (WebCore::RenderTheme::isControlStyled):
437         * rendering/RenderThemeMac.mm:
438         (WebCore::RenderThemeMac::paintMenuListButton):
439         * rendering/RenderTreeAsText.cpp:
440         (WebCore::RenderTreeAsText::writeRenderObject):
441         (WebCore::write):
442         * rendering/RenderTreeAsText.h:
443         * rendering/SVGInlineTextBox.cpp:
444         (WebCore::SVGInlineTextBox::paintSelection):
445         * rendering/SVGRenderTreeAsText.cpp:
446         (WebCore::writeRenderSVGTextBox):
447         * rendering/style/RenderStyle.cpp:
448         (WebCore::RenderStyle::colorIncludingFallback):
449         (WebCore::RenderStyle::visitedDependentColor):
450         * rendering/style/RenderStyle.h:
451         (WebCore::):
452         (WebCore::InheritedFlags::hasBackground):
453         (WebCore::InheritedFlags::borderLeftStyle):
454         (WebCore::InheritedFlags::borderRightStyle):
455         (WebCore::InheritedFlags::borderTopStyle):
456         (WebCore::InheritedFlags::borderBottomStyle):
457         (WebCore::InheritedFlags::textShadow):
458         (WebCore::InheritedFlags::textStrokeWidth):
459         (WebCore::InheritedFlags::hasNormalColumnGap):
460         (WebCore::InheritedFlags::borderLeftColor):
461         (WebCore::InheritedFlags::borderRightColor):
462         (WebCore::InheritedFlags::borderTopColor):
463         (WebCore::InheritedFlags::borderBottomColor):
464         (WebCore::InheritedFlags::backgroundColor):
465         (WebCore::InheritedFlags::color):
466         (WebCore::InheritedFlags::columnRuleColor):
467         (WebCore::InheritedFlags::outlineColor):
468         (WebCore::InheritedFlags::textFillColor):
469         (WebCore::InheritedFlags::textStrokeColor):
470         * svg/SVGAnimationElement.cpp:
471         (WebCore::adjustForCurrentColor):
472
473 2010-05-21  Beth Dakin  <bdakin@apple.com>
474
475         Reviewed by Darin Adler.
476
477         Fix for <rdar://problem/8009118> Crash in WebCore::toAlphabetic() 
478         while running MangleMe
479         -and corresponding-
480         https://bugs.webkit.org/show_bug.cgi?id=39508
481
482         The math was slightly off here, and we wound up trying to access an 
483         array at index -1 in some cases. We need to decrement numberShadow 
484         rather than subtracting one from the result of the modulo 
485         operation.
486
487         * rendering/RenderListMarker.cpp:
488         (WebCore::toAlphabeticOrNumeric):
489
490 2010-05-21  Oliver Hunt  <oliver@apple.com>
491
492         Qt buildfix #2
493
494         * bridge/qt/qt_runtime.cpp:
495         (JSC::Bindings::convertQVariantToValue):
496         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
497
498 2010-05-21  Oliver Hunt  <oliver@apple.com>
499
500         Qt buildfix #1
501
502         * bridge/qt/qt_instance.cpp:
503         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
504         (JSC::Bindings::QtInstance::newRuntimeObject):
505         (JSC::Bindings::QtInstance::getMethod):
506         * bridge/qt/qt_pixmapruntime.cpp:
507         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
508         (JSC::Bindings::QtPixmapInstance::getMethod):
509         (JSC::Bindings::QtPixmapInstance::createRuntimeObject):
510
511 2010-05-21  Geoffrey Garen  <ggaren@apple.com>
512
513         Reviewed by Oliver Hunt.
514
515         Fixed failure seen on buildbot (due to flaky test).
516         
517         Don't report an exception in a nested script evaluation -- just pass the
518         exception on to our caller. Our caller can decide to report the exception,
519         if it fully propagates -- but we don't want to report an exception that's
520         going to get caught.
521
522         * bindings/js/ScriptController.cpp:
523         (WebCore::ScriptController::ScriptController):
524         (WebCore::ScriptController::evaluateInWorld):
525         * bindings/js/ScriptController.h:
526
527 2010-05-21  Oliver Hunt  <oliver@apple.com>
528
529         Reviewed by Geoffrey Garen.
530
531         All callable objects should have a global object reference
532         https://bugs.webkit.org/show_bug.cgi?id=39495
533
534         Update the bindings generator to give prototype objects a
535         global object.  Update all the manually written JSObject
536         subclasses to pass a global object.
537
538         * ForwardingHeaders/runtime/JSObjectWithGlobalObject.h: Added.
539         * WebCore.PluginHostProcess.exp:
540         * bindings/js/JSDOMBinding.cpp:
541         (WebCore::objectToStringFunctionGetter):
542         * bindings/js/JSDOMWindowCustom.cpp:
543         (WebCore::nonCachingStaticFunctionGetter):
544         * bindings/js/JSDOMWindowShell.cpp:
545         (WebCore::JSDOMWindowShell::setWindow):
546         * bindings/js/JSHistoryCustom.cpp:
547         (WebCore::nonCachingStaticBackFunctionGetter):
548         (WebCore::nonCachingStaticForwardFunctionGetter):
549         (WebCore::nonCachingStaticGoFunctionGetter):
550         * bindings/js/JSLocationCustom.cpp:
551         (WebCore::nonCachingStaticReplaceFunctionGetter):
552         (WebCore::nonCachingStaticReloadFunctionGetter):
553         (WebCore::nonCachingStaticAssignFunctionGetter):
554         * bindings/js/WorkerScriptController.cpp:
555         (WebCore::WorkerScriptController::initScript):
556         * bindings/scripts/CodeGeneratorJS.pm:
557         * bridge/c/CRuntimeObject.cpp:
558         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
559         * bridge/c/CRuntimeObject.h:
560         * bridge/c/c_instance.cpp:
561         (JSC::Bindings::CInstance::newRuntimeObject):
562         (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
563         (JSC::Bindings::CInstance::getMethod):
564         * bridge/jni/jsc/JavaInstanceJSC.cpp:
565         (JavaInstance::newRuntimeObject):
566         (JavaRuntimeMethod::JavaRuntimeMethod):
567         (JavaInstance::getMethod):
568         * bridge/jni/jsc/JavaRuntimeObject.cpp:
569         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
570         * bridge/jni/jsc/JavaRuntimeObject.h:
571         * bridge/jsc/BridgeJSC.cpp:
572         (JSC::Bindings::Instance::newRuntimeObject):
573         * bridge/objc/ObjCRuntimeObject.h:
574         * bridge/objc/ObjCRuntimeObject.mm:
575         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
576         * bridge/objc/objc_class.mm:
577         (JSC::Bindings::ObjcClass::fallbackObject):
578         * bridge/objc/objc_instance.mm:
579         (ObjcInstance::newRuntimeObject):
580         (ObjCRuntimeMethod::ObjCRuntimeMethod):
581         (ObjcInstance::getMethod):
582         * bridge/objc/objc_runtime.h:
583         * bridge/objc/objc_runtime.mm:
584         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
585         * bridge/runtime_method.cpp:
586         (JSC::RuntimeMethod::RuntimeMethod):
587         * bridge/runtime_method.h:
588         * bridge/runtime_object.cpp:
589         (JSC::Bindings::RuntimeObject::RuntimeObject):
590         * bridge/runtime_object.h:
591
592 2010-05-21  Steve Block  <steveblock@google.com>
593
594         Reviewed by Jeremy Orlow.
595
596         Add DeviceOrientation and DeviceOrientationClient
597         https://bugs.webkit.org/show_bug.cgi?id=39479
598
599         The page owns a DeviceOrientation object, which has a pointer to a
600         DeviceOrientationClient object provided by the embedder. The
601         DeviceOrientation object forwards requests to start listening to
602         orientation to the client, and when updates are available, fires a
603         DeviceOrientationEvent on the window object.
604
605         No new tests are possible at this time as the implementation is
606         incomplete. Future patches will add LayoutTestController methods
607         to provide mock orientation events to test this.
608
609         * Android.mk:
610         * CMakeLists.txt:
611         * GNUmakefile.am:
612         * WebCore.base.exp:
613         * WebCore.gypi:
614         * WebCore.pro:
615         * WebCore.vcproj/WebCore.vcproj
616         * WebCore.xcodeproj/project.pbxproj:
617         * dom/DeviceOrientation.cpp: Added.
618         (WebCore::DeviceOrientation::DeviceOrientation):
619         (WebCore::DeviceOrientation::onDeviceOrientationChange):
620         * dom/DeviceOrientation.h: Added.
621         * dom/DeviceOrientationClient.h: Added.
622         (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
623         * page/Page.cpp:
624         (WebCore::Page::Page):
625         * page/Page.h:
626         (WebCore::Page::deviceOrientation):
627         * svg/graphics/SVGImage.cpp:
628         (WebCore::SVGImage::dataChanged):
629
630 2010-05-21  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
631
632         Reviewed by Simon Hausmann.
633
634         [Qt] Fix compilation with QT_NO_GRAPHICSEFFECT
635         https://bugs.webkit.org/show_bug.cgi?id=38324
636
637         * platform/graphics/qt/GraphicsLayerQt.cpp:
638         (WebCore::GraphicsLayerQtImpl::flushChanges):
639
640 2010-05-21  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
641
642         Reviewed by Darin Fisher.
643
644         Fix the HistoryController::pushState.
645
646         It should be possible to call the pushState method from
647         the first page in a window.
648
649         history.pushState doesn't work for the first page in a window.
650         https://bugs.webkit.org/show_bug.cgi?id=39418
651
652         * loader/HistoryController.cpp:
653         (WebCore::HistoryController::pushState):
654
655 2010-05-21  Victoria Kirst  <vrk@google.com>
656
657         Reviewed by David Levin.
658
659         [chromium] Fix slider status when buffering
660         https://bugs.webkit.org/show_bug.cgi?id=39370
661         Adjusts the buffering bar to be aligned with the slider thumb.
662
663         No new tests. (Covered by existing layout tests.)
664
665         * rendering/RenderMediaControlsChromium.cpp:
666         (WebCore::paintMediaSlider):
667         Added logic to align the buffering bar with the thumb. Half of the
668         thumb image is transparent, so the buffer bar is adjusted to fill in
669         this gap.
670
671 2010-05-21  Jesus Sanchez-Palencia  <jesus@webkit.org>
672
673         Reviewed by Eric Seidel.
674
675         Extra processesArguments() calls in Document::processViewport
676         https://bugs.webkit.org/show_bug.cgi?id=39358
677
678         The viewport arguments are only needed when there is a frame->page(),
679         therefore we don't need to always call processArguments().
680
681         * dom/Document.cpp:
682         (WebCore::Document::processViewport):
683
684 2010-05-17  Philippe Normand  <pnormand@igalia.com>
685
686         Reviewed by Eric Carlson.
687
688         [GStreamer] video painting support on mac port
689         https://bugs.webkit.org/show_bug.cgi?id=39206
690
691         ImageGStreamer support for mac port. A CG Image is created using
692         the GstBuffer data. It can then be painted by the gstreamer player.
693
694         * platform/graphics/gstreamer/ImageGStreamer.h:
695         * platform/graphics/gstreamer/ImageGStreamerCG.mm: Added.
696         (ImageGStreamer::createImage):
697         (ImageGStreamer::ImageGStreamer):
698         (ImageGStreamer::~ImageGStreamer):
699
700 2010-05-21  Robin Cao  <robin.cao@torchmobile.com.cn>
701
702         Reviewed by Eric Seidel.
703
704         animateTransform does not work on gradientTransform
705         https://bugs.webkit.org/show_bug.cgi?id=38115
706
707         Tests: svg/animations/animate-gradient-transform.html
708
709         * svg/SVGAnimateTransformElement.cpp:
710         (WebCore::SVGAnimateTransformElement::hasValidTarget): Check if the target element is gradient.
711         (WebCore::transformListFor): Ditto.
712         (WebCore::SVGAnimateTransformElement::resetToBaseValue): Ditto.
713         (WebCore::SVGAnimateTransformElement::applyResultsToTarget): Ditto.
714
715 2010-05-21  Young Han Lee  <joybro@company100.net>
716
717         Reviewed by Eric Seidel.
718
719         Fix guard around DatabaseSync
720         https://bugs.webkit.org/show_bug.cgi?id=38897
721
722         * storage/DatabaseSync.cpp:
723
724 2010-05-21  Simon Hausmann  <simon.hausmann@nokia.com>
725
726         [Qt] Prospective Qt/Mac build fix
727
728         My cpp is paranoid and doesn't like #if Q_WS_MAC:
729         error: #if with no expression
730
731         * page/qt/EventHandlerQt.cpp:
732
733 2010-05-21  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
734
735         Reviewed by Eric Seidel.
736
737         [EFL] Update Localized Strings. Remove markers from strings
738         since we are not using them and they are only polluting output.
739         https://bugs.webkit.org/show_bug.cgi?id=39371
740
741         No new tests required.
742
743         * platform/efl/LocalizedStringsEfl.cpp:
744         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
745         (WebCore::contextMenuItemTagDownloadLinkToDisk):
746         (WebCore::contextMenuItemTagCopyLinkToClipboard):
747         (WebCore::contextMenuItemTagOpenImageInNewWindow):
748         (WebCore::contextMenuItemTagDownloadImageToDisk):
749         (WebCore::contextMenuItemTagCopyImageToClipboard):
750         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
751         (WebCore::contextMenuItemTagSelectAll):
752         (WebCore::contextMenuItemTagUnicode):
753         (WebCore::contextMenuItemTagInputMethods):
754         (WebCore::contextMenuItemTagGoBack):
755         (WebCore::contextMenuItemTagGoForward):
756         (WebCore::contextMenuItemTagReload):
757         (WebCore::contextMenuItemTagIgnoreSpelling):
758         (WebCore::contextMenuItemTagLearnSpelling):
759         (WebCore::contextMenuItemTagSearchWeb):
760         (WebCore::contextMenuItemTagLookUpInDictionary):
761         (WebCore::contextMenuItemTagOpenLink):
762         (WebCore::contextMenuItemTagIgnoreGrammar):
763         (WebCore::contextMenuItemTagSpellingMenu):
764         (WebCore::contextMenuItemTagCheckSpelling):
765         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
766         (WebCore::contextMenuItemTagFontMenu):
767         (WebCore::contextMenuItemTagOutline):
768         (WebCore::contextMenuItemTagInspectElement):
769         (WebCore::searchMenuClearRecentSearchesText):
770         (WebCore::missingPluginText): Add missing message.
771         (WebCore::multipleFileUploadText):
772         (WebCore::crashedPluginText):
773
774 2010-05-21  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
775
776         Reviewed by Eric Seidel.
777
778         [EF] Fix support for focus ring.
779         https://bugs.webkit.org/show_bug.cgi?id=39387
780
781         No new tests required.
782
783         * html/HTMLAnchorElement.cpp: Add EFL to #ifdef
784         (WebCore::HTMLAnchorElement::isMouseFocusable):
785
786 2010-05-21  Kwang Yul Seo  <skyul@company100.net>
787
788         Reviewed by Eric Seidel.
789
790         [BREWMP] Add missing localized string symbols.
791         https://bugs.webkit.org/show_bug.cgi?id=39394
792
793         Add missingPluginText and crashedPluginText.
794
795         * platform/brew/LocalizedStringsBrew.cpp:
796         (WebCore::missingPluginText):
797         (WebCore::crashedPluginText):
798
799 2010-05-21  Steve Block  <steveblock@google.com>
800
801         Reviewed by Alexey Proskuryakov.
802
803         Calls to CallJNIMethodIDA() in JavaInstance::invokeMethod() are required on Android
804         https://bugs.webkit.org/show_bug.cgi?id=39426
805
806         This code path has always been used by Android, but was guarded with
807         BUILDING_ON_TIGER in http://trac.webkit.org/changeset/55054, thus
808         breaking the Android build.
809
810         No new tests, build fix only.
811
812         * bridge/jni/jsc/JavaInstanceJSC.cpp:
813         (JavaInstance::invokeMethod):
814
815 2010-05-20  Tony Chang  <tony@chromium.org>
816
817         Reviewed by Kent Tamura.
818
819         escape link text when copying or dragging links on win or chromium
820         https://bugs.webkit.org/show_bug.cgi?id=39413
821
822         * editing/markup.cpp:
823         (WebCore::urlToMarkup):
824         * editing/markup.h:
825         * platform/chromium/ClipboardUtilitiesChromium.cpp:
826         * platform/chromium/ClipboardUtilitiesChromium.h:
827         * platform/win/ClipboardUtilitiesWin.cpp:
828         * platform/win/ClipboardUtilitiesWin.h:
829
830 2010-05-18  Philippe Normand  <pnormand@igalia.com>
831
832         Reviewed by Eric Carlson.
833
834         [GStreamer] PlatformMedia support
835         https://bugs.webkit.org/show_bug.cgi?id=39300
836
837         Basic support for PlatformMedia in the gst player. The
838         PlatformMedia object contains a GStreamerGWorld object. That
839         object is empty for now. XOverlay features will be added later
840         on for easy review sake.
841
842         * GNUmakefile.am:
843         * platform/graphics/MediaPlayer.h:
844         (WebCore::PlatformMedia::):
845         * platform/graphics/gstreamer/GStreamerGWorld.cpp: Added.
846         (WebCore::GStreamerGWorld::createGWorld):
847         (WebCore::GStreamerGWorld::GStreamerGWorld):
848         (WebCore::GStreamerGWorld::~GStreamerGWorld):
849         * platform/graphics/gstreamer/GStreamerGWorld.h: Added.
850         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
851         (WebCore::MediaPlayerPrivateGStreamer::platformMedia):
852         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
853         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
854
855 2010-05-20  Kwang Yul Seo  <skyul@company100.net>
856
857         Reviewed by Eric Seidel.
858
859         [BREWMP] Add dummy SSLKeyGenerator
860         https://bugs.webkit.org/show_bug.cgi?id=39403
861
862         Add dummy implementation of SSLKeyGenerator.
863
864         * platform/brew/SSLKeyGeneratorBrew.cpp: Added.
865         (WebCore::WebCore::getSupportedKeySizes):
866         (WebCore::WebCore::signedPublicKeyAndChallengeString):
867
868 2010-05-20  Mark Rowe  <mrowe@apple.com>
869
870         Rubber-stamped by Dan Bernstein.
871
872         <rdar://problem/7848154> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS_2__ define.
873
874         * platform/mac/EmptyProtocolDefinitions.h:
875
876 2010-05-20  Kwang Yul Seo  <skyul@company100.net>
877
878         Reviewed by Eric Seidel.
879
880         [BREWMP] Add Editor
881         https://bugs.webkit.org/show_bug.cgi?id=39404
882
883         Implement Editor::newGeneralClipboard.
884
885         * editing/brew/EditorBrew.cpp: Added.
886         (WebCore::Editor::newGeneralClipboard):
887
888 2010-05-20  Simon Fraser  <simon.fraser@apple.com>
889
890         Reviewed by Adam Roben.
891
892         Avoid flushing CA layers when a layout is pending
893         https://bugs.webkit.org/show_bug.cgi?id=39463
894         <rdar://problem/7999463>
895
896         Avoid rendering the compositing layers to the screen if there's a layout pending,
897         since the layer tree not in a state that should be presented to the user.
898         
899         This fixes flashes in some types of content that dynamically add and remove layers.
900
901         Do this by adding a WKCACFLayerRendererClient for WKCACFLayerRenderer, which it can
902         call through to ask whether now is a good time to render. If not, it schedules
903         another render soon.
904         
905         * platform/graphics/win/WKCACFLayerRenderer.h:
906         (WebCore::WKCACFLayerRendererClient::~WKCACFLayerRendererClient):
907         * platform/graphics/win/WKCACFLayerRenderer.cpp:
908         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
909         (WebCore::WKCACFLayerRenderer::create):
910         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
911         (WebCore::WKCACFLayerRenderer::render):
912
913 2010-05-20  Kwang Yul Seo  <skyul@company100.net>
914
915         Reviewed by Eric Seidel.
916
917         [BREWMP] Don't include CoreFoundation.h when building for BREW MP
918         https://bugs.webkit.org/show_bug.cgi?id=39405
919
920         Add !defined(BUILDING_BREWMP__) guard for CoreFoundation.h.
921
922         * WebCorePrefix.h:
923
924 2010-05-20  Kwang Yul Seo  <skyul@company100.net>
925
926         Reviewed by Eric Seidel.
927
928         [BREWMP] Add ScrollTheme
929         https://bugs.webkit.org/show_bug.cgi?id=39406
930
931         As BREW MP always uses frame flattening, there is no need to render scorllbars.
932         Use the default scrollbar theme with thickness 0.
933
934         * platform/brew/ScrollbarThemeBrew.cpp: Added.
935         (WebCore::ScrollbarTheme::nativeTheme):
936         (WebCore::ScrollbarThemeBrew::~ScrollbarThemeBrew):
937         * platform/brew/ScrollbarThemeBrew.h: Added.
938
939 2010-05-20  Jon Honeycutt  <jhoneycutt@apple.com>
940
941         REGRESSION(r53637): DivX plug-in fails to start until window is resized
942         https://bugs.webkit.org/show_bug.cgi?id=39457
943         <rdar://problem/8006102>
944
945         Before r53637, we called Widget::move() (which caused us to call
946         NPP_SetWindow) before painting a plug-in. r53637 removed the call to
947         Widget::move(), and we end up never calling NPP_SetWindow for plug-ins
948         with the "DeferFirstSetWindowCall" quirk, including the DivX plug-in.
949
950         Reviewed by Simon Fraser.
951
952         * manual-tests/divx-plugin-fails-to-draw.html: Added.
953
954         * plugins/PluginView.cpp:
955         (WebCore::PluginView::PluginView):
956         Initialize new member to false.
957
958         * plugins/PluginView.h:
959         Added new member.
960
961         * plugins/win/PluginViewWin.cpp:
962         (WebCore::PluginView::paint):
963         Call setNPWindowRect() before painting to ensure that NPP_SetWindow gets
964         called.
965         (WebCore::PluginView::setNPWindowRect):
966         Set m_haveCalledSetWindow.
967
968 2010-05-20  Fumitoshi Ukai  <ukai@chromium.org>
969
970         Reviewed by Alexey Proskuryakov.
971
972         WebSocket handshake incompatible change in draft-hixie-thewebsocketprotocol-76
973         https://bugs.webkit.org/show_bug.cgi?id=35572
974
975         WebSocket opening handshake is changed.  New protocol draft could be found at http://www.whatwg.org/specs/web-socket-protocol/
976         It requires https://bugs.webkit.org/show_bug.cgi?id=38034 to pass websocket tests.
977
978         * websockets/WebSocketHandshake.cpp:
979         (WebCore::extractResponseCode):
980         add lineLength parameter to return length of status line.
981         (WebCore::hostName): Added.
982         (WebCore::generateSecWebSocketKey): Added.
983         (WebCore::generateKey3): Added.
984         (WebCore::setChallengeNumber): Added.
985         (WebCore::generateChallengeResponseExpected): Added.
986         (WebCore::WebSocketHandshake::WebSocketHandshake):
987          generate challenge response key and expected data.
988         (WebCore::WebSocketHandshake::clientLocation):
989          use hostName.
990         (WebCore::WebSocketHandshake::clientHandshakeMessage):
991          changed for draft 76 spec.
992         (WebCore::WebSocketHandshake::clientHandshakeRequest):
993         (WebCore::WebSocketHandshake::readServerHandshake):
994          changed for draft 76 spec.
995          m_mode is managed in this method.
996         (WebCore::WebSocketHandshake::readHTTPHeaders):
997          change error log messages.
998         (WebCore::WebSocketHandshake::processHeaders):
999          chagned for draft 76 spec.
1000         (WebCore::WebSocketHandshake::checkResponseHeaders):
1001          return boolean whether response header is ok or not and not change m_mode in it.
1002         * websockets/WebSocketHandshake.h:
1003
1004 2010-05-20  Adam Roben  <aroben@apple.com>
1005
1006         Stop leaking all CACFContexts
1007
1008         Fixes <http://webkit.org/b/39466> <rdar://problem/8007141>.
1009
1010         Reviewed by Simon Fraser.
1011
1012         * platform/graphics/win/WKCACFContextFlusher.cpp:
1013         (WebCore::WKCACFContextFlusher::addContext): Only retain the context
1014         when we first add it to the m_contexts set. Otherwise we'll retain the
1015         same context multiple times, causing it to leak.
1016
1017 2010-05-20  Young Han Lee  <joybro@company100.net>
1018
1019         Reviewed by Darin Adler.
1020
1021         Create filenameFromString for all ports except GTK and EFL.
1022         https://bugs.webkit.org/show_bug.cgi?id=39348
1023
1024         * platform/FileSystem.cpp: Added.
1025         (WebCore::filenameFromString):
1026         * platform/FileSystem.h:
1027
1028 2010-05-20  Young Han Lee  <joybro@company100.net>
1029
1030         Reviewed by Darin Adler.
1031
1032         Port SharedBuffer to POSIX.
1033         https://bugs.webkit.org/show_bug.cgi?id=39283
1034
1035         * platform/posix/SharedBufferPOSIX.cpp: Added.
1036         (WebCore::SharedBuffer::createWithContentsOfFile):
1037
1038 2010-05-20  Zhenyao Mo  <zmo@google.com>
1039
1040         Reviewed by Dimitri Glazkov.
1041
1042         Map RGBA4/RGB5_A1 to RGBA and RGB565 to RGB in RenderbufferStorage
1043         https://bugs.webkit.org/show_bug.cgi?id=39077
1044
1045         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1046         (WebCore::GraphicsContext3D::renderbufferStorage): Mapping the enums.
1047
1048 2010-05-20  Dan Bernstein  <mitz@apple.com>
1049
1050         Reviewed by Dave Hyatt.
1051
1052         <rdar://problem/8007953> Textarea using custom font appears blank
1053
1054         Test: fast/css/font-face-in-shadow-DOM.html
1055
1056         When a remote font is loaded, CSSFontSelector forces a style recalc, which replaces all
1057         RenderSyles that have FontFallbackLists referencing the placeholder font with fresh
1058         RenderStyles. However, it does not descend into shadow DOM trees, so those may end up with
1059         styles that still reference the placeholder font.
1060
1061         The fix is to add RenderObject::requiresForcedStyleRecalcPropagation() and have it return
1062         true from renderers that maintain shadow DOM trees or otherwise keep their own RenderStyles.
1063
1064         * dom/Element.cpp:
1065         (WebCore::Element::recalcStyle): Check if forced style recalc needs to propagated.
1066         * rendering/RenderButton.h:
1067         (WebCore::RenderButton::requiresForcedStyleRecalcPropagation):
1068         * rendering/RenderDataGrid.h:
1069         (WebCore::RenderDataGrid::requiresForcedStyleRecalcPropagation):
1070         * rendering/RenderFileUploadControl.h:
1071         (WebCore::RenderFileUploadControl::requiresForcedStyleRecalcPropagation):
1072         * rendering/RenderListItem.h:
1073         (WebCore::RenderListItem::requiresForcedStyleRecalcPropagation):
1074         * rendering/RenderMedia.h:
1075         (WebCore::RenderMedia::requiresForcedStyleRecalcPropagation):
1076         * rendering/RenderMenuList.h:
1077         (WebCore::RenderMenuList::RenderMenuList::requiresForcedStyleRecalcPropagation):
1078         * rendering/RenderObject.h:
1079         (WebCore::RenderObject::requiresForcedStyleRecalcPropagation):
1080         * rendering/RenderProgress.h:
1081         (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation):
1082         * rendering/RenderSlider.h:
1083         (WebCore::RenderSlider::requiresForcedStyleRecalcPropagation):
1084         * rendering/RenderTextControl.h:
1085         (WebCore::RenderTextControl::requiresForcedStyleRecalcPropagation):
1086
1087 2010-05-20  Jer Noble  <jer.noble@apple.com>
1088
1089         No review; build fix only.
1090
1091         When WTF_USE_ACCELERATED_COMPOSITING is turned off, MediaPlayerPrivateQuickTimeVisualContext.cpp
1092         must include CoreGraphics/CGContext.h.
1093
1094         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1095
1096 2010-05-20  Jer Noble  <jer.noble@apple.com>
1097
1098         Reviewed by Sam Weinig.
1099
1100         Video elements show no video on Windows machines that do not support accelerated compositing
1101         https://bugs.webkit.org/show_bug.cgi?id=39446
1102         rdar://problem/7999794
1103
1104         Implement the paint() method in MediaPlayerPrivateQuickTimeVisualContext.  The visual context should
1105         be set up in load() and torn down in the destructor (as opposed to setUpVideoRendering and 
1106         tearDownVideoRendering, which won't get called in a non-accelerated compositing case).
1107         
1108         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1109         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext):
1110         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load):
1111         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint):
1112         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::visualContextTimerFired):
1113         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
1114         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering):
1115         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering):
1116
1117 2010-05-20  Abhishek Arya  <inferno@chromium.org>
1118
1119         Reviewed by Adam Barth.
1120
1121         Added a method to check if the security origin can access
1122         password manager.
1123         https://bugs.webkit.org/show_bug.cgi?id=38916
1124
1125         * page/SecurityOrigin.h:
1126         (WebCore::SecurityOrigin::canAccessPasswordManager):
1127
1128 2010-05-20  Darin Adler  <darin@apple.com>
1129
1130         Reviewed by Eric Seidel.
1131
1132         Fix warnings seen on the buildbots today
1133         https://bugs.webkit.org/show_bug.cgi?id=39368
1134
1135         * loader/icon/IconDatabase.cpp:
1136         (WebCore::IconDatabase::pruneUnretainedIcons): Use the type "long long" for
1137         things being printed with "%lli". There is no guaranteed that int64_t is the
1138         same thing as long long.
1139
1140         * page/EventHandler.cpp:
1141         (WebCore::EventHandler::handleMousePressEvent): Added parentheses as suggested
1142         by warnings in newer versions of GCC.
1143
1144         * platform/ContextMenu.cpp: Fix #if around the functions to match the #if
1145         around the call sites to avoid unused function warning.
1146
1147         * platform/graphics/gtk/ImageGtk.cpp:
1148         (WebCore::Image::loadPlatformResource): Use NULL to end a variable argument list
1149         rather than 0. This is a case where the WebKit "use 0 instead of NULL" guideline
1150         is incorrect and won't work properly.
1151
1152         * platform/win/SystemTimeWin.cpp:
1153         (WebCore::userIdleTime): Removed unnecessary initialization of LASTINPUTINFO.
1154
1155         * platform/win/WebCoreInstanceHandle.h: Added property svn:eol-style.
1156         Made functions inline instead of static. It's not correct to have functions with
1157         internal linkage in a header file. Marking them inline makes more sense.
1158
1159         * plugins/win/PluginMessageThrottlerWin.cpp:
1160         (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Reordered the
1161         initializers to match the order of the data members from the class definition.
1162
1163         * plugins/win/PluginViewWin.cpp:
1164         (WebCore::PluginView::paintIntoTransformedContext): Initialized all the fields
1165         of WINDOWPOS. I know this goes against the traditions of Windows programming,
1166         but it's correct and silences the warning. Also removed the unneeded separate
1167         code path for non-WinCE platforms that translates only the corner of the window
1168         rectangle; the WinCE version is correct for normal Windows as well. Not sure
1169         why this wasn't caught when the code was originally checked in.
1170
1171 2010-05-20  Justin Schuh  <jschuh@chromium.org>
1172
1173         Reviewed by Adam Barth.
1174
1175         Moving frame.src checks out of the bindings
1176         https://bugs.webkit.org/show_bug.cgi?id=37815
1177
1178         Moved JavaScript frame.src checks out of bindings and into
1179         HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
1180         so ExecState is available inside core DOM. Updated affected bindings
1181         (except for GObject, which will need to be updated to avoid origin
1182         failures inside native code).
1183
1184         * Android.jscbindings.mk:
1185         * CMakeLists.txt:
1186         * GNUmakefile.am:
1187         * WebCore.gypi:
1188         * WebCore.pro:
1189         * WebCore.vcproj/WebCore.vcproj:
1190         * WebCore.xcodeproj/project.pbxproj:
1191         * bindings/js/JSBindingsAllInOne.cpp:
1192         * bindings/js/JSCallbackData.cpp:
1193         (WebCore::JSCallbackData::invokeCallback):
1194         * bindings/js/JSEventListener.cpp:
1195         (WebCore::JSEventListener::handleEvent):
1196         * bindings/js/JSInjectedScriptHostCustom.cpp:
1197         (WebCore::InjectedScriptHost::createInjectedScript):
1198         * bindings/js/JSMainThreadExecState.cpp: Added.
1199         * bindings/js/JSMainThreadExecState.h: Added.
1200         (WebCore::JSMainThreadExecState::currentState):
1201         (WebCore::JSMainThreadExecState::call):
1202         (WebCore::JSMainThreadExecState::evaluate):
1203         (WebCore::JSMainThreadExecState::JSMainThreadExecState):
1204         (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
1205         (WebCore::JSMainThreadNullState::JSMainThreadNullState):
1206         * bindings/js/ScheduledAction.cpp:
1207         (WebCore::ScheduledAction::executeFunctionInContext):
1208         (WebCore::ScheduledAction::execute):
1209         * bindings/js/ScheduledAction.h:
1210         * bindings/js/ScriptController.cpp:
1211         (WebCore::ScriptController::evaluateInWorld):
1212         (WebCore::ScriptController::canAccessFromCurrentOrigin):
1213         * bindings/js/ScriptController.h:
1214         * bindings/js/ScriptFunctionCall.cpp:
1215         (WebCore::ScriptFunctionCall::call):
1216         * bindings/objc/ObjCEventListener.mm:
1217         * bindings/objc/WebScriptObject.mm:
1218         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1219         (-[WebScriptObject evaluateWebScript:]):
1220         * bindings/scripts/CodeGeneratorObjC.pm:
1221         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
1222         (-[DOMTestCallback callbackWithClass1Param:]):
1223         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
1224         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
1225         (-[DOMTestCallback customCallback:class6Param:]):
1226         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
1227         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1228         (-[DOMTestObj readOnlyIntAttr]):
1229         (-[DOMTestObj readOnlyStringAttr]):
1230         (-[DOMTestObj readOnlyTestObjAttr]):
1231         (-[DOMTestObj intAttr]):
1232         (-[DOMTestObj setIntAttr:]):
1233         (-[DOMTestObj longLongAttr]):
1234         (-[DOMTestObj setLongLongAttr:]):
1235         (-[DOMTestObj unsignedLongLongAttr]):
1236         (-[DOMTestObj setUnsignedLongLongAttr:]):
1237         (-[DOMTestObj stringAttr]):
1238         (-[DOMTestObj setStringAttr:]):
1239         (-[DOMTestObj testObjAttr]):
1240         (-[DOMTestObj setTestObjAttr:]):
1241         (-[DOMTestObj attrWithException]):
1242         (-[DOMTestObj setAttrWithException:]):
1243         (-[DOMTestObj attrWithSetterException]):
1244         (-[DOMTestObj setAttrWithSetterException:]):
1245         (-[DOMTestObj attrWithGetterException]):
1246         (-[DOMTestObj setAttrWithGetterException:]):
1247         (-[DOMTestObj customAttr]):
1248         (-[DOMTestObj setCustomAttr:]):
1249         (-[DOMTestObj scriptStringAttr]):
1250         (-[DOMTestObj voidMethod]):
1251         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
1252         (-[DOMTestObj intMethod]):
1253         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
1254         (-[DOMTestObj objMethod]):
1255         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
1256         (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
1257         (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
1258         (-[DOMTestObj serializedValue:]):
1259         (-[DOMTestObj methodWithException]):
1260         (-[DOMTestObj customMethod]):
1261         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
1262         (-[DOMTestObj customArgsAndException:]):
1263         (-[DOMTestObj addEventListener:listener:useCapture:]):
1264         (-[DOMTestObj removeEventListener:listener:useCapture:]):
1265         (-[DOMTestObj withDynamicFrame]):
1266         (-[DOMTestObj withDynamicFrameAndArg:]):
1267         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
1268         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
1269         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
1270         (-[DOMTestObj withScriptStateVoid]):
1271         (-[DOMTestObj withScriptStateObj]):
1272         (-[DOMTestObj withScriptStateVoidException]):
1273         (-[DOMTestObj withScriptStateObjException]):
1274         (-[DOMTestObj methodWithOptionalArg:]):
1275         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
1276         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
1277         * bindings/v8/ScriptController.cpp:
1278         (WebCore::ScriptController::canAccessFromCurrentOrigin):
1279         * bindings/v8/ScriptController.h:
1280         * html/HTMLFrameElementBase.cpp:
1281         (WebCore::HTMLFrameElementBase::isURLAllowed):
1282
1283 2010-05-20  Adam Roben  <aroben@apple.com>
1284
1285         Fix an HRGN leak in WKCACFLayerRenderer
1286
1287         Fixes <http://webkit.org/b/39312> <rdar://problem/7998728> REGRESSION
1288         (r53686-r55990): Graphics corruption when watching video (affects
1289         youtube.com)
1290
1291         Reviewed by Darin Adler.
1292
1293         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1294         (WebCore::getDirtyRects): Use an OwnPtr to hold the HRGN we allocate.
1295         That way we don't have to remember to destroy it (as we were
1296         forgetting to do) when we bail out of this function early.
1297
1298 2010-05-20  Darin Fisher  <darin@chromium.org>
1299
1300         Reviewed by Nate Chapin.
1301
1302         [chromium] Provide a way to catch exceptions thrown while interacting
1303         with a NPObject via WebBindings methods.
1304         https://bugs.webkit.org/show_bug.cgi?id=39378
1305
1306         This change also includes a small bit of cleanup in V8NPObject and
1307         friends.  I moved code into the WebCore namespace where appropriate.
1308         
1309         In _NPN_Invoke, I also moved the call to _NPN_Evaluate outside of the
1310         context scope.  I did this to avoid having nested ExceptionCatcher
1311         objects, which is not strictly necessary, but it seemed cleaner.
1312         _NPN_Evaluate already takes care of creating a context scope.
1313
1314         * bindings/v8/NPV8Object.cpp:
1315         (WebCore::v8ObjectToNPObject):
1316         (WebCore::npCreateV8ScriptObject):
1317         (_NPN_Invoke):
1318         (_NPN_InvokeDefault):
1319         (_NPN_Evaluate):
1320         (_NPN_EvaluateHelper):
1321         (_NPN_GetProperty):
1322         (_NPN_SetProperty):
1323         (_NPN_RemoveProperty):
1324         (_NPN_HasProperty):
1325         (_NPN_HasMethod):
1326         (_NPN_SetException):
1327         (_NPN_Enumerate):
1328         (_NPN_Construct):
1329         * bindings/v8/NPV8Object.h:
1330         * bindings/v8/V8NPObject.cpp:
1331         * bindings/v8/V8NPObject.h:
1332         * bindings/v8/V8NPUtils.cpp:
1333         (WebCore::convertV8ObjectToNPVariant):
1334         (WebCore::pushExceptionHandler):
1335         (WebCore::popExceptionHandler):
1336         (WebCore::ExceptionCatcher::ExceptionCatcher):
1337         (WebCore::ExceptionCatcher::~ExceptionCatcher):
1338         * bindings/v8/V8NPUtils.h:
1339         * bindings/v8/npruntime.cpp:
1340
1341 2010-05-20  Marcus Bulach  <bulach@chromium.org>
1342
1343         Reviewed by Steve Block.
1344
1345         Ensure timers are stopped on Geolocation::disconnectFrame()
1346         https://bugs.webkit.org/show_bug.cgi?id=39388
1347
1348         fast/dom/Geolocation/notimer-after-unload.html, plus it should be possible to re-enable Gtk LayoutTests.
1349
1350         * page/Geolocation.cpp:
1351         (WebCore::Geolocation::disconnectFrame):
1352
1353 2010-05-20  James Robinson  <jamesr@chromium.org>
1354
1355         Reviewed by Eric Seidel.
1356
1357         Ensures styles are up-to-date before determining selection
1358         https://bugs.webkit.org/show_bug.cgi?id=39389
1359
1360         This adds a call to document::updateStyleIfNeeded() to
1361         Frame::notifyRendererOfSelectionChange(). Without this call, if there
1362         is a pending style update that will detach part of the DOM and the
1363         the selection is within that part of the DOM when
1364         notifyRendererOfSeletionChange is called, the rootEditableElement
1365         algorithm ends up walking through detached parts of the render tree.
1366
1367         Test: editing/selection/focus-and-display-none.html
1368
1369         * page/Frame.cpp:
1370         (WebCore::Frame::notifyRendererOfSelectionChange):
1371
1372 2010-05-20  Adam Roben  <aroben@apple.com>
1373
1374         Remove code that fetched, but did nothing useful with, a CFDictionary
1375         in MediaPlayerPrivateQuickTimeVisualContext
1376
1377         I also removed the code in QTPixelBuffer that vended the dictionary.
1378
1379         Fixes <http://webkit.org/b/39435> <rdar://problem/8009278>
1380         QTPixelBuffer passes CFDictionaries across the DLL boundary, which can
1381         lead to crashes
1382
1383         Reviewed by Darin Adler.
1384
1385         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1386         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
1387         Deleted code that fetched the attachments dictionary, which was never
1388         used other than to pass it to CFRetain/CFRelease, which could be
1389         enough to cause a crash due to incompatible copies of
1390         CoreFoundation.dll.
1391
1392         * platform/graphics/win/QTMovieVisualContext.h: Added a now-needed
1393         forward declaration.
1394
1395         * platform/graphics/win/QTPixelBuffer.cpp:
1396         * platform/graphics/win/QTPixelBuffer.h:
1397         Removed the now-unused attachments function.
1398
1399 2010-05-20  Adam Roben  <aroben@apple.com>
1400
1401         Fix a CFData leak in MediaPlayerPrivateQuickTimeVisualContext
1402
1403         Fixes <http://webkit.org/b/39432> <rdar://problem/8008992>
1404
1405         Reviewed by Ada Chan
1406
1407         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1408         (WebCore::QTCFDictionaryCreateWithDataCallback): Use a RetainPtr to
1409         hold the CFData we allocate so it will get released when this function
1410         is exited. Also pass kCFAllocatorNull as the bytes deallocator to
1411         CFDataCreateWithBytesNoCopy so that CF doesn't try to deallocate the
1412         bytes we pass to it.
1413
1414 2010-05-20  Jian Li  <jianli@chromium.org>
1415
1416         Reviewed by David Levin.
1417
1418         Rename GenericTask* to CrossThreadTask* in CrossThreadTask.h.
1419         https://bugs.webkit.org/show_bug.cgi?id=39437
1420
1421         * dom/CrossThreadTask.h:
1422         (WebCore::):
1423         (WebCore::CrossThreadTask1::create):
1424         (WebCore::CrossThreadTask1::CrossThreadTask1):
1425         (WebCore::CrossThreadTask2::create):
1426         (WebCore::CrossThreadTask2::CrossThreadTask2):
1427         (WebCore::CrossThreadTask3::create):
1428         (WebCore::CrossThreadTask3::CrossThreadTask3):
1429         (WebCore::CrossThreadTask4::create):
1430         (WebCore::CrossThreadTask4::CrossThreadTask4):
1431         (WebCore::CrossThreadTask5::create):
1432         (WebCore::CrossThreadTask5::CrossThreadTask5):
1433         (WebCore::CrossThreadTask6::create):
1434         (WebCore::CrossThreadTask6::CrossThreadTask6):
1435         (WebCore::CrossThreadTask7::create):
1436         (WebCore::CrossThreadTask7::CrossThreadTask7):
1437         (WebCore::CrossThreadTask8::create):
1438         (WebCore::CrossThreadTask8::CrossThreadTask8):
1439         (WebCore::createCallbackTask):
1440
1441 2010-05-20  Jian Li  <jianli@chromium.org>
1442
1443         Reviewed by David Levin.
1444
1445         Rename GenericWorkerTask.h to CrossThreadTask.h and move it to dom directory.
1446         https://bugs.webkit.org/show_bug.cgi?id=39135
1447
1448         * GNUmakefile.am:
1449         * WebCore.gypi:
1450         * WebCore.vcproj/WebCore.vcproj:
1451         * WebCore.xcodeproj/project.pbxproj:
1452         * dom/CrossThreadTask.h: Renamed from WebCore/workers/GenericWorkerTask.h.
1453         * html/FileStreamProxy.cpp:
1454         * loader/WorkerThreadableLoader.cpp:
1455         * websockets/WorkerThreadableWebSocketChannel.cpp:
1456         * workers/DefaultSharedWorkerRepository.cpp:
1457         * workers/WorkerMessagingProxy.cpp:
1458         * workers/WorkerScriptLoader.cpp:
1459
1460 2010-05-20  Adele Peterson  <adele@apple.com>
1461
1462         Reviewed by Mark Rowe.
1463
1464         Remove the Safari welcome page site-specific quirk, since its no longer needed.
1465
1466         * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::cssRules):
1467
1468 2010-05-20  Steve Block  <steveblock@google.com>
1469
1470         Reviewed by Jeremy Orlow.
1471
1472         Provide bindings for DeviceOrientation
1473         https://bugs.webkit.org/show_bug.cgi?id=39210
1474
1475         Tests: fast/dom/DeviceOrientation/window-property.html
1476                fast/dom/Window/window-properties-on-device-orientation.html
1477
1478         Adds bindings for DeviceOrientation as defined in
1479         http://dev.w3.org/geo/api/spec-source-orientation.html
1480         This is guarded by ENABLE(DEVICE_ORIENTATION) which is currently disabled on
1481         all platforms but Android.
1482
1483         * Android.derived.jscbindings.mk:
1484         * Android.derived.v8bindings.mk:
1485         * Android.mk:
1486         * Configurations/FeatureDefines.xcconfig:
1487         * DerivedSources.cpp:
1488         * DerivedSources.make:
1489         * GNUmakefile.am:
1490         * WebCore.gypi:
1491         * WebCore.pri:
1492         * WebCore.pro:
1493         * WebCore.xcodeproj/project.pbxproj:
1494         * bindings/js/JSEventCustom.cpp:
1495         (WebCore::toJS):
1496         * bindings/v8/custom/V8EventCustom.cpp:
1497         (WebCore::toV8):
1498         * dom/DeviceOrientationEvent.cpp: Added.
1499         (WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
1500         (WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):
1501         * dom/DeviceOrientationEvent.h: Added.
1502         (WebCore::DeviceOrientationEvent::create):
1503         (WebCore::DeviceOrientationEvent::alpha):
1504         (WebCore::DeviceOrientationEvent::beta):
1505         (WebCore::DeviceOrientationEvent::gamma):
1506         (WebCore::DeviceOrientationEvent::isDeviceOrientationEvent):
1507         * dom/DeviceOrientationEvent.idl: Added.
1508         * dom/Event.cpp:
1509         (WebCore::Event::isDeviceOrientationEvent):
1510         * dom/Event.h:
1511         * dom/EventNames.h:
1512         * page/DOMWindow.h:
1513         * page/DOMWindow.idl:
1514
1515 2010-05-20  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
1516
1517         Rubberstamped by Antti Koivisto.
1518
1519         Use 0.15 as text drag delay when Q_WS_MAC is defined, which is
1520         consistent with the Mac OS X platform.
1521
1522         * page/qt/EventHandlerQt.cpp:
1523
1524 2010-05-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1525
1526         Reviewed by Simon Hausmann.
1527
1528         Fix painting when using clipToImageBuffer()
1529
1530         When we apply the transform of the parent painter to the painter of
1531         the transparency layer, we adopt its coordinate system, thus offset
1532         should not be in page coordinates, but in the coordinate system of
1533         the parent painter.
1534
1535         * platform/graphics/qt/GraphicsContextQt.cpp:
1536         (WebCore::TransparencyLayer::TransparencyLayer):
1537
1538 2010-05-20  Adam Langley  <agl@chromium.org>
1539
1540         Reviewed by David Levin.
1541
1542         [chromium] Avoid crash when msttcorefonts aren't provided
1543
1544         https://bugs.webkit.org/show_bug.cgi?id=39015
1545         http://code.google.com/p/chromium/issues/detail?id=43831
1546
1547         * platform/graphics/chromium/FontCacheLinux.cpp:
1548         (WebCore::FontCache::createFontPlatformData):
1549
1550 2010-05-20  Zoltan Herczeg  <zherczeg@webkit.org>
1551
1552         Reviewed by Dirk Schulze.
1553
1554         Fix a crash caused by feLigthing::apply()
1555         https://bugs.webkit.org/show_bug.cgi?id=39004
1556
1557         Make FELighting::apply() similar to other filters' applies
1558         to avoid an assertion fail in putUnmultipliedImageData(),
1559         when effectDrawingRect has negative location (x or y is less than 0).
1560
1561         Test: svg/filters/feLighting-crash.svg
1562
1563         * svg/graphics/filters/SVGFELighting.cpp:
1564         (WebCore::FELighting::apply):
1565
1566 2010-05-20  Chris Jerdonek  <cjerdonek@webkit.org>
1567
1568         Reviewed by Eric Seidel.
1569
1570         Modified FrameLoader::urlSelected() to accept a KURL instead of a
1571         ResourceRequest.
1572
1573         https://bugs.webkit.org/show_bug.cgi?id=39320
1574
1575         Since ResourceRequest has non-explicit single-parameter constructors for
1576         String and KURL, urlSelected() previously accepted any of String, KURL,
1577         and ResourceRequest.  This revision changes urlSelected() to accept only
1578         a KURL to make the API tighter and easier to refactor.
1579
1580         No new functionality, so no new tests.
1581
1582         * loader/FrameLoader.cpp:
1583         (WebCore::FrameLoader::urlSelected):
1584           - Changed the public overload to accept a KURL instead of a ResourceRequest.
1585         * loader/FrameLoader.h:
1586           - Changed the public overload to accept a KURL instead of a ResourceRequest.
1587         * wml/WMLAElement.cpp:
1588         (WebCore::WMLAElement::defaultEventHandler):
1589           - Updated the call to urlSelected().
1590
1591 2010-05-20  MORITA Hajime  <morrita@google.com>
1592
1593         Reviewed by Kent Tamura.
1594
1595         2x execCommand ReadAV@NULL
1596         https://bugs.webkit.org/show_bug.cgi?id=35791
1597
1598         In applyBlockStyle(), a node which is referred from
1599         nextParagraphStart sometimes removed from the document and goes
1600         orphan, and that causes an assertion failed. This is because
1601         moveParagraphs() replaces the node with a new one with some new
1602         styles applied. So we re-compute nextParagraphStart in that case.
1603
1604         Test: editing/execCommand/35791.html
1605
1606         * dom/Position.h:
1607         (WebCore::Position::isOrphan):
1608         * editing/ApplyStyleCommand.cpp:
1609         (WebCore::ApplyStyleCommand::applyBlockStyle):
1610         * editing/VisiblePosition.h:
1611         (WebCore::VisiblePosition::isOrphan):
1612
1613 2010-05-20  Steve Block  <steveblock@google.com>
1614
1615         Reviewed by Eric Seidel.
1616
1617         PluginView contains JSC-specific code
1618         https://bugs.webkit.org/show_bug.cgi?id=38907
1619
1620         Build fix only, no new tests.
1621
1622         * plugins/PluginView.cpp:
1623         (WebCore::PluginView::start):
1624         (WebCore::PluginView::stop):
1625         (WebCore::PluginView::performRequest):
1626         * plugins/PluginView.h:
1627
1628 2010-05-17  Philippe Normand  <pnormand@igalia.com>
1629
1630         Reviewed by Eric Seidel.
1631
1632         [GStreamer] enable gst support if USE_GSTREAMER macro is defined
1633         https://bugs.webkit.org/show_bug.cgi?id=39205
1634
1635         Include gstreamer private player in the build when the
1636         USE_GSTREAMER macro is enabled.
1637
1638         * platform/graphics/MediaPlayer.cpp:
1639         (WebCore::installedMediaEngines):
1640
1641 2010-05-19  Vangelis Kokkevis  <vangelis@chromium.org>
1642
1643         Reviewed by Darin Fisher.
1644
1645         Implementing hardware accelerated compositing of layers for Chromium.
1646         Completely removed the existing software compositing path to replace
1647         it with code implemented using OpenGL.
1648         https://bugs.webkit.org/show_bug.cgi?id=38783
1649
1650         Tests: Covered by existing compositing tests.
1651
1652         * WebCore.gyp/WebCore.gyp:
1653         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1654         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
1655         (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
1656         (WebCore::GraphicsLayerChromium::updateContentsRect):
1657         * platform/graphics/chromium/LayerChromium.cpp:
1658         (WebCore::LayerChromium::LayerChromium):
1659         (WebCore::LayerChromium::~LayerChromium):
1660         (WebCore::LayerChromium::updateGraphicsContext):
1661         (WebCore::LayerChromium::drawsContentUpdated):
1662         (WebCore::LayerChromium::updateContents):
1663         (WebCore::LayerChromium::setContents):
1664         (WebCore::LayerChromium::setBackingStoreSize):
1665         (WebCore::LayerChromium::setBounds):
1666         (WebCore::LayerChromium::setNeedsDisplay):
1667         * platform/graphics/chromium/LayerChromium.h:
1668         (WebCore::LayerChromium::contentsDirty):
1669         (WebCore::LayerChromium::drawsContent):
1670         * platform/graphics/chromium/LayerRendererChromium.cpp:
1671         (WebCore::):
1672         (WebCore::checkGLError):
1673         (WebCore::loadShader):
1674         (WebCore::loadShaderProgram):
1675         (WebCore::toGLMatrix):
1676         (WebCore::orthoMatrix):
1677         (WebCore::createLayerTexture):
1678         (WebCore::LayerRendererChromium::create):
1679         (WebCore::LayerRendererChromium::LayerRendererChromium):
1680         (WebCore::LayerRendererChromium::~LayerRendererChromium):
1681         (WebCore::LayerRendererChromium::drawTexturedQuad):
1682         (WebCore::LayerRendererChromium::drawLayers):
1683         (WebCore::LayerRendererChromium::getTextureId):
1684         (WebCore::LayerRendererChromium::assignTextureForLayer):
1685         (WebCore::LayerRendererChromium::freeLayerTexture):
1686         (WebCore::LayerRendererChromium::drawDebugBorder):
1687         (WebCore::LayerRendererChromium::isLayerVisible):
1688         (WebCore::LayerRendererChromium::compositeLayersRecursive):
1689         (WebCore::LayerRendererChromium::makeContextCurrent):
1690         (WebCore::LayerRendererChromium::initGL):
1691         (WebCore::LayerRendererChromium::bindCommonAttribLocation):
1692         (WebCore::LayerRendererChromium::initializeSharedGLObjects):
1693         * platform/graphics/chromium/LayerRendererChromium.h:
1694         (WebCore::LayerRendererChromium::):
1695
1696 2010-05-19  Andrey Kosyakov  <caseq@chromium.org>
1697
1698         Reviewed by Timothy Hatcher.
1699
1700         Maintain focus on help screen while it's active.
1701         https://bugs.webkit.org/show_bug.cgi?id=39237
1702
1703         * inspector/front-end/HelpScreen.js:
1704         (WebInspector.HelpScreen):
1705         (WebInspector.HelpScreen.prototype.show):
1706         (WebInspector.HelpScreen.prototype._hide):
1707         (WebInspector.HelpScreen.prototype._onBlur):
1708
1709 2010-05-19  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
1710
1711         Reviewed by Kenneth Rohde Christiansen.
1712
1713         Crash fix in the HistoryController.
1714
1715         The problem was casued by a documented feature of the QWebFrame::setHtml().
1716         The method doesn't affect a browsing history (doesn't create a HistoryItem instance), so
1717         m_currentItem and m_previousItem are not set.
1718
1719         A null check was added.
1720
1721         [Qt] The QWebPage crashes on history.pushState().
1722         https://bugs.webkit.org/show_bug.cgi?id=38840
1723
1724         * loader/HistoryController.cpp:
1725         (WebCore::HistoryController::pushState):
1726         (WebCore::HistoryController::replaceState):
1727
1728 2010-05-19  Darin Fisher  <darin@chromium.org>
1729
1730         Revert r59790 due to failing Chromium npruntime tests.
1731
1732         * bindings/v8/NPV8Object.cpp:
1733         (v8ObjectToNPObject):
1734         (npCreateV8ScriptObject):
1735         (_NPN_Invoke):
1736         (_NPN_InvokeDefault):
1737         (_NPN_Evaluate):
1738         (_NPN_EvaluateHelper):
1739         (_NPN_GetProperty):
1740         (_NPN_SetProperty):
1741         (_NPN_RemoveProperty):
1742         (_NPN_HasProperty):
1743         (_NPN_HasMethod):
1744         (_NPN_SetException):
1745         (_NPN_Enumerate):
1746         (_NPN_Construct):
1747         * bindings/v8/NPV8Object.h:
1748         * bindings/v8/V8NPObject.cpp:
1749         (forgetV8ObjectForNPObject):
1750         * bindings/v8/V8NPObject.h:
1751         * bindings/v8/V8NPUtils.cpp:
1752         (convertV8ObjectToNPVariant):
1753         (getStringIdentifier):
1754         * bindings/v8/V8NPUtils.h:
1755         * bindings/v8/npruntime.cpp:
1756
1757 2010-05-19  Gavin Barraclough  <barraclough@apple.com>
1758
1759         Rubber Stamped by Sam Weinig.
1760
1761         JSFunctions are no longer a subclass of InternalFunction.
1762
1763         * bindings/js/ScriptCallStack.cpp:
1764         (WebCore::ScriptCallStack::ScriptCallStack):
1765         (WebCore::ScriptCallStack::initialize):
1766         * bindings/js/ScriptCallStack.h:
1767
1768 2010-05-19  Jian Li  <jianli@chromium.org>
1769
1770         Reviewed by Alexey Proskuryakov.
1771
1772         Refactor text encoding detection logic in FileReader.
1773         https://bugs.webkit.org/show_bug.cgi?id=39131
1774
1775         Changed FileReader::convertToText to call TextResourceDecoder::decode to
1776         detect the encoding from BOM and decode the text. Though the File API
1777         spec says that the supplied encoding should be used if it is valid, we
1778         choose to ignore this requirement in order to be consistent with how
1779         WebKit decodes the web content: always has the BOM override the provided
1780         encoding.
1781
1782         * html/FileReader.cpp:
1783         (WebCore::FileReader::convertToText):
1784         * html/FileReader.h:
1785
1786 2010-05-19  Abhishek Arya  <inferno@chromium.org>
1787
1788         Reviewed by David Hyatt.
1789
1790         Check that the node is a text node before doing a static cast
1791         to a Text class pointer.
1792         https://bugs.webkit.org/show_bug.cgi?id=38626    
1793
1794         Test: fast/text/text-transform-nontext-node-crash.xhtml
1795
1796         * rendering/RenderText.cpp:
1797         (WebCore::RenderText::originalText):
1798         * rendering/RenderTextFragment.cpp:
1799         (WebCore::RenderTextFragment::originalText):
1800         (WebCore::RenderTextFragment::previousCharacter):
1801
1802 2010-05-19  Yaar Schnitman  <yaar@chromium.org>
1803
1804         Reviewed by Eric Seidel.
1805
1806         Fixed warnings by JSC overloads changes. Also updated the binding reference files for JSC.
1807         https://bugs.webkit.org/show_bug.cgi?id=39390
1808
1809         * bindings/scripts/CodeGeneratorJS.pm:
1810         * bindings/scripts/test/JS/JSTestInterface.cpp:
1811         (WebCore::):
1812         * bindings/scripts/test/JS/JSTestObj.cpp:
1813         (WebCore::):
1814
1815 2010-05-19  Darin Fisher  <darin@chromium.org>
1816
1817         Reviewed by Nate Chapin.
1818
1819         [chromium] Provide a way to catch exceptions thrown while interacting
1820         with a NPObject via WebBindings methods.
1821         https://bugs.webkit.org/show_bug.cgi?id=39378
1822
1823         This change also includes a small bit of cleanup in V8NPObject and
1824         friends.  I moved code into the WebCore namespace where appropriate.
1825         
1826         In _NPN_Invoke, I also moved the call to _NPN_Evaluate outside of the
1827         context scope.  I did this to avoid having nested ExceptionCatcher
1828         objects, which is not strictly necessary, but it seemed cleaner.
1829         _NPN_Evaluate already takes care of creating a context scope.
1830
1831         * bindings/v8/NPV8Object.cpp:
1832         (WebCore::v8ObjectToNPObject):
1833         (WebCore::npCreateV8ScriptObject):
1834         (_NPN_Invoke):
1835         (_NPN_InvokeDefault):
1836         (_NPN_Evaluate):
1837         (_NPN_EvaluateHelper):
1838         (_NPN_GetProperty):
1839         (_NPN_SetProperty):
1840         (_NPN_RemoveProperty):
1841         (_NPN_HasProperty):
1842         (_NPN_HasMethod):
1843         (_NPN_SetException):
1844         (_NPN_Enumerate):
1845         (_NPN_Construct):
1846         * bindings/v8/NPV8Object.h:
1847         * bindings/v8/V8NPObject.cpp:
1848         * bindings/v8/V8NPObject.h:
1849         * bindings/v8/V8NPUtils.cpp:
1850         (WebCore::convertV8ObjectToNPVariant):
1851         (WebCore::pushExceptionHandler):
1852         (WebCore::popExceptionHandler):
1853         (WebCore::ExceptionCatcher::~ExceptionCatcher):
1854         * bindings/v8/V8NPUtils.h:
1855         * bindings/v8/npruntime.cpp:
1856
1857 2010-05-19  Yaar Schnitman  <yaar@chromium.org>
1858
1859         Unreviewed, rolling out r59769.
1860         http://trac.webkit.org/changeset/59769
1861         https://bugs.webkit.org/show_bug.cgi?id=37815
1862
1863         Broke GTK again
1864
1865         * Android.jscbindings.mk:
1866         * CMakeLists.txt:
1867         * GNUmakefile.am:
1868         * WebCore.gypi:
1869         * WebCore.pro:
1870         * WebCore.vcproj/WebCore.vcproj:
1871         * WebCore.xcodeproj/project.pbxproj:
1872         * bindings/js/JSBindingsAllInOne.cpp:
1873         * bindings/js/JSCallbackData.cpp:
1874         (WebCore::JSCallbackData::invokeCallback):
1875         * bindings/js/JSEventListener.cpp:
1876         (WebCore::JSEventListener::handleEvent):
1877         * bindings/js/JSInjectedScriptHostCustom.cpp:
1878         (WebCore::InjectedScriptHost::createInjectedScript):
1879         * bindings/js/JSMainThreadExecState.cpp: Removed.
1880         * bindings/js/JSMainThreadExecState.h: Removed.
1881         * bindings/js/ScheduledAction.cpp:
1882         (WebCore::ScheduledAction::executeFunctionInContext):
1883         (WebCore::ScheduledAction::execute):
1884         * bindings/js/ScheduledAction.h:
1885         * bindings/js/ScriptController.cpp:
1886         (WebCore::ScriptController::evaluateInWorld):
1887         * bindings/js/ScriptController.h:
1888         * bindings/js/ScriptFunctionCall.cpp:
1889         (WebCore::ScriptFunctionCall::call):
1890         * bindings/objc/ObjCEventListener.mm:
1891         * bindings/objc/WebScriptObject.mm:
1892         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1893         (-[WebScriptObject evaluateWebScript:]):
1894         * bindings/scripts/CodeGeneratorObjC.pm:
1895         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
1896         (-[DOMTestCallback callbackWithClass1Param:]):
1897         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
1898         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
1899         (-[DOMTestCallback customCallback:class6Param:]):
1900         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
1901         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1902         (-[DOMTestObj readOnlyIntAttr]):
1903         (-[DOMTestObj readOnlyStringAttr]):
1904         (-[DOMTestObj readOnlyTestObjAttr]):
1905         (-[DOMTestObj intAttr]):
1906         (-[DOMTestObj setIntAttr:]):
1907         (-[DOMTestObj longLongAttr]):
1908         (-[DOMTestObj setLongLongAttr:]):
1909         (-[DOMTestObj unsignedLongLongAttr]):
1910         (-[DOMTestObj setUnsignedLongLongAttr:]):
1911         (-[DOMTestObj stringAttr]):
1912         (-[DOMTestObj setStringAttr:]):
1913         (-[DOMTestObj testObjAttr]):
1914         (-[DOMTestObj setTestObjAttr:]):
1915         (-[DOMTestObj attrWithException]):
1916         (-[DOMTestObj setAttrWithException:]):
1917         (-[DOMTestObj attrWithSetterException]):
1918         (-[DOMTestObj setAttrWithSetterException:]):
1919         (-[DOMTestObj attrWithGetterException]):
1920         (-[DOMTestObj setAttrWithGetterException:]):
1921         (-[DOMTestObj customAttr]):
1922         (-[DOMTestObj setCustomAttr:]):
1923         (-[DOMTestObj scriptStringAttr]):
1924         (-[DOMTestObj voidMethod]):
1925         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
1926         (-[DOMTestObj intMethod]):
1927         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
1928         (-[DOMTestObj objMethod]):
1929         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
1930         (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
1931         (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
1932         (-[DOMTestObj serializedValue:]):
1933         (-[DOMTestObj methodWithException]):
1934         (-[DOMTestObj customMethod]):
1935         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
1936         (-[DOMTestObj customArgsAndException:]):
1937         (-[DOMTestObj addEventListener:listener:useCapture:]):
1938         (-[DOMTestObj removeEventListener:listener:useCapture:]):
1939         (-[DOMTestObj withDynamicFrame]):
1940         (-[DOMTestObj withDynamicFrameAndArg:]):
1941         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
1942         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
1943         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
1944         (-[DOMTestObj withScriptStateVoid]):
1945         (-[DOMTestObj withScriptStateObj]):
1946         (-[DOMTestObj withScriptStateVoidException]):
1947         (-[DOMTestObj withScriptStateObjException]):
1948         (-[DOMTestObj methodWithOptionalArg:]):
1949         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
1950         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
1951         * bindings/v8/ScriptController.cpp:
1952         * bindings/v8/ScriptController.h:
1953         * html/HTMLFrameElementBase.cpp:
1954         (WebCore::HTMLFrameElementBase::isURLAllowed):
1955
1956 2010-05-19  Dirk Pranke  <dpranke@chromium.org>
1957
1958         Try again to roll out r58675.
1959
1960         * notifications/Notification.h:
1961         * notifications/Notification.idl:
1962
1963 2010-05-19  Enrica Casucci  <enrica@apple.com>
1964
1965         Reviewed by Dave Hyatt.
1966
1967         REGRESSION (r59385) crash destroying inline renderers
1968         https://bugs.webkit.org/show_bug.cgi?id=39143
1969         <rdar://problem/8003662>
1970         
1971         The goal of r59385 was to make sure that the layout of block after all its children had been removed produced the identical result
1972         as the one of a newly created empty block. In order to do so, we had to make sure that the m_inlineChildren flag was reset to true when
1973         the block had no children (as it is upon creation).
1974         I discovered that, by doing that for anonymous blocks it leads removeChild to conclude that the anonymous children can be removed,
1975         without considering that the anonymous block could be part of a continuation chain. For this reason, when RenderInline::destroy()
1976         tries to remove the continuations we are effectively deleting a renderer that had been deleted already.
1977         
1978         Test: fast/inline-block/anonymous-block-crash.html
1979
1980         * rendering/RenderBlock.cpp:
1981         (WebCore::RenderBlock::layoutBlock): resetting the flag m_inlineChildren only for non anonymous blocks otherwise we incurr in
1982         a double deletion of the renderer that causes the crash.
1983
1984 2010-05-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1985
1986         Unreviewed, rolling out r59782.
1987         http://trac.webkit.org/changeset/59782
1988         https://bugs.webkit.org/show_bug.cgi?id=39379
1989
1990         broke DRT build (Requested by dpranke on #webkit).
1991
1992         * notifications/Notification.h:
1993         (WebCore::Notification::dir):
1994         (WebCore::Notification::setDir):
1995         (WebCore::Notification::replaceId):
1996         (WebCore::Notification::setReplaceId):
1997         * notifications/Notification.idl:
1998
1999 2010-05-18  David Hyatt  <hyatt@apple.com>
2000
2001         Reviewed by Oliver Hunt.
2002
2003         https://bugs.webkit.org/show_bug.cgi?id=21049, opacity and position:relative fail in multi-column layouts.
2004         
2005         Make layers split painting across columns just as normal flow content does.  This is actually very
2006         challenging, since intermediate multicol layers can exist between a child that has to be split and
2007         its enclosing stacking context.
2008         
2009         In order to properly paginate layers, a bit is set on all pagination roots, i.e., layers that will get
2010         split and thus split any descendant layers that they are also responsible for painting.  For a paginated
2011         root, we walk up the layer hierarchy and collect all intermediate multicol blocks between the child
2012         and the enclosing stacking context.
2013         
2014         We then recur from the outside in, applying clipping and translation as we break up the layer into strips.
2015         
2016         Composited layers remain unsplittable and have a hacked offset still in order to be placed in the right
2017         column.
2018         
2019         Painting and hit testing of columns has been simplified in all of the functions to use the x position of
2020         the column rect instead of trying to increment an x offset by adding in widths and column gaps.  This
2021         makes those functions directionality-independent (and the LTR/RTL code paths are now the same).
2022         
2023         Fix repainting of columns as well to make sure rects are split across columns only after relative position
2024         and transforms have been applied.
2025         
2026         Added fast/multicol/layers-split-across-columns.html
2027
2028         * rendering/RenderBlock.cpp:
2029         (WebCore::RenderBlock::paintColumnContents):
2030         (WebCore::RenderBlock::adjustRectForColumns):
2031         (WebCore::RenderBlock::adjustForColumns):
2032         * rendering/RenderBlock.h:
2033         * rendering/RenderBox.cpp:
2034         (WebCore::RenderBox::computeRectForRepaint):
2035         * rendering/RenderLayer.cpp:
2036         (WebCore::RenderLayer::RenderLayer):
2037         (WebCore::RenderLayer::updateLayerPositions):
2038         (WebCore::RenderLayer::updatePagination):
2039         (WebCore::RenderLayer::updateLayerPosition):
2040         (WebCore::RenderLayer::paintLayer):
2041         (WebCore::RenderLayer::paintList):
2042         (WebCore::RenderLayer::paintPaginatedChildLayer):
2043         (WebCore::RenderLayer::paintChildLayerIntoColumns):
2044         (WebCore::RenderLayer::hitTestLayer):
2045         (WebCore::RenderLayer::hitTestList):
2046         (WebCore::RenderLayer::hitTestPaginatedChildLayer):
2047         (WebCore::RenderLayer::hitTestChildLayerColumns):
2048         * rendering/RenderLayer.h:
2049         (WebCore::RenderLayer::):
2050         (WebCore::RenderLayer::isPaginated):
2051
2052 2010-05-18  Dirk Pranke  <dpranke@chromium.org>
2053
2054         Reviewed by Dimitri Glazkov.
2055
2056         Attempt to revert r58765 to see if it was causing a performance
2057         regression.
2058
2059         https://bugs.webkit.org/show_bug.cgi?id=39328
2060
2061         * notifications/Notification.h:
2062         * notifications/Notification.idl:
2063
2064 2010-05-19  Kevin Watters  <kevinwatters@gmail.com>
2065
2066         Reviewed by Kevin Ollivier.
2067
2068         [wx] Ensure m_nsFont is initialized properly, and tweak fallback font handling
2069         to handle more cases.
2070         https://bugs.webkit.org/show_bug.cgi?id=39365
2071         
2072         * platform/graphics/wx/FontCacheWx.cpp:
2073         (WebCore::FontCache::getFontDataForCharacters):
2074         (WebCore::FontCache::getSimilarFontPlatformData):
2075         (WebCore::FontCache::getLastResortFallbackFont):
2076         * platform/graphics/wx/FontPlatformDataWx.cpp:
2077         (WebCore::FontPlatformData::FontPlatformData):
2078
2079 2010-05-19  Marcus Bulach  <bulach@chromium.org>
2080
2081         Reviewed by Eric Seidel.
2082
2083         Fixes Windows Qt Release post r59772.
2084         https://bugs.webkit.org/show_bug.cgi?id=39369
2085
2086         * platform/GeolocationService.cpp:
2087
2088 2010-05-19  Eric Seidel  <eric@webkit.org>
2089
2090         Reviewed by Adam Barth.
2091
2092         Add support for handling basic <script> tags in the HTML5 Parser
2093         https://bugs.webkit.org/show_bug.cgi?id=39350
2094
2095         WebKit currently executes scripts from HTMLTokenizer in one giagantic
2096         hack.  HTML 5 requires that we execute scripts from the tree-builders/parser.
2097
2098         It will take me a while to re-factor enough of HTMLTokenizer to be able to
2099         move the script execution logic without breaking things.  In the interest
2100         of allowing Adam to continue improving the HTML 5 lexer I've added this
2101         very basic (and very incomplete) <script> support to the HTML 5 parser code
2102         path so the he can run the HTML5 parser test suite.
2103
2104         <script> support is tested by most of the layout tests.
2105
2106         * dom/ScriptElement.cpp:
2107         (WebCore::useHTML5Parser):
2108         (WebCore::ScriptElement::finishParsingChildren):
2109
2110 2010-05-19  Anders Carlsson  <andersca@apple.com>
2111
2112         Reviewed by Sam Weinig.
2113
2114         Move member variables from NamedMappedAttrMap to its base class NamedNodeMap
2115         https://bugs.webkit.org/show_bug.cgi?id=39367
2116         <rdar://problem/8003304>
2117
2118         This lets us get rid of the vtable pointer in NamedNodeMap which saves 8 bytes, and also allows us to
2119         fit the m_mappedAttributeCount unsigned int in the RefCounted padding (in 64-bit).
2120         
2121         The net result is that we shrink the NamedMappedAttrMap size by 16 bytes, while keeping the size of NamedNodeMap the same.
2122
2123         * dom/Element.cpp:
2124         (WebCore::Element::createAttributeMap):
2125         * dom/Element.h:
2126         * dom/NamedMappedAttrMap.cpp:
2127         * dom/NamedMappedAttrMap.h:
2128         (WebCore::NamedMappedAttrMap::NamedMappedAttrMap):
2129         * dom/NamedNodeMap.cpp:
2130         (WebCore::NamedNodeMap::clearAttributes):
2131         * dom/NamedNodeMap.h:
2132         (WebCore::NamedNodeMap::NamedNodeMap):
2133         * dom/Node.cpp:
2134         (WebCore::Node::dumpStatistics):
2135         * dom/StyledElement.cpp:
2136         * dom/StyledElement.h:
2137
2138 2010-05-19  Sam Weinig  <sam@webkit.org>
2139
2140         Reviewed by Anders Carlsson.
2141
2142         Use ASSERT_UNUSED instead of UNUSED_PARAM.
2143
2144         * dom/Attribute.cpp:
2145         (WebCore::Attribute::unbindAttr):
2146
2147 2010-05-19  Sam Weinig  <sam@webkit.org>
2148
2149         Rubber-stamped by Anders Carlsson.
2150
2151         Complete the merge of MappedAttribute and Attribute.
2152
2153         Files elided for brevity.
2154
2155 2010-05-19  Marcus Bulach  <bulach@chromium.org>
2156
2157         Reviewed by Steve Block.
2158
2159         [chromium] Adds supports for layout tests using GeolocationServiceMock.
2160         https://bugs.webkit.org/show_bug.cgi?id=39081
2161
2162         Allows injection of GeolocationServiceMock factory.
2163
2164         Tests: existing fast/dom/Geolocation/*
2165
2166         * platform/GeolocationService.cpp:
2167         (WebCore::GeolocationService::useMock):
2168         (WebCore::GeolocationService::useMockFactory):
2169         * platform/GeolocationService.h:
2170         * platform/chromium/GeolocationServiceChromium.cpp:
2171         (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
2172
2173 2010-05-19  Justin Schuh  <jschuh@chromium.org>
2174
2175         Reviewed by Adam Barth.
2176
2177         Moving frame.src checks out of the bindings
2178         https://bugs.webkit.org/show_bug.cgi?id=37815
2179
2180         Moved JavaScript frame.src checks out of bindings and into
2181         HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
2182         so ExecState is available inside core DOM. Updated affected bindings
2183         (except for GObject, which will need to be updated to avoid origin
2184         failures inside native code).
2185
2186         * Android.jscbindings.mk:
2187         * CMakeLists.txt:
2188         * GNUmakefile.am:
2189         * WebCore.gypi:
2190         * WebCore.pro:
2191         * WebCore.vcproj/WebCore.vcproj:
2192         * WebCore.xcodeproj/project.pbxproj:
2193         * bindings/js/JSBindingsAllInOne.cpp:
2194         * bindings/js/JSCallbackData.cpp:
2195         (WebCore::JSCallbackData::invokeCallback):
2196         * bindings/js/JSEventListener.cpp:
2197         (WebCore::JSEventListener::handleEvent):
2198         * bindings/js/JSInjectedScriptHostCustom.cpp:
2199         (WebCore::InjectedScriptHost::createInjectedScript):
2200         * bindings/js/JSMainThreadExecState.cpp: Added.
2201         * bindings/js/JSMainThreadExecState.h: Added.
2202         (WebCore::JSMainThreadExecState::currentState):
2203         (WebCore::JSMainThreadExecState::call):
2204         (WebCore::JSMainThreadExecState::evaluate):
2205         (WebCore::JSMainThreadExecState::JSMainThreadExecState):
2206         (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
2207         (WebCore::JSMainThreadNullState::JSMainThreadNullState):
2208         * bindings/js/ScheduledAction.cpp:
2209         (WebCore::ScheduledAction::executeFunctionInContext):
2210         (WebCore::ScheduledAction::execute):
2211         * bindings/js/ScheduledAction.h:
2212         * bindings/js/ScriptController.cpp:
2213         (WebCore::ScriptController::evaluateInWorld):
2214         (WebCore::ScriptController::canAccessFromCurrentOrigin):
2215         * bindings/js/ScriptController.h:
2216         * bindings/js/ScriptFunctionCall.cpp:
2217         (WebCore::ScriptFunctionCall::call):
2218         * bindings/objc/ObjCEventListener.mm:
2219         * bindings/objc/WebScriptObject.mm:
2220         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2221         (-[WebScriptObject evaluateWebScript:]):
2222         * bindings/scripts/CodeGeneratorObjC.pm:
2223         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2224         (-[DOMTestCallback callbackWithClass1Param:]):
2225         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
2226         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
2227         (-[DOMTestCallback customCallback:class6Param:]):
2228         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
2229         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2230         (-[DOMTestObj readOnlyIntAttr]):
2231         (-[DOMTestObj readOnlyStringAttr]):
2232         (-[DOMTestObj readOnlyTestObjAttr]):
2233         (-[DOMTestObj intAttr]):
2234         (-[DOMTestObj setIntAttr:]):
2235         (-[DOMTestObj longLongAttr]):
2236         (-[DOMTestObj setLongLongAttr:]):
2237         (-[DOMTestObj unsignedLongLongAttr]):
2238         (-[DOMTestObj setUnsignedLongLongAttr:]):
2239         (-[DOMTestObj stringAttr]):
2240         (-[DOMTestObj setStringAttr:]):
2241         (-[DOMTestObj testObjAttr]):
2242         (-[DOMTestObj setTestObjAttr:]):
2243         (-[DOMTestObj attrWithException]):
2244         (-[DOMTestObj setAttrWithException:]):
2245         (-[DOMTestObj attrWithSetterException]):
2246         (-[DOMTestObj setAttrWithSetterException:]):
2247         (-[DOMTestObj attrWithGetterException]):
2248         (-[DOMTestObj setAttrWithGetterException:]):
2249         (-[DOMTestObj customAttr]):
2250         (-[DOMTestObj setCustomAttr:]):
2251         (-[DOMTestObj scriptStringAttr]):
2252         (-[DOMTestObj voidMethod]):
2253         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
2254         (-[DOMTestObj intMethod]):
2255         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
2256         (-[DOMTestObj objMethod]):
2257         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
2258         (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
2259         (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
2260         (-[DOMTestObj serializedValue:]):
2261         (-[DOMTestObj methodWithException]):
2262         (-[DOMTestObj customMethod]):
2263         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
2264         (-[DOMTestObj customArgsAndException:]):
2265         (-[DOMTestObj addEventListener:listener:useCapture:]):
2266         (-[DOMTestObj removeEventListener:listener:useCapture:]):
2267         (-[DOMTestObj withDynamicFrame]):
2268         (-[DOMTestObj withDynamicFrameAndArg:]):
2269         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
2270         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
2271         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
2272         (-[DOMTestObj withScriptStateVoid]):
2273         (-[DOMTestObj withScriptStateObj]):
2274         (-[DOMTestObj withScriptStateVoidException]):
2275         (-[DOMTestObj withScriptStateObjException]):
2276         (-[DOMTestObj methodWithOptionalArg:]):
2277         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
2278         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
2279         * bindings/v8/ScriptController.cpp:
2280         (WebCore::ScriptController::canAccessFromCurrentOrigin):
2281         * bindings/v8/ScriptController.h:
2282         * html/HTMLFrameElementBase.cpp:
2283         (WebCore::HTMLFrameElementBase::isURLAllowed):
2284
2285 2010-05-19  Andreas Kling  <andreas.kling@nokia.com>
2286
2287         Reviewed by Darin Adler.
2288
2289         CanvasRenderingContext2D's property getters that return colors should
2290         serialize them in accordance with the HTML5 spec (4.8.11.1.4)
2291         Setters should ignore invalid colors.
2292
2293         Also, shadowColor should initially be transparent black (4.8.11.1.6)
2294
2295         https://bugs.webkit.org/show_bug.cgi?id=38845
2296
2297         Refactored CanvasStyle to store an RGBA32 instead of RGBA components and/or the color string.
2298
2299         Spec links:
2300         http://www.whatwg.org/specs/web-apps/current-work/#serialization-of-a-color
2301         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-shadowcolor
2302
2303         * html/canvas/CanvasRenderingContext2D.cpp:
2304         (WebCore::CanvasRenderingContext2D::State::State):
2305         (WebCore::CanvasRenderingContext2D::shadowColor):
2306         (WebCore::CanvasRenderingContext2D::setShadowColor):
2307         (WebCore::CanvasRenderingContext2D::setShadow):
2308         (WebCore::CanvasRenderingContext2D::clearShadow):
2309         (WebCore::CanvasRenderingContext2D::applyShadow):
2310         * html/canvas/CanvasRenderingContext2D.h:
2311         * html/canvas/CanvasStyle.cpp:
2312         (WebCore::CanvasStyle::CanvasStyle):
2313         (WebCore::CanvasStyle::create):
2314         (WebCore::CanvasStyle::applyStrokeColor):
2315         (WebCore::CanvasStyle::applyFillColor):
2316         * html/canvas/CanvasStyle.h:
2317         (WebCore::CanvasStyle::create):
2318         (WebCore::CanvasStyle::color):
2319         (WebCore::CanvasStyle::):
2320         (WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
2321         * platform/graphics/Color.cpp:
2322         (WebCore::Color::serialized):
2323         * platform/graphics/Color.h:
2324
2325 2010-05-19  Andreas Kling  <andreas.kling@nokia.com>
2326
2327         Reviewed by Simon Hausmann.
2328
2329         [Qt] REGRESSION: CoolClock isn't rendered properly
2330
2331         https://bugs.webkit.org/show_bug.cgi?id=38526
2332
2333         CanvasRenderingContext2D's arc() should connect to the previous point
2334         with a straight line (HTML5 spec 4.8.11.1.8), but if the path is empty
2335         to begin with, we don't want a line back to (0,0)
2336         This also fixes the rendering artifact discussed in bug 36226.
2337
2338         Spec link:
2339         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc
2340
2341         Test: fast/canvas/canvas-arc-connecting-line.html
2342
2343         * platform/graphics/qt/PathQt.cpp:
2344         (WebCore::Path::addArc):
2345
2346 2010-05-19  Alexander Pavlov  <apavlov@chromium.org>
2347
2348         Reviewed by Jeremy Orlow.
2349
2350         Fix whitespace for the bug 38906
2351         https://bugs.webkit.org/show_bug.cgi?id=39351
2352
2353         No new tests required (no code change).
2354
2355         * css/CSSParser.cpp:
2356         (WebCore::CSSParser::~CSSParser):
2357         (WebCore::CSSParser::setupParser):
2358         (WebCore::CSSParser::parseSheet):
2359         (WebCore::CSSParser::parseValue):
2360         (WebCore::CSSParser::parseSelector):
2361         (WebCore::unitFromString):
2362         (WebCore::CSSParser::checkForOrphanedUnits):
2363         (WebCore::CSSParser::parseWCSSInputProperty):
2364         (WebCore::CSSParser::parseFillShorthand):
2365         (WebCore::CSSParser::parseAnimationShorthand):
2366         (WebCore::CSSParser::parseTransitionShorthand):
2367         (WebCore::CSSParser::parseShorthand):
2368         (WebCore::CSSParser::parse4Values):
2369         (WebCore::CSSParser::parseAttr):
2370         (WebCore::CSSParser::parseFillPositionXY):
2371         (WebCore::CSSParser::parseFillPosition):
2372         (WebCore::CSSParser::parseFillRepeat):
2373         (WebCore::CSSParser::parseFillProperty):
2374         (WebCore::CSSParser::parseAnimationTimingFunction):
2375         (WebCore::CSSParser::parseAnimationProperty):
2376         (WebCore::CSSParser::parseDashboardRegions):
2377         (WebCore::CSSParser::parseCounterContent):
2378         (WebCore::CSSParser::parseShape):
2379         (WebCore::CSSParser::parseFont):
2380         (WebCore::CSSParser::parseFontFamily):
2381         (WebCore::CSSParser::parseFontFaceSrc):
2382         (WebCore::parseInt):
2383         (WebCore::CSSParser::parseColor):
2384         (WebCore::CSSParser::parseShadow):
2385         (WebCore::CSSParser::parseReflect):
2386         (WebCore::BorderImageParseContext::commitNumber):
2387         (WebCore::BorderImageParseContext::commitBorderImage):
2388         (WebCore::CSSParser::parseBorderImage):
2389         (WebCore::CSSParser::parseCounter):
2390         (WebCore::parseGradientPoint):
2391         (WebCore::parseGradientColorStop):
2392         (WebCore::CSSParser::parseGradient):
2393         (WebCore::CSSParser::parseCanvas):
2394         (WebCore::CSSParser::parseTransform):
2395         (WebCore::CSSParser::parseTransformOrigin):
2396         (WebCore::CSSParser::parsePerspectiveOrigin):
2397         (WebCore::CSSParser::text):
2398         (WebCore::CSSParser::createRuleList):
2399         (WebCore::CSSParser::createVariablesRule):
2400         (WebCore::CSSParser::parseVariable):
2401         (WebCore::CSSParser::parsePropertyWithResolvedVariables):
2402         (WebCore::CSSParser::checkForVariables):
2403         (WebCore::CSSParser::createKeyframeRule):
2404         * css/CSSParser.h:
2405         * inspector/InspectorController.cpp:
2406         (WebCore::InspectorController::setFrontend):
2407         (WebCore::InspectorController::show):
2408         (WebCore::InspectorController::unbindAllResources):
2409         (WebCore::InspectorController::didCommitLoad):
2410         (WebCore::InspectorController::scriptImported):
2411         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
2412         (WebCore::InspectorController::removeBreakpoint):
2413         (WebCore::drawOutlinedQuad):
2414         (WebCore::InspectorController::stopTiming):
2415         * inspector/InspectorDOMAgent.cpp:
2416         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
2417         (WebCore::InspectorDOMAgent::getStyles):
2418         (WebCore::InspectorDOMAgent::applyStyleText):
2419
2420 2010-05-19  Steve Block  <steveblock@google.com>
2421
2422         Reviewed by Nate Chapin.
2423
2424         V8 code generator does not add ENABLE guards around attribute getters and setters
2425         https://bugs.webkit.org/show_bug.cgi?id=39222
2426
2427         No new tests, build fix only.
2428
2429         * bindings/scripts/CodeGeneratorV8.pm:
2430
2431 2010-05-19  Jeremy Orlow  <jorlow@chromium.org>
2432
2433         Unreviewed build fix for Chromium.
2434
2435         * storage/IndexedDatabaseImpl.cpp:
2436
2437 2010-05-17  Jeremy Orlow  <jorlow@chromium.org>
2438
2439         Reviewed by Darin Fisher.
2440
2441         Hook Chromium's WebIndexedDatabaseImpl up to IndexedDatabaseImpl
2442         https://bugs.webkit.org/show_bug.cgi?id=39216
2443
2444         All of these functions are supposed to be passing around the origin since
2445         the caller of IndexedDatabaseImpl might not be able to pass in a Frame*
2446         object.  I tried to fix this in an ealier patch, but obviously messed up.
2447
2448         Also change passing security origin strings to passing SecurityOrigin
2449         objects.
2450
2451         No behavior change because Chromium was emulating the old behavior before
2452         even though the code wasn't properly hooked up.
2453
2454         * storage/IndexedDatabase.h:
2455         * storage/IndexedDatabaseImpl.cpp:
2456         (WebCore::IndexedDatabaseImpl::open):
2457         * storage/IndexedDatabaseImpl.h:
2458         * storage/IndexedDatabaseRequest.cpp:
2459         (WebCore::IndexedDatabaseRequest::open):
2460
2461 2010-05-19  Ben Murdoch  <benm@google.com>
2462
2463         Reviewed by Darin Adler.
2464
2465         Touch events are marked DontEnum in DOMWindow.idl
2466         https://bugs.webkit.org/show_bug.cgi?id=39118
2467
2468         Touch events are the only attribute event listeners on the
2469         window object that are marked DontEnum. For consistency allow
2470         them to be enumerated.
2471
2472         * page/DOMWindow.idl: Remove DontEnum from touchcancel, touchend,
2473             touchstart and touchmove attributes.
2474
2475 2010-05-19  Simon Hausmann  <simon.hausmann@nokia.com>
2476
2477         [Qt] Fix build warning
2478
2479         NamedAttrMap.h has been renamed to NamedNodeMap.h
2480
2481         * WebCore.pro:
2482
2483 2010-05-19  Eric Seidel  <eric@webkit.org>
2484
2485         Reviewed by Adam Barth.
2486
2487         Add an HTML parsing benchmark
2488         https://bugs.webkit.org/show_bug.cgi?id=39338
2489
2490         This benchmark parses the HTML5 specification 10 times and
2491         reports how long it takes.  It does this 21 times, discarding
2492         the first warm-up run, and then prints the average time and
2493         standard deviation.
2494
2495         Sharking the benchmark correctly shows over 60% of the time spent under HTMLTokenizer::write().
2496         The numbers from the benchmark are rather consistent.  On my
2497         Mac Book Pro, I consistently see standard deviations < 2% of total time.
2498
2499         * benchmarks/parser/html-parser.html: Added.
2500         * benchmarks/parser/resources/html5.html: Added.
2501
2502 2010-05-18  Yuzo Fujishima  <yuzo@google.com>
2503
2504         Reviewed by Shinichiro Hamaji.
2505
2506         Make CSS Parser properly handle only-for-pages pseudo-classes.
2507
2508         A new Match category, PagePseudoClass, is introduced to distinguish
2509         only-for-pages pseudo-classes from others. A new symbol, pseudo_page,
2510         is introduced to handle them separately.
2511
2512         https://bugs.webkit.org/show_bug.cgi?id=38731
2513
2514         * css/CSSGrammar.y:
2515         * css/CSSParser.cpp:
2516         (WebCore::CSSParser::createMarginAtRule):
2517         * css/CSSParser.h:
2518         * css/CSSSelector.cpp:
2519         (WebCore::CSSSelector::extractPseudoType):
2520         (WebCore::CSSSelector::selectorText):
2521         * css/CSSSelector.h:
2522         (WebCore::CSSSelector::):
2523         * css/CSSStyleSelector.cpp:
2524         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2525
2526 2010-05-19  Adam Barth  <abarth@webkit.org>
2527
2528         Reviewed by David Hyatt.
2529
2530         Change the API of nextToken to distinguish between emitting a token and just running out of input
2531         https://bugs.webkit.org/show_bug.cgi?id=39349
2532
2533         I'm not sure there's a functional difference with this patch yet, but
2534         as discussed with Eric, we need this to handle attributes.
2535
2536         * html/HTML5Lexer.cpp:
2537         (WebCore::HTML5Lexer::reset):
2538         (WebCore::HTML5Lexer::nextToken):
2539         * html/HTML5Lexer.h:
2540         * html/HTML5Token.h:
2541         (WebCore::HTML5Token::HTML5Token):
2542         (WebCore::HTML5Token::clear):
2543         (WebCore::HTML5Token::beginStartTag):
2544         (WebCore::HTML5Token::beginEndTag):
2545         (WebCore::HTML5Token::beginCharacter):
2546         * html/HTML5Tokenizer.cpp:
2547         (WebCore::HTML5Tokenizer::write):
2548
2549 2010-05-18  Eric Seidel  <eric@webkit.org>
2550
2551         Reviewed by Maciej Stachowiak.
2552
2553         Refactor HTMLTokenizer::write to make it more readable and split out the lexer bits from flow control bits
2554         https://bugs.webkit.org/show_bug.cgi?id=39318
2555
2556         No functional changes, only moving code into smaller functions.
2557
2558         This code is already covered by numerous layout tests.
2559
2560         HTML parsing benchmark shows this to be a wash.
2561
2562         * dom/Tokenizer.h:
2563         * html/HTMLTokenizer.cpp:
2564         (WebCore::HTMLTokenizer::advance):
2565          - New funtion to encapulate code which will move into HTMLLexer eventually.
2566          - Use ALWAYS_INLINE to make sure compilers inline this large
2567            function (otherwise this patch is a regression).
2568         (WebCore::HTMLTokenizer::willWriteHTML):
2569          - New function to handle calling any pre-write delegates.
2570         (WebCore::HTMLTokenizer::didWriteHTML):
2571          - New function to handle calling any post-write delegates.
2572         (WebCore::HTMLTokenizer::write):
2573          - Call the new functions.
2574         * html/HTMLTokenizer.h:
2575
2576 2010-05-18  Adam Barth  <abarth@webkit.org>
2577
2578         Reviewed by Eric Seidel.
2579
2580         Make the HTML5 parser correctly parse <div>Hello</div>
2581         https://bugs.webkit.org/show_bug.cgi?id=39345
2582
2583         Again, this patch is covered by a large number of LayoutTests.
2584
2585         * html/HTML5Lexer.cpp:
2586         (WebCore::HTML5Lexer::HTML5Lexer):
2587         (WebCore::HTML5Lexer::reset):
2588         (WebCore::HTML5Lexer::nextToken):
2589         (WebCore::HTML5Lexer::emitCommentToken):
2590         (WebCore::HTML5Lexer::emitCharacter):
2591         (WebCore::HTML5Lexer::emitCurrentTagToken):
2592         * html/HTML5Lexer.h:
2593         * html/HTML5Token.h:
2594         (WebCore::HTML5Token::beginCharacter):
2595         (WebCore::HTML5Token::appendToCharacter):
2596         (WebCore::HTML5Token::characters):
2597         * html/HTML5Tokenizer.cpp:
2598         (WebCore::convertToOldStyle):
2599
2600 2010-05-18  Adam Barth  <abarth@webkit.org>
2601
2602         Reviewed by Eric Seidel.
2603
2604         Make the HTML5 parser actually parse <div></div>
2605         https://bugs.webkit.org/show_bug.cgi?id=39342
2606
2607         This patch is covered by every LayoutTest.  Yes.  All of them.  :)
2608
2609         * html/HTML5Lexer.cpp:
2610         (WebCore::toLowerCase):
2611         (WebCore::HTML5Lexer::HTML5Lexer):
2612         (WebCore::HTML5Lexer::nextToken):
2613         (WebCore::HTML5Lexer::emitCharacter):
2614         * html/HTML5Lexer.h:
2615         * html/HTML5Token.h:
2616         (WebCore::HTML5Token::HTML5Token):
2617         (WebCore::HTML5Token::beginStartTag):
2618         (WebCore::HTML5Token::beginEndTag):
2619         (WebCore::HTML5Token::appendToName):
2620         (WebCore::HTML5Token::type):
2621         (WebCore::HTML5Token::name):
2622         (WebCore::HTML5Token::selfClosing):
2623         (WebCore::HTML5Token::attrs):
2624         * html/HTML5Tokenizer.cpp:
2625         (WebCore::convertToOldStyle):
2626         (WebCore::HTML5Tokenizer::write):
2627
2628 2010-05-18  Tony Chang  <tony@chromium.org>
2629
2630         Reviewed by Ojan Vafai.
2631
2632         REGRESSION: crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting in an empty li
2633         https://bugs.webkit.org/show_bug.cgi?id=38232
2634
2635         Test: editing/execCommand/crash-indenting-list-item.html
2636
2637         * editing/IndentOutdentCommand.cpp:
2638         (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
2639         (WebCore::IndentOutdentCommand::indentIntoBlockquote):
2640
2641 2010-05-18  Kent Tamura  <tkent@chromium.org>
2642
2643         Reviewed by Darin Adler.
2644
2645         ':optional' pseudo selector should not be applied to <keygen> and <progress>
2646         https://bugs.webkit.org/show_bug.cgi?id=39292
2647
2648         Test: fast/css/pseudo-required-optional-unapplied.html
2649
2650         * html/HTMLKeygenElement.h:
2651         (WebCore::HTMLKeygenElement::isOptionalFormControl):
2652           Add isOptionalFormControl() returning false.
2653           HTMLKeygenElement inherits HTMLSelectElement, which should return true
2654           for isOptionalFormControl(). However, <keygen> is not :optional
2655           according to the standard.
2656         * html/HTMLProgressElement.h:
2657           Remove isOptionalFormControl().
2658
2659 2010-05-18  Adam Barth  <abarth@webkit.org>
2660
2661         Reviewed by Eric Seidel.
2662
2663         Implement the DOCTYPE states for the HTML5 lexer
2664         https://bugs.webkit.org/show_bug.cgi?id=39335
2665
2666         * html/HTML5Lexer.cpp:
2667         (WebCore::HTML5Lexer::nextToken):
2668         (WebCore::emitCurrentDoctypeToken):
2669         * html/HTML5Lexer.h:
2670
2671 2010-05-18  Tony Chang  <tony@chromium.org>
2672
2673         Reviewed by Ojan Vafai.
2674
2675         [chromium] ignore IME events if the keydown event was prevented
2676         https://bugs.webkit.org/show_bug.cgi?id=37692
2677
2678         A manual test to verify the IME behavior since the existing methods of
2679         textInputController test at a lower level than the fix.
2680
2681         * manual-tests/ime-keydown-preventdefault.html: Added.
2682
2683 2010-05-18  Sam Weinig  <sam@webkit.org>
2684
2685         Fix the build for platforms that don't always include UnusedParam.h
2686
2687         * dom/Attribute.cpp:
2688
2689 2010-05-18  MORITA Hajime  <morrita@google.com>
2690
2691         Reviewed by Kent Tamura.
2692
2693         [Chromium] Windows: Determinate progress bar should have glossy overlay
2694         https://bugs.webkit.org/show_bug.cgi?id=39269
2695         
2696         - Moved animation code from RenderThemeChromiumWin to chromium tree
2697           because it should be behind the theme implementation, which lives
2698           in chromium tree.
2699         - Passed current time to the bridge, which will be used to compute
2700           the state of the theme animation.
2701         
2702         No new tests, animation effect can be confirmed only manually.
2703         
2704         * platform/chromium/ChromiumBridge.h:
2705         * rendering/RenderProgress.h:
2706         (WebCore::RenderProgress::animationStartTime): Added.
2707         * rendering/RenderThemeChromiumWin.cpp:
2708         (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
2709         (WebCore::RenderThemeChromiumWin::paintProgressBar):
2710
2711 2010-05-18  Sam Weinig  <sam@webkit.org>
2712
2713         Fix release build.
2714
2715         * dom/Attribute.cpp:
2716         (WebCore::Attribute::unbindAttr):
2717
2718 2010-05-18  Sam Weinig  <sam@webkit.org>
2719
2720         Reviewed by Maciej Stachowiak.
2721
2722         Move Attr pointer from Attribute to a global HashMap.
2723         https://bugs.webkit.org/show_bug.cgi?id=39337
2724         <rdar://problem/8001168>
2725
2726         Shaves another word off of Attribute.
2727
2728         * dom/Attr.cpp:
2729         (WebCore::Attr::Attr):
2730         (WebCore::Attr::~Attr):
2731         * dom/Attribute.cpp:
2732         (WebCore::attributeAttrMap):
2733         (WebCore::Attribute::attr):
2734         (WebCore::Attribute::createAttrIfNeeded):
2735         (WebCore::Attribute::bindAttr):
2736         (WebCore::Attribute::unbindAttr):
2737         * dom/Attribute.h:
2738         (WebCore::Attribute::Attribute):
2739
2740 2010-05-18  Jakob Petsovits  <jpetsovits@rim.com>
2741
2742         Unreviewed, forgot to svn add source file in r59619.
2743         http://trac.webkit.org/changeset/59619
2744
2745         * platform/image-decoders/openvg: Added.
2746         * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added.
2747         (WebCore::RGBA32Buffer::asNewNativeImage):
2748
2749 2010-05-18  Yaar Schnitman  <yaar@chromium.org>
2750
2751         Unreviewed, rolling out r59693.
2752         http://trac.webkit.org/changeset/59693
2753         https://bugs.webkit.org/show_bug.cgi?id=37815
2754
2755         Broke GTK Release
2756
2757         * Android.jscbindings.mk:
2758         * CMakeLists.txt:
2759         * GNUmakefile.am:
2760         * WebCore.gypi:
2761         * WebCore.pro:
2762         * WebCore.vcproj/WebCore.vcproj:
2763         * WebCore.xcodeproj/project.pbxproj:
2764         * bindings/js/JSBindingsAllInOne.cpp:
2765         * bindings/js/JSCallbackData.cpp:
2766         (WebCore::JSCallbackData::invokeCallback):
2767         * bindings/js/JSEventListener.cpp:
2768         (WebCore::JSEventListener::handleEvent):
2769         * bindings/js/JSInjectedScriptHostCustom.cpp:
2770         (WebCore::InjectedScriptHost::createInjectedScript):
2771         * bindings/js/JSMainThreadExecState.cpp: Removed.
2772         * bindings/js/JSMainThreadExecState.h: Removed.
2773         * bindings/js/ScheduledAction.cpp:
2774         (WebCore::ScheduledAction::executeFunctionInContext):
2775         (WebCore::ScheduledAction::execute):
2776         * bindings/js/ScheduledAction.h:
2777         * bindings/js/ScriptController.cpp:
2778         (WebCore::ScriptController::evaluateInWorld):
2779         * bindings/js/ScriptController.h:
2780         * bindings/js/ScriptFunctionCall.cpp:
2781         (WebCore::ScriptFunctionCall::call):
2782         * bindings/objc/ObjCEventListener.mm:
2783         * bindings/objc/WebScriptObject.mm:
2784         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2785         (-[WebScriptObject evaluateWebScript:]):
2786         * bindings/scripts/CodeGeneratorObjC.pm:
2787         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2788         (-[DOMTestCallback callbackWithClass1Param:]):
2789         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
2790         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
2791         (-[DOMTestCallback customCallback:class6Param:]):
2792         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
2793         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2794         (-[DOMTestObj readOnlyIntAttr]):
2795         (-[DOMTestObj readOnlyStringAttr]):
2796         (-[DOMTestObj readOnlyTestObjAttr]):
2797         (-[DOMTestObj intAttr]):
2798         (-[DOMTestObj setIntAttr:]):
2799         (-[DOMTestObj longLongAttr]):
2800         (-[DOMTestObj setLongLongAttr:]):
2801         (-[DOMTestObj unsignedLongLongAttr]):
2802         (-[DOMTestObj setUnsignedLongLongAttr:]):
2803         (-[DOMTestObj stringAttr]):
2804         (-[DOMTestObj setStringAttr:]):
2805         (-[DOMTestObj testObjAttr]):
2806         (-[DOMTestObj setTestObjAttr:]):
2807         (-[DOMTestObj attrWithException]):
2808         (-[DOMTestObj setAttrWithException:]):
2809         (-[DOMTestObj attrWithSetterException]):
2810         (-[DOMTestObj setAttrWithSetterException:]):
2811         (-[DOMTestObj attrWithGetterException]):
2812         (-[DOMTestObj setAttrWithGetterException:]):
2813         (-[DOMTestObj customAttr]):
2814         (-[DOMTestObj setCustomAttr:]):
2815         (-[DOMTestObj scriptStringAttr]):
2816         (-[DOMTestObj voidMethod]):
2817         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
2818         (-[DOMTestObj intMethod]):
2819         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
2820         (-[DOMTestObj objMethod]):
2821         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
2822         (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
2823         (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
2824         (-[DOMTestObj serializedValue:]):
2825         (-[DOMTestObj methodWithException]):
2826         (-[DOMTestObj customMethod]):
2827         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
2828         (-[DOMTestObj customArgsAndException:]):
2829         (-[DOMTestObj addEventListener:listener:useCapture:]):
2830         (-[DOMTestObj removeEventListener:listener:useCapture:]):
2831         (-[DOMTestObj withDynamicFrame]):
2832         (-[DOMTestObj withDynamicFrameAndArg:]):
2833         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
2834         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
2835         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
2836         (-[DOMTestObj withScriptStateVoid]):
2837         (-[DOMTestObj withScriptStateObj]):
2838         (-[DOMTestObj withScriptStateVoidException]):
2839         (-[DOMTestObj withScriptStateObjException]):
2840         (-[DOMTestObj methodWithOptionalArg:]):
2841         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
2842         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
2843         * bindings/v8/ScriptController.cpp:
2844         * bindings/v8/ScriptController.h:
2845         * html/HTMLFrameElementBase.cpp:
2846         (WebCore::HTMLFrameElementBase::isURLAllowed):
2847
2848 2010-05-18  Adam Barth  <abarth@webkit.org>
2849
2850         Reviewed by Eric Seidel.
2851
2852         Implement comment states for HTML5 lexer
2853         https://bugs.webkit.org/show_bug.cgi?id=39334
2854
2855         * html/HTML5Lexer.cpp:
2856         (WebCore::HTML5Lexer::nextToken):
2857
2858 2010-05-18  Anders Carlsson  <andersca@apple.com>
2859
2860         Reviewed by Sam Weinig.
2861
2862         Move all member variables from MappedAttribute to Attribute.
2863         https://bugs.webkit.org/show_bug.cgi?id=39336
2864         <rdar://problem/8000853>
2865
2866         This saves one word because we no longer have any virtual member functions in Attribute, and
2867         thus no vtable pointer.
2868         
2869         I plan to remove MappedAttribute altogether in a subsequent commit.
2870
2871         * Android.mk:
2872         * GNUmakefile.am:
2873         * WebCore.gypi:
2874         * WebCore.pro:
2875         * WebCore.vcproj/WebCore.vcproj:
2876         * WebCore.xcodeproj/project.pbxproj:
2877         * css/CSSStyleSelector.cpp:
2878         (WebCore::CSSStyleSelector::styleForElement):
2879         * dom/Attribute.cpp:
2880         (WebCore::Attribute::clone):
2881         * dom/Attribute.h:
2882         (WebCore::Attribute::create):
2883         (WebCore::Attribute::style):
2884         (WebCore::Attribute::decl):
2885         (WebCore::Attribute::setDecl):
2886         (WebCore::Attribute::isMappedAttribute):
2887         (WebCore::Attribute::Attribute):
2888         * dom/MappedAttribute.cpp: Removed.
2889         * dom/MappedAttribute.h:
2890         (WebCore::MappedAttribute::create):
2891         (WebCore::MappedAttribute::MappedAttribute):
2892         (WebCore::toMappedAttribute):
2893         * dom/NamedMappedAttrMap.cpp:
2894         (WebCore::NamedMappedAttrMap::declCount):
2895         (WebCore::NamedMappedAttrMap::mapsEquivalent):
2896         * dom/StyledElement.cpp:
2897         (WebCore::StyledElement::attributeChanged):
2898         * svg/SVGSVGElement.cpp:
2899         (WebCore::updateCSSForAttribute):
2900         * svg/SVGStyledElement.cpp:
2901         (WebCore::SVGStyledElement::getPresentationAttribute):
2902
2903 2010-05-18  Tony Chang  <tony@chromium.org>
2904
2905         Reviewed by Darin Adler.
2906
2907         https://bugs.webkit.org/show_bug.cgi?id=24943
2908         Command-B and Command-I do not generate keydown events in contentEditable regions.
2909
2910         * manual-tests/style-keypress-events.html: Added.
2911
2912 2010-05-18  Adam Barth  <abarth@webkit.org>
2913
2914         Reviewed by Eric Seidel.
2915
2916         Add more state to the HTML5 lexer
2917         https://bugs.webkit.org/show_bug.cgi?id=39333
2918
2919         This code is just transliteration from the spec.
2920
2921         * html/HTML5Lexer.cpp:
2922         (WebCore::HTML5Lexer::HTML5Lexer):
2923         (WebCore::HTML5Lexer::nextToken):
2924         * html/HTML5Lexer.h:
2925
2926 2010-05-18  Adam Barth  <abarth@webkit.org>
2927
2928         Reviewed by Eric Seidel.
2929
2930         Implement two more lexer states
2931         https://bugs.webkit.org/show_bug.cgi?id=39298
2932
2933         No tests because Eric is still working on wiring up the lexer to the
2934         test harness.
2935
2936         * html/HTML5Lexer.cpp:
2937         (WebCore::HTML5Lexer::nextToken):
2938         (WebCore::HTML5Lexer::emitParseError):
2939         (WebCore::HTML5Lexer::emitCurrentTagToken):
2940         * html/HTML5Lexer.h:
2941
2942 2010-05-18  Brady Eidson  <beidson@apple.com>
2943
2944         Reviewed by Maciej Stachowiak.
2945
2946         Repro crash with many Google image search results
2947         <rdar://problem/7685669> and https://bugs.webkit.org/show_bug.cgi?id=39323
2948
2949         When an iframe has a plugin resource as its src, that case bypassed the plugin sandboxing checks and continued to load
2950         the data for the plugin resource. It handed that data off to a nonexistent Widget, causing a null deref and the crash.
2951
2952         By replacing PluginDocuments in sandboxes iframes with a new "SinkDocument" that just acts as a data sink, we prevent the
2953         crash and also prevent actually loading the plugin binaries.
2954
2955         I filed https://bugs.webkit.org/show_bug.cgi?id=39330 to follow up and let us cancel the load as soon as we know we should.
2956
2957         Test: fast/loader/sandboxed-plugin-crash.html
2958
2959         * CMakeLists.txt:
2960         * GNUmakefile.am:
2961         * WebCore.gypi:
2962         * WebCore.pro:
2963         * WebCore.vcproj/WebCore.vcproj:
2964         * WebCore.xcodeproj/project.pbxproj:
2965
2966         * loader/DocumentWriter.cpp:
2967         (WebCore::DocumentWriter::begin): If the created document is a PluginDocument and the plugin sandbox flag is set,
2968           replace it with a SinkDocument.
2969
2970         * loader/PluginDocument.h:
2971         (WebCore::PluginDocument::isPluginDocument): Make public (it was already public at the Document.h level).
2972
2973         Add a simple document/tokenizer pair that simply presents a blank HTML document and acts as a data sink for whatever
2974         data is handed to it:
2975         * loader/SinkDocument.cpp: Added.
2976         (WebCore::SinkTokenizer::SinkTokenizer):
2977         (WebCore::SinkTokenizer::write):
2978         (WebCore::SinkTokenizer::isWaitingForScripts):
2979         (WebCore::SinkTokenizer::wantsRawData):
2980         (WebCore::SinkTokenizer::writeRawData):
2981         (WebCore::SinkTokenizer::stopParsing):
2982         (WebCore::SinkTokenizer::finish):
2983         (WebCore::SinkDocument::SinkDocument):
2984         (WebCore::SinkDocument::createTokenizer):
2985         * loader/SinkDocument.h: Added.
2986         (WebCore::SinkDocument::create):
2987
2988 2010-05-18  Sam Weinig  <sam@webkit.org>
2989
2990         Reviewed by Anders Carlsson.
2991
2992         https://bugs.webkit.org/show_bug.cgi?id=39321
2993         Reduce the size of ListHashSets used by Document
2994         <rdar://problem/7999388>
2995
2996         Reduce Membuster peak memory usage by ~450K by reducing the pool sizes
2997         of the ListHashSets used by Document.
2998
2999         * dom/Document.cpp:
3000         (WebCore::Document::addStyleSheetCandidateNode):
3001         (WebCore::Document::recalcStyleSelector):
3002         * dom/Document.h:
3003
3004 2010-05-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3005
3006         Rubberstamped by Simon Hausmann.
3007
3008         Return null when creating an ImageBuffer failed, due to for
3009         instance a nulled pixmap.
3010
3011         * platform/graphics/qt/ImageBufferQt.cpp:
3012         (WebCore::ImageBufferData::ImageBufferData):
3013         (WebCore::ImageBuffer::ImageBuffer):
3014
3015 2010-05-18  Jian Li  <jianli@chromium.org>
3016
3017         Reviewed by Dmitry Titov.
3018
3019         Fix bug 39285: fast/files/file-reader.html is timing out on all mac bots.
3020         https://bugs.webkit.org/show_bug.cgi?id=39285
3021
3022         The timeout is caused by 59659 that changed the GC timer to 0 and thus
3023         triggered a bug in FileReader code. The fix is to add more states so
3024         that hasPendingActivity() can do the check correctly.
3025
3026         * html/FileReader.cpp:
3027         (WebCore::FileReader::FileReader):
3028         (WebCore::FileReader::hasPendingActivity):
3029         (WebCore::FileReader::readInternal):
3030         (WebCore::FileReader::terminate):
3031         (WebCore::FileReader::didStart):
3032         (WebCore::FileReader::didGetSize):
3033         (WebCore::FileReader::didRead):
3034         (WebCore::FileReader::didFinish):
3035         (WebCore::FileReader::didFail):
3036         (WebCore::FileReader::readyState):
3037         (WebCore::FileReader::result):
3038         * html/FileReader.h:
3039         (WebCore::FileReader::):
3040
3041 2010-05-18  Simon Fraser  <simon.fraser@apple.com>
3042
3043         Reviewed by Darin Adler.
3044
3045         Clean up GraphicsLayer naming code
3046         https://bugs.webkit.org/show_bug.cgi?id=39316
3047
3048         Move code that generates a name for the GraphicsLayer (used in debug builds only) into
3049         a new nameForLayer() method. Use it when naming the foreground layer.
3050
3051         * rendering/RenderLayerBacking.cpp:
3052         (WebCore::RenderLayerBacking::createGraphicsLayer):
3053         (WebCore::RenderLayerBacking::updateForegroundLayer):
3054         (WebCore::RenderLayerBacking::nameForLayer):
3055         * rendering/RenderLayerBacking.h:
3056
3057 2010-05-18  Justin Schuh  <jschuh@chromium.org>
3058
3059         Reviewed by Adam Barth.
3060
3061         Moving frame.src checks out of the bindings
3062         https://bugs.webkit.org/show_bug.cgi?id=37815
3063
3064         Moved JavaScript frame.src checks out of bindings and into
3065         HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
3066         so ExecState is available inside core DOM. Updated affected bindings
3067         (except for GObject, which will need to be updated to avoid origin
3068         failures inside native code).
3069
3070         * Android.jscbindings.mk:
3071         * CMakeLists.txt:
3072         * GNUmakefile.am:
3073         * WebCore.gypi:
3074         * WebCore.pro:
3075         * WebCore.vcproj/WebCore.vcproj:
3076         * WebCore.xcodeproj/project.pbxproj:
3077         * bindings/js/JSBindingsAllInOne.cpp:
3078         * bindings/js/JSCallbackData.cpp:
3079         (WebCore::JSCallbackData::invokeCallback):
3080         * bindings/js/JSEventListener.cpp:
3081         (WebCore::JSEventListener::handleEvent):
3082         * bindings/js/JSInjectedScriptHostCustom.cpp:
3083         (WebCore::InjectedScriptHost::createInjectedScript):
3084         * bindings/js/JSMainThreadExecState.cpp: Added.
3085         * bindings/js/JSMainThreadExecState.h: Added.
3086         (WebCore::JSMainThreadExecState::currentState):
3087         (WebCore::JSMainThreadExecState::call):
3088         (WebCore::JSMainThreadExecState::evaluate):
3089         (WebCore::JSMainThreadExecState::JSMainThreadExecState):
3090         (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
3091         (WebCore::JSMainThreadNullState::JSMainThreadNullState):
3092         * bindings/js/ScheduledAction.cpp:
3093         (WebCore::ScheduledAction::executeFunctionInContext):
3094         (WebCore::ScheduledAction::execute):
3095         * bindings/js/ScheduledAction.h:
3096         * bindings/js/ScriptController.cpp:
3097         (WebCore::ScriptController::evaluateInWorld):
3098         (WebCore::ScriptController::canAccessFromCurrentOrigin):
3099         * bindings/js/ScriptController.h:
3100         * bindings/js/ScriptFunctionCall.cpp:
3101         (WebCore::ScriptFunctionCall::call):
3102         * bindings/objc/ObjCEventListener.mm:
3103         * bindings/objc/WebScriptObject.mm:
3104         (-[WebScriptObject callWebScriptMethod:withArguments:]):
3105         (-[WebScriptObject evaluateWebScript:]):
3106         * bindings/scripts/CodeGeneratorObjC.pm:
3107         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
3108         (-[DOMTestCallback callbackWithClass1Param:]):
3109         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
3110         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
3111         (-[DOMTestCallback customCallback:class6Param:]):
3112         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
3113         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3114         (-[DOMTestObj readOnlyIntAttr]):
3115         (-[DOMTestObj readOnlyStringAttr]):
3116         (-[DOMTestObj readOnlyTestObjAttr]):
3117         (-[DOMTestObj intAttr]):
3118         (-[DOMTestObj setIntAttr:]):
3119         (-[DOMTestObj longLongAttr]):
3120         (-[DOMTestObj setLongLongAttr:]):
3121         (-[DOMTestObj unsignedLongLongAttr]):
3122         (-[DOMTestObj setUnsignedLongLongAttr:]):
3123         (-[DOMTestObj stringAttr]):
3124         (-[DOMTestObj setStringAttr:]):
3125         (-[DOMTestObj testObjAttr]):
3126         (-[DOMTestObj setTestObjAttr:]):
3127         (-[DOMTestObj attrWithException]):
3128         (-[DOMTestObj setAttrWithException:]):
3129         (-[DOMTestObj attrWithSetterException]):
3130         (-[DOMTestObj setAttrWithSetterException:]):
3131         (-[DOMTestObj attrWithGetterException]):
3132         (-[DOMTestObj setAttrWithGetterException:]):
3133         (-[DOMTestObj customAttr]):
3134         (-[DOMTestObj setCustomAttr:]):
3135         (-[DOMTestObj scriptStringAttr]):
3136         (-[DOMTestObj voidMethod]):
3137         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
3138         (-[DOMTestObj intMethod]):
3139         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
3140         (-[DOMTestObj objMethod]):
3141         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
3142         (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
3143         (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
3144         (-[DOMTestObj serializedValue:]):
3145         (-[DOMTestObj methodWithException]):
3146         (-[DOMTestObj customMethod]):
3147         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
3148         (-[DOMTestObj customArgsAndException:]):
3149         (-[DOMTestObj addEventListener:listener:useCapture:]):
3150         (-[DOMTestObj removeEventListener:listener:useCapture:]):
3151         (-[DOMTestObj withDynamicFrame]):
3152         (-[DOMTestObj withDynamicFrameAndArg:]):
3153         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
3154         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
3155         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
3156         (-[DOMTestObj withScriptStateVoid]):
3157         (-[DOMTestObj withScriptStateObj]):
3158         (-[DOMTestObj withScriptStateVoidException]):
3159         (-[DOMTestObj withScriptStateObjException]):
3160         (-[DOMTestObj methodWithOptionalArg:]):
3161         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
3162         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
3163         * bindings/v8/ScriptController.cpp:
3164         (WebCore::ScriptController::canAccessFromCurrentOrigin):
3165         * bindings/v8/ScriptController.h:
3166         * html/HTMLFrameElementBase.cpp:
3167         (WebCore::HTMLFrameElementBase::isURLAllowed):
3168
3169 2010-05-18  Drew Wilson  <atwilson@chromium.org>
3170
3171         Unreviewed: Speculative build fix for Chromium win.
3172
3173         * platform/graphics/skia/SkiaFontWin.cpp: Properly set inlineCapacity.
3174
3175 2010-05-18  Drew Wilson  <atwilson@chromium.org>
3176
3177         Unreviewed fix for Chromium build break.
3178
3179         * platform/graphics/skia/SkiaFontWin.cpp: Now set inlineCapacity param.
3180
3181 2010-05-18  Daniel Cheng  <dcheng@chromium.org>
3182
3183         Reviewed by Darin Adler, Jian Li.
3184
3185         DragData::asURL() shouldn't do file validity checks
3186         https://bugs.webkit.org/show_bug.cgi?id=38711
3187
3188         There's no point to trying to make sure the file is valid in
3189         DragData::asURL(). It's better to ask for forgiveness than to ask for
3190         permission, since asking for permission is prone to race conditions
3191         and results in unnecessary I/O.  Consumers of this function either:
3192         - need to verify the file exists themselves (e.g. the loader)
3193         - don't care about file validity (rich text drag-and-drop)
3194
3195         * platform/chromium/DragDataChromium.cpp:
3196         (WebCore::DragData::asURL):
3197
3198 2010-05-18  Timothy Hatcher  <timothy@apple.com>
3199
3200         Fix a handful of various localization issues in the Web Inspector.
3201
3202         * Localize strings that where not localized.
3203         * Make WebInspector.UIString work without bind.
3204         * Always pass WebInspector.UIString to Number.secondsToString and Number.bytesToString.
3205         * Never pass a variable to WebInspector.UIString, since that prevents auto-generation.
3206         * Use an ellipsis instead of three periods.
3207
3208         https://webkit.org/b/39303
3209         rdar://problem/7997101
3210
3211         Reviewed by Adam Roben.
3212
3213         * English.lproj/localizedStrings.js:
3214         * inspector/front-end/AuditRules.js:
3215         (WebInspector.AuditRules.GzipRule.prototype.doRun):
3216         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
3217         (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
3218         * inspector/front-end/ConsoleView.js:
3219         (WebInspector.ConsoleView):
3220         * inspector/front-end/ImageView.js:
3221         (WebInspector.ImageView.prototype.contentTabSelected):
3222         * inspector/front-end/ProfileDataGridTree.js:
3223         (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
3224         (WebInspector.ProfileDataGridNode.prototype.get data):
3225         * inspector/front-end/ResourcesPanel.js:
3226         (WebInspector.ResourceTimeCalculator.prototype.formatValue):
3227         (WebInspector.ResourceTransferTimeCalculator.prototype.formatValue):
3228         (WebInspector.ResourceTransferDurationCalculator.prototype.formatValue):
3229         (WebInspector.ResourceTransferSizeCalculator.prototype.formatValue):
3230         * inspector/front-end/ScriptsPanel.js:
3231         (WebInspector.ScriptsPanel.prototype._registerShortcuts):
3232         * inspector/front-end/SourceFrame.js:
3233         (WebInspector.SourceFrame.prototype._contextMenu):
3234         * inspector/front-end/TimelineOverviewPane.js:
3235         (WebInspector.TimelineOverviewCalculator):
3236         (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
3237         * inspector/front-end/TimelinePanel.js:
3238         (WebInspector.TimelinePanel):
3239         (WebInspector.TimelineCalculator):
3240         (WebInspector.TimelineCalculator.prototype.formatValue):
3241         (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
3242         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
3243         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
3244         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow):
3245         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
3246         * inspector/front-end/inspector.js:
3247         (WebInspector.loaded):
3248         (WebInspector.setRecordingProfile):
3249         (WebInspector.UIString):
3250
3251 2010-05-18  Sam Weinig  <sam@webkit.org>
3252
3253         Another attempt to fix the build.
3254
3255         * css/CSSCursorImageValue.cpp:
3256
3257 2010-05-18  Adam Roben  <aroben@apple.com>
3258
3259         Make accelerated compositing work on machines that don't support
3260         hardware vertex processing
3261
3262         Fixes <http://webkit.org/b/39299> <rdar://problem/7997692> Accelerated
3263         compositing on Windows doesn't work on machines that don't support
3264         hardware vertex processing, but should
3265
3266         Reviewed by Eric Carlson.
3267
3268         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3269         (WebCore::WKCACFLayerRenderer::createRenderer): Query the device
3270         capabilities to decide whether to request hardware or software vertex
3271         processing.
3272
3273 2010-05-18  Adam Roben  <aroben@apple.com>
3274
3275         Make WKCACFLayerRenderer robust against temporary failure of
3276         Direct3DCreate9 and IDirect3D9::CreateDevice
3277
3278         For a short time after waking from sleep, Direct3DCreate9() will
3279         return an IDirect3D9 for which IDirect3D9::CreateDevice will always
3280         fail. Also during this time period, IDirect3D9::CreateDevice
3281         will fail even for non-bad IDirect3D9s. (It will later start
3282         succeeding.) WKCACFLayerRenderer now works around this behavior by
3283         detecting when it might be in this situation and calling these
3284         functions again later.
3285
3286         Fixes <http://webkit.org/b/39297> <rdar://problem/7997431> WebView
3287         doesn't repaint until page reloads when page using hardware
3288         acceleration loads just after waking from sleep
3289
3290         Reviewed by John Sullivan.
3291
3292         * manual-tests/crash-and-no-repaint-after-wake-from-sleep.html:
3293         Renamed from WebCore/manual-tests/crash-after-wake-from-sleep.html.
3294         Modified to also include instructions for reproducing this bug.
3295
3296         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3297         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Replaced
3298         m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater. The
3299         new member is initialized to true, since we haven't even tried to
3300         create a device once yet.
3301         (WebCore::WKCACFLayerRenderer::createRenderer): If we already have a
3302         D3D device, or we don't have one and are sure that we won't be able to
3303         create one later, just return the previously-created device, if any.
3304         We assume that we won't be able to create a device later if this
3305         function fails, unless the function fails due to CreateDevice failing.
3306         As noted above, CreateDevice will sometimes temporarily fail and then
3307         later start working again. When CreateDevice fails, we also assume
3308         that we might have a bad IDirect3D9, so we get rid of the one we have
3309         so a new (and hopefully non-bad) one will be allocated later.
3310         (WebCore::WKCACFLayerRenderer::destroyRenderer): Reset
3311         m_mightBeAbleToCreateDeviceLater to true, since we no longer have a
3312         device.
3313         (WebCore::WKCACFLayerRenderer::paint): Before trying to paint, try to
3314         create our D3D device and renderer. If this fails, we bail out, but if
3315         we think we might be able to create a device later we schedule another
3316         paint (via renderSoon()) so that we'll try again soon.
3317
3318         * platform/graphics/win/WKCACFLayerRenderer.h: Replaced
3319         m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater.
3320
3321 2010-05-18  Adam Roben  <aroben@apple.com>
3322
3323         Fix a crash when a page that uses accelerated compositing loads soon
3324         after the computer wakes from sleep
3325
3326         The set-up:
3327
3328         For a short time after waking from sleep, IDirect3D9::CreateDevice
3329         will fail. This caused WKCACFLayerRenderer::createRenderer to fail,
3330         and meant that WKCACFLayerRenderer never allocated a root layer.
3331         WebView wouldn't notice that createRenderer failed, and would go ahead
3332         and try to use the root layer anyway, resulting in a crash.
3333
3334         The fix:
3335
3336         We now allocate the root layer (and all the other members of
3337         WKCACFLayerRenderer that aren't dependent on having an
3338         IDirect3DDevice9) in WKCACFLayerRenderer's constructor. This way the
3339         layers will always be present, even when creating the D3D device
3340         fails.
3341
3342         There are two remaining problems:
3343           1) This results in slightly more memory usage in the case where
3344              CreateDevice fails.
3345           2) Once we get into this bad state, the WebView doesn't repaint
3346              until we navigate somewhere else.
3347
3348         (2) is covered by
3349         <http://webkit.org/b/39297>/<rdar://problem/7997431>. We'll fix it by
3350         retrying CreateDevice later in hopes that it will succeed after more
3351         time has passed. This will in turn fix (1). (We should never end up in
3352         a case where CreateDevice fails forever because we already did some
3353         preliminary checks in acceleratedCompositingAvailable().)
3354
3355         Fixes <http://webkit.org/b/39295> <rdar://problem/7971319> Crash
3356         (preceded by assertion) in WKCACFLayerRenderer::setNeedsDisplay when
3357         computer wakes from sleep on particular page
3358
3359         Reviewed by John Sullivan.
3360
3361         * manual-tests/crash-after-wake-from-sleep.html: Added. This
3362         is the Poster Circle demo from webkit.org/blog, but modified to
3363         automatically reload every 5 seconds and with instructions to put the
3364         computer to sleep and wake it up again.
3365
3366         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3367         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Moved code to
3368         initialize m_context, m_renderContext, and m_*Layer here...
3369         (WebCore::WKCACFLayerRenderer::createRenderer): ...from here.
3370
3371 2010-05-18  Adam Roben  <aroben@apple.com>
3372
3373         Remove an unused member variable from WKCACFLayerRenderer
3374
3375         Rubber-stamped by Ada Chan.
3376
3377         * platform/graphics/win/WKCACFLayerRenderer.h: Removed m_viewLayer,
3378         which is unused.
3379
3380 2010-05-18  Anders Carlsson  <andersca@apple.com>
3381
3382         Reviewed by Sam Weinig.
3383
3384         Allocate the m_preloads list hash set dynamically and free it when done.
3385         https://bugs.webkit.org/show_bug.cgi?id=39309
3386         <rdar://problem/7998495>
3387
3388         This saves about 6000 bytes on a fully loaded document.
3389
3390         * loader/DocLoader.cpp:
3391         (WebCore::DocLoader::requestPreload):
3392         (WebCore::DocLoader::clearPreloads):
3393         * loader/DocLoader.h:
3394
3395 2010-05-18  Anders Carlsson  <andersca@apple.com>
3396
3397         Revert unintended indentation and unnecessary nested name specifier.
3398
3399         * rendering/RenderBlock.cpp:
3400         (WebCore::clipOutPositionedObjects):
3401         (WebCore::RenderBlock::insertPositionedObject):
3402
3403 2010-05-18  Anders Carlsson  <andersca@apple.com>
3404
3405         Reviewed by Sam Weinig.
3406
3407         Add an inlineCapacity template parameter to ListHashSet and use it to shrink the positioned object list hash set.
3408         https://bugs.webkit.org/show_bug.cgi?id=39304
3409         <rdar://problem/7998366>
3410
3411         Set the inlineCapacity for the positionedObjects ListHashSet to 4 instead of 256. Since a RenderBlock usually has 
3412         few positioned objects, this saves memory.
3413
3414         * WebCore.base.exp:
3415         * rendering/RenderBlock.cpp:
3416         (WebCore::clipOutPositionedObjects):
3417         (WebCore::RenderBlock::insertPositionedObject):
3418         * rendering/RenderBlock.h:
3419         (WebCore::RenderBlock::positionedObjects):
3420
3421 2010-05-17  Sam Weinig  <sam@webkit.org>
3422
3423         Reviewed by Darin Adler.
3424
3425         https://bugs.webkit.org/show_bug.cgi?id=39258
3426         Remove NamedAttrMap residual gunk
3427
3428         Replace NamedAttrMap.h/cpp with NamedNodeMap.h/cpp which was the class
3429         it contained.
3430
3431         * CMakeLists.txt:
3432         * GNUmakefile.am:
3433         * WebCore.gypi:
3434         * WebCore.pro:
3435         * WebCore.vcproj/WebCore.vcproj:
3436         * WebCore.xcodeproj/project.pbxproj:
3437         * bindings/v8/custom/V8NamedNodesCollection.cpp:
3438         * dom/NamedAttrMap.cpp: Removed.
3439         * dom/NamedAttrMap.h: Removed.
3440         * dom/NamedNodeMap.cpp: Copied from dom/NamedAttrMap.cpp.
3441         * dom/NamedNodeMap.h: Replaced with dom/NamedAttrMap.h.
3442         * editing/ReplaceNodeWithSpanCommand.cpp:
3443         * platform/chromium/ClipboardChromium.cpp:
3444
3445 2010-05-18  Brady Eidson  <beidson@apple.com>
3446
3447         Reviewed by Eric Carlson.
3448
3449         <rdar://problem/7993468> REGRESSION (r58586): Audio doesn't play on first click of play button at NPR.org
3450
3451         NPR swallows the first mouse click on the play button, calls load() on the element, then waits for the
3452         canplay event to come in before calling play itself.
3453
3454         After the site specific hack added in r58586, we disallowed play() from within the canplay event handler.
3455         By tracking whether a load() was triggered by a user gesture, we can differentiate between the original
3456         canplay event that we meant to ignore and the one resulting from the first mouse click which we want to honor.
3457         
3458         No new tests. (Currently no way to test such site specific hack behavior)
3459
3460         * html/HTMLMediaElement.cpp:
3461         (WebCore::HTMLMediaElement::HTMLMediaElement):
3462         (WebCore::HTMLMediaElement::load): Set the m_loadInitiatedByUserGesture flag
3463         (WebCore::HTMLMediaElement::play): Only apply the site specific hack if the load wasn't initiated by a user gesture.
3464         * html/HTMLMediaElement.h:
3465
3466 2010-05-18  Jakob Petsovits  <jpetsovits@rim.com>
3467
3468         Reviewed by Dirk Schulze.
3469
3470         [OpenVG] Fix stupid build errors from the OpenVG Path commit
3471         https://bugs.webkit.org/show_bug.cgi?id=39228
3472
3473         * platform/graphics/openvg/PainterOpenVG.cpp:
3474         (WebCore::PainterOpenVG::clipPath):
3475         * platform/graphics/openvg/PathOpenVG.cpp:
3476         (WebCore::Path::transform):
3477
3478 2010-05-18  Chris Jerdonek  <cjerdonek@webkit.org>
3479
3480         Reviewed by Darin Adler.
3481
3482         Refactored FrameLoader::isDocumentSandboxed() from a private member function
3483         to a static, non-member, non-friend function.
3484
3485         https://bugs.webkit.org/show_bug.cgi?id=39157
3486
3487         Making this function non-private lets us make FrameLoader::createWindow()
3488         a non-member function in a subsequent patch.  We also made it non-member
3489         rather than member to increase encapsulation and limit the number of
3490         public functions with access to private FrameLoader data.
3491
3492         No new functionality, so no new tests.
3493
3494         * loader/FrameLoader.cpp:
3495         (WebCore::isDocumentSandboxed):
3496           - Moved this function from a private member function of FrameLoader
3497             to a static, non-member, non-friend function.
3498         (WebCore::FrameLoader::createWindow):
3499           - Updated the call to isDocumentSandboxed().
3500         (WebCore::FrameLoader::submitForm):
3501           - Updated the call to isDocumentSandboxed().
3502         (WebCore::FrameLoader::requestObject):
3503           - Updated the call to isDocumentSandboxed().
3504         (WebCore::FrameLoader::shouldAllowNavigation):
3505           - Updated the call to isDocumentSandboxed().
3506         * loader/FrameLoader.h:
3507           - Removed isDocumentSandboxed() and added a FIXME to move
3508             createWindow() out of the FrameLoader class.
3509
3510 2010-05-08  Robert Hogan  <robert@roberthogan.net>
3511
3512         Reviewed by Simon Hausmann.
3513
3514         [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
3515              and http/tests/xmlhttprequest/cross-origin-authorization.html
3516
3517         QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
3518         without knowing if this is valid behaviour or not. In order to allow
3519         Qt to decide whether Cookie/Authorization headers should be added
3520         to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
3521         These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
3522         QNetworkRequest::CookieSaveControlAttribute,and
3523         QNetworkRequest::AuthenticationReuseControlAttribute.
3524
3525         QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false
3526         unless withCredentials is set to true in the XHR.
3527
3528         QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials
3529         is set to true in the XHR.
3530
3531         Qt will pass the values onto QHttpNetworkRequest and this will permit
3532         the Qt network access processing to decide whether or not to add either
3533         or both of the Cookie/Authorisation headers, and whether to save cookies
3534         returned from such requests. By default the attribute
3535         will always be true so unless QtWebKit sets it to false normal
3536         header processing is unaffected.
3537
3538         The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592
3539
3540         https://bugs.webkit.org/show_bug.cgi?id=32967
3541
3542         * platform/network/qt/ResourceRequestQt.cpp:
3543         (WebCore::ResourceRequest::toNetworkRequest):
3544
3545 2010-05-18  Zoltan Herczeg  <zherczeg@webkit.org>
3546
3547         Reviewed by Kenneth Rohde Christiansen.
3548
3549         [Qt] Implementing clipToImageBuffer for Qt port.
3550         https://bugs.webkit.org/show_bug.cgi?id=24289
3551
3552         The implementation combines pixmap layers and destinationIn
3553         composition mode.
3554
3555         * platform/graphics/qt/GraphicsContextQt.cpp:
3556         (WebCore::TransparencyLayer::TransparencyLayer):
3557         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3558         (WebCore::GraphicsContext::savePlatformState):
3559         (WebCore::GraphicsContext::restorePlatformState):
3560         (WebCore::GraphicsContext::inTransparencyLayer):
3561         (WebCore::GraphicsContext::beginTransparencyLayer):
3562         (WebCore::GraphicsContext::endTransparencyLayer):
3563         (WebCore::GraphicsContext::clipToImageBuffer):
3564
3565 2010-05-18  Eric Seidel  <eric@webkit.org>
3566
3567         Unreviewed build fix.
3568
3569         Make it possible to enable the new HTML5Tokenizer for testing
3570         https://bugs.webkit.org/show_bug.cgi?id=39275
3571
3572         * WebCore.gypi:
3573          - Fix HTMLLexer.* -> HTML5Lexer.*
3574         * WebCore.vcproj/WebCore.vcproj:
3575          - Add HTML5Lexer and HTML5Tokenizer to project.
3576
3577 2010-05-18  Eric Seidel  <eric@webkit.org>
3578
3579         Unreviewed build fix.
3580
3581         Make it possible to enable the new HTML5Tokenizer for testing
3582         https://bugs.webkit.org/show_bug.cgi?id=39275
3583
3584         * dom/NamedAttrMap.cpp:
3585         (WebCore::NamedNodeMap::setNamedItemNS):
3586   &n