Reviewed by Geoff Garen.
[WebKit-https.git] / WebCore / ChangeLog
1 2010-05-06  Alexey Proskuryakov  <ap@apple.com>
2
3         Reviewed by Geoff Garen.
4
5         https://bugs.webkit.org/show_bug.cgi?id=38697
6         REGRESSION (r58299): Replying on reddit.com no longer works
7
8         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Don't recognize :first,
9         :left and :right. The aren't allowed in all contexts, and properly implementing them is out
10         of scope for this regression fix.
11
12 2010-05-06  Jian Li  <jianli@chromium.org>
13
14         Reviewed by Adam Barth.
15
16         Improve code generator scripts to support converting ScriptString.
17         https://bugs.webkit.org/show_bug.cgi?id=38699
18
19         Change both JSC and V8 generators to introduce "ConvertScriptString"
20         attribute to allow converting from ScriptString. Also updated the
21         bindings test result.
22
23         These changes are necessary in order to avoid adding custom binding codes
24         when we add the FileReader interface.
25
26         * bindings/scripts/CodeGeneratorJS.pm:
27         * bindings/scripts/CodeGeneratorV8.pm:
28         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
29         (webkit_dom_test_obj_get_script_string_attr):
30         (webkit_dom_test_obj_get_property):
31         (webkit_dom_test_obj_class_init):
32         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
33         * bindings/scripts/test/JS/JSTestObj.cpp:
34         (WebCore::):
35         (WebCore::jsTestObjScriptStringAttr):
36         * bindings/scripts/test/JS/JSTestObj.h:
37         * bindings/scripts/test/ObjC/DOMTestObj.h:
38         * bindings/scripts/test/ObjC/DOMTestObj.mm:
39         (-[DOMTestObj scriptStringAttr]):
40         * bindings/scripts/test/TestObj.idl:
41         * bindings/scripts/test/V8/V8TestObj.cpp:
42         (WebCore::TestObjInternal::scriptStringAttrAttrGetter):
43         (WebCore::):
44
45 2010-05-06  Jian Li  <jianli@chromium.org>
46
47         Reviewed by Adam Barth.
48
49         Improve code generator scripts to pass additional ScriptExecutionContext
50         argument to the constructor.
51         https://bugs.webkit.org/show_bug.cgi?id=38687
52
53         Change both JSC and V8 generators to introduce "CallWith=ScriptExecutionContext"
54         attribute to allow passing the additional ScriptExecutionContext argument to
55         the constructor. Also add another test IDL file to test interface-level
56         features.
57
58         These changes are necessary in order to avoid adding custom binding codes
59         when we add the FileReader interface.
60
61         * bindings/scripts/CodeGeneratorJS.pm:
62         * bindings/scripts/CodeGeneratorV8.pm:
63         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Added.
64         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Added.
65         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h: Added.
66         * bindings/scripts/test/JS/JSTestInterface.cpp: Added.
67         * bindings/scripts/test/JS/JSTestInterface.h: Added.
68         * bindings/scripts/test/ObjC/DOMTestInterface.h: Added.
69         * bindings/scripts/test/ObjC/DOMTestInterface.mm: Added.
70         * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h: Added.
71         * bindings/scripts/test/TestInterface.idl: Added.
72         * bindings/scripts/test/V8/V8TestInterface.cpp: Added.
73         * bindings/scripts/test/V8/V8TestInterface.h: Added.
74         * bindings/v8/V8Proxy.h:
75         (WebCore::V8Proxy::constructDOMObjectWithScriptExecutionContext):
76
77 2010-05-06  Maciej Stachowiak  <mjs@apple.com>
78
79         Build fix, not reviewed.
80         
81         Speculative Windows and Debug build fixes for the last change.
82
83         * dom/Node.h:
84         (WebCore::Node::inDocument):
85         (WebCore::Node::setFlag):
86
87 2010-05-06  James Robinson  <jamesr@chromium.org>
88
89         Reviewed by Eric Seidel.
90
91         Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files.
92         https://bugs.webkit.org/show_bug.cgi?id=38158
93
94         Fixes:
95         - replace NULL with 0
96         - remove unusued locals
97         - add parens around ambiguous looking compound predicates like (a || b && c)
98
99         This also adds a check for x >= 0 to FontLinux.cpp's in this statement:
100           if (x < walker.width())
101         This is more documentation than anything else since walker.width() returns
102         an unsigned the current behavior is that x is promoted to unsigned and as
103         long as x + walker.width() is less than 2^31 all negative values of x
104         end up wrapping around and not being < walker.width().  This behavior is
105         tested by fast/text/international/khmer-selection.html
106
107         * platform/graphics/chromium/FontLinux.cpp:
108         (WebCore::adjustTextRenderMode):
109         (WebCore::TextRunWalker::TextRunWalker):
110         (WebCore::TextRunWalker::length):
111         (WebCore::TextRunWalker::width):
112         (WebCore::TextRunWalker::getTextRun):
113         (WebCore::TextRunWalker::getNormalizedTextRun):
114         (WebCore::Font::offsetForPositionForComplexText):
115         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
116         (WebCore::FontPlatformData::setupPaint):
117         * platform/graphics/chromium/HarfbuzzSkia.cpp:
118         (WebCore::getOutlinePoint):
119         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
120         (WebCore::GraphicsContext3D::getImageData):
121         * platform/graphics/skia/GraphicsContextSkia.cpp:
122         (WebCore::isCoordinateSkiaSafe):
123         (WebCore::GraphicsContext::fillRect):
124         (WebCore::GraphicsContext::strokePath):
125         (WebCore::GraphicsContext::strokeRect):
126
127 2010-05-06  Ada Chan  <adachan@apple.com>
128
129         Reviewed by David Kilzer.
130
131         https://bugs.webkit.org/show_bug.cgi?id=38695
132         
133         Check the result from widget() for NULL before accessing it.
134
135         * rendering/RenderIFrame.cpp:
136         (WebCore::RenderIFrame::calcHeight):
137         (WebCore::RenderIFrame::calcWidth):
138
139 2010-05-06  Maciej Stachowiak  <mjs@apple.com>
140
141         Reviewed by Darin Adler.
142
143         further fixes towards REGRESSION (r57292): 1% PLT regression from visited link information leak fix
144         https://bugs.webkit.org/show_bug.cgi?id=38682
145         <rdar://problem/7859794>
146
147         Looks like a 1-2% speedup on PLT.
148
149         - Reorder CSS properties.
150         - Remove short circuit tag check in matchRulesForList which costs more than it saves.
151         - Inline initForStyleResolve.
152         - Optimize applyDeclarations to avoid switch and take fewer branches in the inner loop.
153         
154         - Change the way Node handles flags - replace bitfield with a uint32_t and explicit masking, 
155         to make it cheaper to initialize the bits and give faster access.
156         - Added new Node flags to check for isStyledElement, isHTMLElement, isSVGElement, isComment, 
157         and devirtualize those methods.
158         - Inline constructors for Node, Element, Text, CharacterData, StyledElement, etc since
159         they are very simple and lots of nodes get constructed.
160         
161         * css/CSSPropertyNames.in: Move a few of the properties up front so we can check for them
162         with < instead of switch statements
163         * css/CSSStyleSelector.cpp:
164         (WebCore::CSSStyleSelector::matchRulesForList): Remove unnecessary preflight check
165         for tag match before checking selector. This check very rarely short circuits anything,
166         since most rules with a tag end up in the appropriate tag bucket. So doing the check
167         cost more time than the time saved.
168         (WebCore::CSSStyleSelector::initForStyleResolve): Inline. Create RenderStyle in a better way.
169         (WebCore::CSSStyleSelector::applyDeclarations): Get rid of switch statement and use <= to
170         check for the high priority properties. Convert to template to avoid checking "applyFirst"
171         each time through the loop.
172         (WebCore::CSSStyleSelector::styleForElement): Adjust for new applyDeclarations() signature.
173         (WebCore::CSSStyleSelector::keyframeStylesForAnimation): ditto
174         (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto
175         * css/CSSStyleSelector.h: Adjust for new applyDeclarations() signature.
176         * rendering/style/RenderStyle.cpp:
177         (WebCore::RenderStyle::RenderStyle): Inline constructor.
178         * rendering/style/RenderStyle.h: Make constructor private so it can be inline.
179         * dom/Node.h:
180         (WebCore::): See high-level description of changes above. Redid the
181         way boolean flags work.
182         (WebCore::Node::isElementNode):
183         (WebCore::Node::isContainerNode):
184         (WebCore::Node::isTextNode):
185         (WebCore::Node::isHTMLElement):
186         (WebCore::Node::isSVGElement):
187         (WebCore::Node::isStyledElement):
188         (WebCore::Node::isCommentNode):
189         (WebCore::Node::hasID):
190         (WebCore::Node::hasClass):
191         (WebCore::Node::active):
192         (WebCore::Node::inActiveChain):
193         (WebCore::Node::inDetach):
194         (WebCore::Node::hovered):
195         (WebCore::Node::attached):
196         (WebCore::Node::setAttached):
197         (WebCore::Node::needsStyleRecalc):
198         (WebCore::Node::styleChangeType):
199         (WebCore::Node::childNeedsStyleRecalc):
200         (WebCore::Node::isLink):
201         (WebCore::Node::setHasID):
202         (WebCore::Node::setHasClass):
203         (WebCore::Node::setChildNeedsStyleRecalc):
204         (WebCore::Node::clearChildNeedsStyleRecalc):
205         (WebCore::Node::setInDocument):
206         (WebCore::Node::clearInDocument):
207         (WebCore::Node::setInActiveChain):
208         (WebCore::Node::clearInActiveChain):
209         (WebCore::Node::setIsLink):
210         (WebCore::Node::clearIsLink):
211         (WebCore::Node::setActive):
212         (WebCore::Node::setHovered):
213         (WebCore::Node::inDocument):
214         (WebCore::Node::):
215         (WebCore::Node::getFlag):
216         (WebCore::Node::setFlag):
217         (WebCore::Node::clearFlag):
218         (WebCore::Node::hasRareData):
219         (WebCore::Node::isParsingChildrenFinished):
220         (WebCore::Node::setIsParsingChildrenFinished):
221         (WebCore::Node::clearIsParsingChildrenFinished):
222         (WebCore::Node::isStyleAttributeValid):
223         (WebCore::Node::setIsStyleAttributeValid):
224         (WebCore::Node::clearIsStyleAttributeValid):
225         (WebCore::Node::isSynchronizingStyleAttribute):
226         (WebCore::Node::setIsSynchronizingStyleAttribute):
227         (WebCore::Node::clearIsSynchronizingStyleAttribute):
228         (WebCore::Node::areSVGAttributesValid):
229         (WebCore::Node::setAreSVGAttributesValid):
230         (WebCore::Node::clearAreSVGAttributesValid):
231         (WebCore::Node::isSynchronizingSVGAttributes):
232         (WebCore::Node::setIsSynchronizingSVGAttributes):
233         (WebCore::Node::clearIsSynchronizingSVGAttributes):
234         (WebCore::Node::hasRareSVGData):
235         (WebCore::Node::setHasRareSVGData):
236         (WebCore::Node::clearHasRareSVGData):
237         (WebCore::Node::initialRefCount):
238         * dom/Node.cpp:
239         (WebCore::Node::trackForDebugging): Adjusted for changes in
240         flag handling.
241         (WebCore::Node::ensureRareData): ditto
242         (WebCore::Node::setStyleChange): ditto
243         (WebCore::Node::setNeedsStyleRecalc): ditto
244         (WebCore::Node::lazyAttach): ditto
245         (WebCore::Node::attach): ditto
246         (WebCore::Node::detach): ditto
247         (WebCore::Node::insertedIntoDocument): ditto
248         (WebCore::Node::removedFromDocument): ditto
249         * dom/CharacterData.cpp:
250         * dom/CharacterData.h:
251         (WebCore::CharacterData::CharacterData): Inline the constructor (moved from .cpp)
252         * dom/Comment.cpp:
253         (WebCore::Comment::Comment): Tell the base class that we're a comment.
254         * dom/Comment.h: Remove isCommentNode override.
255         * dom/ContainerNode.cpp:
256         (WebCore::ContainerNode::detach): Adjusted for changes in flag
257         handling.
258         (WebCore::ContainerNode::removedFromDocument): ditto
259         * dom/Document.cpp:
260         (WebCore::Document::Document): Adjusted for changes in flag handling.
261         (WebCore::Document::recalcStyle): ditto
262         (WebCore::Document::setFocusedNode): ditto
263         * dom/Document.h:
264         (WebCore::Node::Node): Inline the Node constructor - goes here
265         because it uses Document.
266         * dom/DocumentFragment.cpp: include Document.h due to above change
267         * dom/EditingText.cpp: ditto
268         * dom/EntityReference.cpp: ditto
269         * dom/Element.cpp:
270         (WebCore::Element::getAttribute): Adjusted for changes in flag
271         handling.
272         (WebCore::Element::setAttribute): ditto
273         (WebCore::Element::hasAttributes): ditto
274         (WebCore::Element::recalcStyle): ditto
275         (WebCore::Element::finishParsingChildren): ditto
276         * dom/Element.h:
277         (WebCore::Element::Element): Inline (moved from .cpp)
278         (WebCore::Element::isFinishedParsingChildren):
279         (WebCore::Element::beginParsingChildren):
280         (WebCore::Element::attributes): Adjusted for changes in flag
281         handling.
282         * dom/StyledElement.cpp:
283         (WebCore::StyledElement::updateStyleAttribute): Adjust for
284         changes to flag handling.
285         (WebCore::StyledElement::mapToEntry): ditto
286         (WebCore::StyledElement::parseMappedAttribute): ditto
287         (WebCore::StyledElement::copyNonAttributeProperties): ditto
288         * dom/StyledElement.h:
289         (WebCore::StyledElement::StyledElement): Inline (moved from.cpp)
290         (WebCore::StyledElement::invalidateStyleAttribute): Adjust for
291         changes in flag handling.
292         * dom/Text.h:
293         (WebCore::Text::Text): Inline (moved from .cpp)
294         * dom/Text.cpp:
295         * html/HTMLAnchorElement.cpp:
296         (WebCore::HTMLAnchorElement::HTMLAnchorElement): Adjust for changes in
297         flag handling.
298         (WebCore::HTMLAnchorElement::parseMappedAttribute): ditto
299         * html/HTMLElement.cpp:
300         (WebCore::HTMLElement::create): Tell base class we're an HTML element.
301         * html/HTMLElement.h: ditto above; remove isHTMLElement override.
302         * html/HTMLFormControlElement.h: Tell base class we're an HTML element.
303         * html/HTMLFrameOwnerElement.cpp:
304         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): ditto
305         * html/HTMLProgressElement.cpp:
306         (WebCore::HTMLProgressElement::HTMLProgressElement): ditto
307         * mathml/MathMLElement.cpp:
308         (WebCore::MathMLElement::MathMLElement): Tell base class we're a styled
309         element.
310         * rendering/MediaControlElements.cpp:
311         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
312         Adjust for changes in flag handling.
313         (WebCore::MediaControlElement::MediaControlElement): ditto
314         (WebCore::MediaControlInputElement::MediaControlInputElement): ditto
315         * rendering/RenderFileUploadControl.cpp:
316         (WebCore::RenderFileUploadControl::updateFromElement): ditto
317         * rendering/RenderLayer.cpp:
318         (WebCore::RenderLayer::updateHoverActiveState): ditto
319         * rendering/RenderProgress.cpp:
320         (WebCore::RenderProgress::updateValuePartState): ditto
321         * rendering/RenderSlider.cpp:
322         (WebCore::RenderSlider::updateFromElement): ditto
323         * rendering/SVGShadowTreeElements.cpp:
324         (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): ditto
325         * rendering/TextControlInnerElements.cpp:
326         (WebCore::TextControlInnerElement::attachInnerElement): ditto
327         * svg/SVGAnimatedProperty.h:
328         (WebCore::SVGAnimatedPropertyTearOff::setBaseVal): ditto
329         (WebCore::SVGAnimatedPropertyTearOff::setAnimVal): ditto
330         * svg/SVGElement.cpp:
331         (WebCore::SVGElement::SVGElement): Tell base class we're
332         an svg element.
333         (WebCore::SVGElement::ensureRareSVGData): Adjust for flag handling
334         changes.
335         (WebCore::SVGElement::updateAnimatedSVGAttribute): ditto
336         * svg/SVGElement.h:
337         (WebCore::SVGElement::invalidateSVGAttributes): ditto
338         * svg/SVGPolyElement.cpp:
339         (WebCore::SVGPolyElement::svgAttributeChanged): ditto
340         * wml/WMLAnchorElement.cpp:
341         (WebCore::WMLAnchorElement::WMLAnchorElement): ditto
342         * wml/WMLElement.cpp:
343         (WebCore::WMLElement::WMLElement): Tell base class we're a styled
344         element.
345
346 2010-05-06  Adam Barth  <abarth@webkit.org>
347
348         Unreviewed.  Fix indent.  Sorry, my OCD was acting up.
349
350         * page/EventHandler.cpp:
351         (WebCore::EventHandler::handleMouseReleaseEvent):
352
353 2010-05-06  Pavel Feldman  <pfeldman@chromium.org>
354
355         Reviewed by Joseph Pecoraro.
356
357         Web Inspector: store selected Headers / Content tab on explicit switch and/or explicit navigate only.
358
359         https://bugs.webkit.org/show_bug.cgi?id=38660
360
361         * inspector/front-end/ResourceView.js:
362         (WebInspector.ResourceView):
363         (WebInspector.ResourceView.prototype._selectHeadersTab):
364         (WebInspector.ResourceView.prototype.selectContentTab):
365         * inspector/front-end/ResourcesPanel.js:
366         (WebInspector.ResourcesPanel.prototype.showResource):
367
368 2010-05-06  Luiz Agostini  <luiz.agostini@openbossa.org>
369
370         Rubber-stamped by Simon Hausmann.
371
372         [Qt] use QT_MOBILE_THEME in Symbian
373         https://bugs.webkit.org/show_bug.cgi?id=38440
374
375         Putting QT_MOBILE_THEME into use for Symbian.
376
377         * WebCore.pro:
378
379 2010-05-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
380
381         Unreviewed, build fix WinCE for QtWebKit.
382
383         [Qt] Compilation with Plugins disabled is broken
384         https://bugs.webkit.org/show_bug.cgi?id=31407
385
386         Rename platform/qt/TemporaryLinkStubs.cpp to avoid name collition on
387         Windows.
388
389         Thanks for Ismail "cartman" Donmez for help.
390
391         No new tests, as there is no new functionality.
392
393         * WebCore.gypi:
394         * WebCore.pro:
395         * platform/qt/TemporaryLinkStubs.cpp: Removed.
396         * platform/qt/TemporaryLinkStubsQt.cpp: Copied from WebCore/platform/qt/TemporaryLinkStubs.cpp.
397
398 2010-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
399
400         Reviewed by Kenneth Rohde Christiansen.
401
402         [Qt] REGRESSION: Loading of external CSS and JS files over network fails in some cases
403         https://bugs.webkit.org/show_bug.cgi?id=36755
404
405         Enable the direct connection between QtNetwork and QtWebKit only for Qt versions
406         greater than 4.6.2, due to a bug in Qt that's been fixed after 4.6.2.
407
408         * platform/network/qt/QNetworkReplyHandler.cpp:
409
410 2010-05-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
411
412         Reviewed by Xan Lopez.
413
414         Rework where we get page step and line step from, so we do not
415         depend on scrollbars existing. Caught by API test I forgot to run.
416
417         * platform/gtk/ScrollViewGtk.cpp:
418         (WebCore::ScrollView::setGtkAdjustments):
419
420 2010-05-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
421
422         Reviewed by Xan Lopez.
423
424         [GTK] Adjustment resetting uses wrong values, and misses page_size and steps
425         https://bugs.webkit.org/show_bug.cgi?id=38657
426
427         Fix resetting adjustment values. In the page cache case, we were
428         confusing page_size and upper, leading to stray scrollbars
429         sometimes.
430
431         * platform/gtk/ScrollViewGtk.cpp:
432         (WebCore::ScrollView::setGtkAdjustments):
433
434 2010-05-06  Darin Adler  <darin@apple.com>
435
436         Reviewed by Beth Dakin.
437
438         Page::setCanStartMedia does not properly handle the case where a media listener is removed
439         https://bugs.webkit.org/show_bug.cgi?id=38602
440
441         We can't find any real case where this causes a crash at this time, but
442         we want to harden the code anyway. Thus there are no new regression tests.
443
444         * page/Page.cpp:
445         (WebCore::Page::removeMediaCanStartListener): Removed incorrect assertion.
446         (WebCore::Page::setCanStartMedia): Change algorithm so we notify listeners
447         one at a time and don't notify any listener that has already been removed
448         from the set.
449
450 2010-05-05  Ojan Vafai  <ojan@chromium.org>
451
452         Reviewed by Darin Adler.
453
454         shift+click on an existing selection doesn't work right
455         https://bugs.webkit.org/show_bug.cgi?id=36542
456
457         NSTextView behavior is to move the end of the selection
458         closest to the shift-click. Win/Linux behavior is to always
459         move the focus end of the selection.
460
461         Test: editing/selection/shift-click.html
462
463         * page/EventHandler.cpp:
464         (WebCore::textDistance):
465         (WebCore::EventHandler::handleMousePressEventSingleClick):
466
467 2010-05-06  Pavel Feldman  <pfeldman@chromium.org>
468
469         Reviewed by Timothy Hatcher.
470
471         Web Inspector: implement panels history traversal on Cmd+Left/Right.
472
473         https://bugs.webkit.org/show_bug.cgi?id=38649
474
475         * inspector/front-end/inspector.js:
476         (WebInspector.set currentPanel):
477         (WebInspector.loaded):
478         (WebInspector.documentKeyDown):
479         (WebInspector.PanelHistory):
480         (WebInspector.PanelHistory.prototype.canGoBack):
481         (WebInspector.PanelHistory.prototype.goBack):
482         (WebInspector.PanelHistory.prototype.canGoForward):
483         (WebInspector.PanelHistory.prototype.goForward):
484         (WebInspector.PanelHistory.prototype.setPanel):
485
486 2010-05-03  Evan Martin  <evan@chromium.org>
487
488         Reviewed by Eric Seidel.
489
490         [chromium] use glyphDataForCharacter so we hit the glyphdata cache
491         https://bugs.webkit.org/show_bug.cgi?id=38500
492
493         Calling fontDataForCharacters() while rendering text is expensive.
494         Examining the relevant Mac code in WebKit revealed that calling the
495         similarly-named glyphDataForCharacters() results in caching the font
496         data on a per-glyph basis.
497
498         Since we now choose a font based on the first character in a run, we
499         need to be careful that all the glyphs within the run use the same font.
500         This is also similar to the WebKit Mac code.  We need to remove all of
501         the script run bits eventually and this is a step in that direction.
502
503         Tests: fast/text/international/danda-space.html spacing changes slightly
504         (now matches Firefox better) and fast/text/international/thai-baht-space.html
505         now picks the correct (serif) font for the digits.
506
507         * platform/graphics/chromium/FontLinux.cpp:
508         (WebCore::TextRunWalker::nextScriptRun):
509         (WebCore::TextRunWalker::setupFontForScriptRun):
510
511 2010-05-06  Martin Robinson  <mrobinson@webkit.org>
512
513         Reviewed by Gustavo Noronha Silva.
514
515         [GTK] Enable DOM clipboard and drag-and-drop access
516         https://bugs.webkit.org/show_bug.cgi?id=30623
517
518         Convert dragging portion of drag-and-drop to use DataObjectGtk.
519
520         No new tests, because functionality has not changed.
521
522         * page/gtk/EventHandlerGtk.cpp:
523         (WebCore::EventHandler::createDraggingClipboard): Pass the DataObjectGtk as a parameter here.
524         * platform/gtk/ClipboardGtk.h:
525         (WebCore::ClipboardGtk::create): Take the DataObject as a parameter instead of creating it here.
526         (WebCore::ClipboardGtk::helper): Added.
527         (WebCore::ClipboardGtk::dataObject): Added.
528         * platform/gtk/PasteboardHelper.h: Make targetListForDataObject a public method.
529
530 2010-05-06  Pavel Feldman  <pfeldman@chromium.org>
531
532         Reviewed by Timothy Hatcher.
533
534         Web Inspector: Do not show content tab for resources
535         not supporting content preview.
536
537         https://bugs.webkit.org/show_bug.cgi?id=38635
538
539         * English.lproj/localizedStrings.js:
540         * inspector/front-end/FontView.js:
541         (WebInspector.FontView.prototype.hasContentTab):
542         * inspector/front-end/ImageView.js:
543         (WebInspector.ImageView.prototype.hasContentTab):
544         * inspector/front-end/ResourceView.js:
545         (WebInspector.ResourceView):
546         (WebInspector.ResourceView.prototype._selectTab):
547         (WebInspector.ResourceView.prototype.hasContentTab):
548         * inspector/front-end/SourceView.js:
549         (WebInspector.SourceView.prototype.hasContentTab):
550
551 2010-05-06  Antonio Gomes  <tonikitoo@webkit.org>
552
553         Reviewed by Kenneth Christiansen.
554
555         Spatial Navigation: adapt the logic of {deep}findFocusableNodeInDirection to do traversal starting from Node* not Document*
556         https://bugs.webkit.org/show_bug.cgi?id=37803
557
558         Instead of receiving a Document pointer as incoming parameter, patch modifies
559         findFocusableNodeInDirection and deepFindFocusableNodeInDirection methods to
560         receive a Node pointer as start for content traversal.
561         This way we can make good use of deepFindFocusableNodeInDirection to traverse
562         other scrollable container like scrollable div's, and not only frames or iframes.
563
564         Patch also makes use of 'while' instead of 'for' to loop control, that gives move
565         flexibility to the incremental step: e.g. if a scrollable div was processed, the incremental
566         step in the loop does not have to do node->traverseNextNode() but node->traverseNextSibling().
567
568         No behavior change. It is a preparation for supporting scrollable containers in Spatial
569         Navigation.
570
571         * page/FocusController.cpp:
572         (WebCore::FocusController::advanceFocusDirectionally):
573         (WebCore::FocusController::findFocusableNodeInDirection):
574         (WebCore::FocusController::deepFindFocusableNodeInDirection):
575         * page/FocusController.h:
576
577 2010-05-06  Csaba Osztrogonác  <ossy@webkit.org>
578
579         Unreviewed WinCE buildfix after r58842.
580         Preprocessor doesn't understand "true", changed to "1"
581
582         * platform/graphics/MediaPlayer.cpp:
583
584 2010-05-06  Mikhail Naganov  <mnaganov@chromium.org>
585
586         Reviewed by Pavel Feldman.
587
588         Temporarily disable 'console.profiles' until we can distinguish
589         functions from different frames
590
591         https://bugs.webkit.org/show_bug.cgi?id=38638
592
593         * bindings/v8/custom/V8ConsoleCustom.cpp:
594         (WebCore::V8Console::profilesAccessorGetter):
595
596 2010-05-06  Steve Block  <steveblock@google.com>
597
598         Reviewed by Eric Seidel.
599
600         MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
601         https://bugs.webkit.org/show_bug.cgi?id=38544
602
603         No new tests, build fix only.
604
605         * DerivedSources.make:
606         * bindings/js/ScriptController.cpp:
607         (WebCore::ScriptController::ScriptController):
608         * bindings/js/ScriptController.h:
609         * bindings/js/ScriptControllerMac.mm:
610         (WebCore::ScriptController::createScriptInstanceForWidget):
611         * bridge/jni/JNIBridge.cpp:
612         * bridge/jni/JNIBridge.h:
613         * bridge/jni/JNIUtility.cpp:
614         * bridge/jni/JNIUtility.h:
615         * bridge/jni/jni_jsobject.h:
616         * bridge/jni/jni_jsobject.mm:
617         * bridge/jni/jni_objc.mm:
618         * bridge/jni/jsc/JNIBridgeJSC.cpp:
619         * bridge/jni/jsc/JNIBridgeJSC.h:
620         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
621         * bridge/jni/jsc/JNIUtilityPrivate.h:
622         * bridge/jni/jsc/JavaClassJSC.cpp:
623         * bridge/jni/jsc/JavaClassJSC.h:
624         * bridge/jni/jsc/JavaInstanceJSC.cpp:
625         * bridge/jni/jsc/JavaInstanceJSC.h:
626         * loader/FrameLoaderClient.h:
627
628 2010-05-05  Alejandro G. Castro  <alex@igalia.com>
629
630         Reviewed by Xan Lopez.
631
632         Fixed the gobject introspection compilation with the new DOM
633         bindings, we needed to add DOM objects.
634
635         * GNUmakefile.am:
636
637 2010-05-06  Adam Barth  <abarth@webkit.org>
638
639         Reviewed by Eric Seidel.
640
641         drop support for sessionStorage in sandbox iframes
642         https://bugs.webkit.org/show_bug.cgi?id=38151
643
644         This patch causes us to throw a security exception when a sandboxed
645         iframe attempts to access sessionStorage, matching our behavior for
646         localStorage.  The letter of the spec asks us to create a separate
647         storage area for each unique origin.  We might want to do that in a
648         future patch, but throwing a security error seems like a safe move now.
649
650         * page/DOMWindow.cpp:
651         (WebCore::DOMWindow::sessionStorage):
652         (WebCore::DOMWindow::localStorage):
653         * page/DOMWindow.h:
654         * page/DOMWindow.idl:
655         * page/SecurityOrigin.h:
656         (WebCore::SecurityOrigin::canAccessSessionStorage):
657         * storage/StorageEventDispatcher.cpp:
658         (WebCore::StorageEventDispatcher::dispatch):
659
660 2010-05-06  Andy Estes  <aestes@apple.com>
661
662         Reviewed by Maciej Stachowiak.
663
664         Allow forms submitting to target="_blank" to open popups if the submission
665         originated from a user gesture.
666
667         https://bugs.webkit.org/show_bug.cgi?id=37335
668         <rdar://problem/7884980>
669
670         Test: fast/events/popup-allowed-from-gesture-initiated-form-submit.html
671
672         * bindings/js/ScriptController.cpp:
673         (WebCore::ScriptController::processingUserGesture): If no DOM event is
674         being processed, consult UserGestureIndicator to determine return value.
675         * bindings/js/ScriptController.h: Moved the logic of processingUserGestureEvent()
676         into processingUserGesture().
677
678 2010-05-06  Xan Lopez  <xlopez@igalia.com>
679
680         Rubber-stamped by Eric Seidel.
681
682         [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
683         https://bugs.webkit.org/show_bug.cgi?id=38577
684
685         Thinko caught while refactoring, $custom variable was not
686         initialized.
687
688         * bindings/scripts/CodeGeneratorGObject.pm:
689         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
690         (webkit_dom_test_obj_set_property):
691         (webkit_dom_test_obj_get_property):
692         (webkit_dom_test_obj_class_init):
693
694 2010-05-06  Xan Lopez  <xlopez@igalia.com>
695
696         Rubber-stamped by Eric Seidel.
697
698         [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
699         https://bugs.webkit.org/show_bug.cgi?id=38577
700
701         Refactor GenerateProperty out of GenerateProperties. This is in
702         preparation for EventListeren attributes, which won't generate
703         normal GObject properties.
704
705         * bindings/scripts/CodeGeneratorGObject.pm:
706
707 2010-05-06  Pavel Feldman  <pfeldman@chromium.org>
708
709         Reviewed by Joseph Pecoraro.
710
711         Web Inspector: follow up to linkify event listeners.
712
713         https://bugs.webkit.org/show_bug.cgi?id=38257
714
715         * bindings/js/ScriptEventListener.cpp:
716         (WebCore::eventListenerHandlerLocation):
717         * bindings/v8/ScriptEventListener.cpp:
718         (WebCore::eventListenerHandlerLocation):
719         * inspector/front-end/ElementsPanel.js:
720         (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
721         * inspector/front-end/EventListenersSidebarPane.js:
722
723 2010-05-05  Charles Wei  <charles.wei@torchmobile.com.cn>
724
725         Reviewed by George Staikos
726
727         https://bugs.webkit.org/show_bug.cgi?id=37848
728         This patch adds WCSS -wap-input-format and -wap-input-required support to WebKit
729
730         Tests: fast/wcss/wap-input-format.xhtml
731                fast/wcss/wap-input-required.xhtml
732
733         * css/CSSParser.cpp:
734         (WebCore::CSSParser::parseValue):
735         (WebCore::CSSParser::parseWCSSInputProperty):
736         * css/CSSParser.h:
737         * css/CSSStyleSelector.cpp:
738         (WebCore::CSSStyleSelector::applyProperty):
739         * css/WCSSPropertyNames.in:
740         * dom/InputElement.cpp:
741         (WebCore::InputElement::sanitizeValue):
742         (WebCore::InputElement::handleBeforeTextInsertedEvent):
743         (WebCore::InputElementData::InputElementData):
744         (WebCore::formatCodes):
745         (WebCore::cursorPositionToMaskIndex):
746         (WebCore::InputElement::isConformToInputMask):
747         (WebCore::InputElement::validateInputMask):
748         * dom/InputElement.h:
749         (WebCore::InputElementData::inputFormatMask):
750         (WebCore::InputElementData::setInputFormatMask):
751         (WebCore::InputElementData::maxInputCharsAllowed):
752         (WebCore::InputElementData::setMaxInputCharsAllowed):
753         * html/HTMLInputElement.cpp:
754         (WebCore::HTMLInputElement::setWapInputFormat):
755         * html/HTMLInputElement.h:
756         (WebCore::HTMLInputElement::data):
757         * wml/WMLInputElement.h:
758         (WebCore::WMLInputElement::data):
759
760 2010-05-05  MORITA Hajime  <morrita@google.com>
761
762         Reviewed by Darin Adler.
763
764         https://bugs.webkit.org/show_bug.cgi?id=38150
765         Refactoring: webkitEditableContentChangedEvent should be handled by the owner of appropriate the renderer.
766
767         Moved a part of code chunk in HTMLFormControlElementWithState::defaultEventHandler()
768         which accesses the renderer from foreign node, 
769         to TextControlInnerTextElement::defaultEventHandler() which owns the renderer.
770         
771         No new tests. No behavioral change.
772
773         * html/HTMLFormControlElement.cpp:
774         (WebCore::HTMLFormControlElementWithState::defaultEventHandler):
775         * html/HTMLFormControlElement.h:
776         * html/HTMLInputElement.h:
777         * html/HTMLTextAreaElement.h:
778         * rendering/TextControlInnerElements.cpp:
779         (WebCore::TextControlInnerTextElement::defaultEventHandler):
780
781 2010-05-05  Joseph Pecoraro  <joepeck@webkit.org>
782
783         Reviewed by Timothy Hatcher.
784
785         Web Inspector: Line Numbers should be Aligned with the Source Code Line
786         https://bugs.webkit.org/show_bug.cgi?id=38593
787
788         If there is a message bubble, such as an error message, in a source view
789         the line number should be in line with the source code line, not centered
790         between the source and bubble.
791
792         * inspector/front-end/textViewer.css:
793         (.webkit-line-number): added vertical-align: top
794
795 2010-05-05  Dan Bernstein  <mitz@apple.com>
796
797         Fix the decelerated compositing build.
798
799         * page/FrameView.cpp:
800         (WebCore::FrameView::isEnclosedInCompositingLayer):
801         * page/FrameView.h:
802
803 2010-05-05  Gavin Barraclough  <barraclough@apple.com>
804
805         Reviewed by Darin Adler.
806
807         Bug 38604 - workers-gc2 crashing on Qt
808
809         This appears to be due to a couple of issues.
810         (1) When the atomic string table is deleted it does not clear the 'inTable' bit
811         on AtomicStrings - it implicitly assumes that all AtomicStrings have already
812         been deleted at this point (otherwise they will crash in their destructor when
813         they try to remove themselves from the atomic string table).
814         (2) We don't fix the ordering in which WTF::WTFThreadData and
815         WebCore::ThreadGlobalData are destructed.
816
817         We should make sure that ThreadGlobalData is cleaned up before worker threads
818         terminate and WTF::WTFThreadData is destroyed, and we should clear the inTable
819         bit of members on atomic string table destruction.
820
821         WTF changes (fix issue 2, above) - clean up the thread data on worker termination.
822
823         * platform/ThreadGlobalData.cpp:
824         (WebCore::ThreadGlobalData::~ThreadGlobalData):
825         (WebCore::ThreadGlobalData::destroy):
826         * platform/ThreadGlobalData.h:
827         * workers/WorkerThread.cpp:
828         (WebCore::WorkerThread::workerThread):
829
830 2010-05-05  Dan Bernstein  <mitz@apple.com>
831
832         Reviewed by Simon Fraser.
833
834         <rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1)
835         https://bugs.webkit.org/show_bug.cgi?id=38427
836
837         Test: compositing/iframes/iframe-in-composited-layer.html
838
839         * WebCore.base.exp: Export FrameView::isEnclosedInCompositingLayer().
840         * page/FrameView.cpp:
841         (WebCore::FrameView::isEnclosedInCompositingLayer): Added this predicate.
842         * page/FrameView.h:
843
844 2010-05-05  Chris Marrin  <cmarrin@apple.com>
845
846         Reviewed by Simon Fraser.
847
848         Got composited iframes showing up on Mac again
849         https://bugs.webkit.org/show_bug.cgi?id=38565
850
851         This was broken by http://trac.webkit.org/changeset/58798. That
852         change connected iframes through the parent document to the root
853         of the layer tree. That is correct for Windows, but not for Mac.
854         So the places where the linkage is made were wrapped in 
855         shouldPropagateCompositingToIFrameParent() calls, which is 
856         always false for Mac.
857
858         Test: compositing/iframes/composited-iframe-alignment.html
859
860         * rendering/RenderLayerCompositor.cpp:Avoid doing composited iframe linkage on Mac
861         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
862         (WebCore::RenderLayerCompositor::didMoveOnscreen):
863         (WebCore::RenderLayerCompositor::willMoveOffscreen):
864         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
865
866 2010-05-05  Alexey Proskuryakov  <ap@apple.com>
867
868         Reviewed by Darin Adler.
869
870         https://bugs.webkit.org/show_bug.cgi?id=38260
871         <rdar://problem/7917548> Fix whitespace removing in deprecatedParseURL().
872
873         Broken all the way since r4 (yes, that's a revision number).
874
875         Test: http/tests/security/xss-DENIED-javascript-with-spaces.html
876
877         * css/CSSHelper.cpp: (WebCore::deprecatedParseURL): Fixed loop conditions for remaining length.
878
879 2010-05-05  Chris Fleizach  <cfleizach@apple.com>
880
881         Reviewed by Beth Dakin.
882
883         Many AXUnknown showing up in the hierarchy
884         https://bugs.webkit.org/show_bug.cgi?id=38607
885
886         The RenderTableSection should not be an accessible element.
887
888         Test: platform/mac/accessibility/parent-of-table-row-is-table.html
889
890         * accessibility/AccessibilityRenderObject.cpp:
891         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
892
893 2010-05-05  Csaba Osztrogonác  <ossy@webkit.org>
894
895         Reviewed by Simon Hausmann.
896
897         [Qt]Disable Qt Multimedia backend for HTML 5 Audio and Video elements
898         Fall back to the Phonon backend until the release situation has been cleared up.
899
900         https://bugs.webkit.org/show_bug.cgi?id=38612
901
902         Buildfix for QT_VERSION >= 0x040700 after r58810.
903
904         * platform/graphics/MediaPlayer.cpp:
905
906 2010-05-05  Jian Li  <jianli@chromium.org>
907
908         Reviewed by David Levin.
909
910         XMLHttpRequestUpload events do not fire when sending a raw file or FormData object.
911         https://bugs.webkit.org/show_bug.cgi?id=37771
912
913         Test: http/tests/local/formdata/upload-events.html
914
915         * xml/XMLHttpRequest.cpp:
916         (WebCore::XMLHttpRequest::createRequest):
917
918 2010-05-05  Csaba Osztrogonác  <ossy@webkit.org>
919
920         Reviewed by Simon Hausmann.
921
922         [Qt] Qt port should use its own QUuid class to create UUID string.
923         https://bugs.webkit.org/show_bug.cgi?id=38581
924
925         * platform/UUID.cpp:
926         (WebCore::createCanonicalUUIDString): Added PLATFORM(QT) case.
927
928 2010-05-05  Alexey Proskuryakov  <ap@apple.com>
929
930         Roll out r58830 for breaking tests.
931
932         Was: https://bugs.webkit.org/show_bug.cgi?id=38546
933         Node.focus() fails to move focus from subframe properly
934
935         * html/HTMLFrameElementBase.cpp:
936         (WebCore::HTMLFrameElementBase::setFocus):
937
938 2010-05-05  Jian Li  <jianli@chromium.org>
939
940         Reviewed by Adam Barth.
941
942         Implement FileReader class.
943         https://bugs.webkit.org/show_bug.cgi?id=38157
944
945         This patch only contains the implementation of FileReader class as defined
946         in the File API spec: http://www.w3.org/TR/file-upload/#dfn-filereader.
947
948         New test will be added when a IDL is exposed and the FILE_READER is turned
949         on.
950
951         * GNUmakefile.am:
952         * WebCore.gypi:
953         * WebCore.pro:
954         * WebCore.vcproj/WebCore.vcproj:
955         * WebCore.xcodeproj/project.pbxproj:
956         * dom/EventNames.h:
957         * dom/EventTarget.cpp:
958         (WebCore::EventTarget::toFileReader):
959         * dom/EventTarget.h:
960         * html/FileError.h:
961         (WebCore::FileError::FileError):
962         * html/FileReader.cpp: Added.
963         * html/FileReader.h: Added.
964         * html/FileStream.cpp:
965         (WebCore::FileStream::FileStream):
966         (WebCore::FileStream::openForRead):
967         (WebCore::FileStream::close):
968         (WebCore::FileStream::read):
969         * html/FileStream.h:
970
971 2010-05-05  Steve Falkenburg  <sfalken@apple.com>
972
973         Reviewed by Maciej Stachowiak.
974
975         REGRESSION(r57969) Image decoder is repeatedly destroyed/created in CoreGraphics-based Windows WebKit
976         https://bugs.webkit.org/show_bug.cgi?id=38595
977
978         * platform/graphics/cg/ImageSourceCG.cpp:
979         (WebCore::ImageSource::setData):
980
981 2010-05-05  Alexey Proskuryakov  <ap@apple.com>
982
983         Reviewed by Adele Peterson.
984
985         https://bugs.webkit.org/show_bug.cgi?id=38546
986         Node.focus() fails to move focus from subframe properly
987
988         Test: fast/frames/take-focus-from-iframe.html
989
990         * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setFocus): Don't clear
991         focus if this frame doesn't have it. This can happen if page's and HTMLFrameElement's ideas
992         of focused frame get out of sync temporarily.
993
994 2010-05-05  Alexey Proskuryakov  <ap@apple.com>
995
996         Reviewed by Adele Peterson.
997
998         https://bugs.webkit.org/show_bug.cgi?id=26824
999         <rdar://problem/7018610> EventHandler can operate on a wrong frame if focus changes during
1000         keyboard event dispatch.
1001
1002         EventHandler object is tied to a frame, so it's wrong for it to continue processing a keyboard
1003         event if focused frame changes between keydown and keypress.
1004
1005         * manual-tests/focus-change-between-key-events.html: Added.
1006
1007         * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Bail out early if focused frame
1008         changes while dispatching keydown. Also made similar changes for Windows to maintain matching
1009         behavior, even though EventHandler was re-entered anyway due to WM_KEYDOWN and WM_CHAR being
1010         separate events.
1011
1012 2010-05-05  Steve Block  <steveblock@google.com>
1013
1014         Reviewed by Adam Barth.
1015
1016         MediaError.h is missing PassRefPtr.h include
1017         https://bugs.webkit.org/show_bug.cgi?id=38575
1018
1019         No new tests, build fix only.
1020
1021         * html/MediaError.h:
1022
1023 2010-05-05  Alexander Pavlov  <apavlov@chromium.org>
1024
1025         Reviewed by Pavel Feldman.
1026
1027         Web Inspector: Audits panel: Resource counters get reset when switching panels while reloading page
1028         https://bugs.webkit.org/show_bug.cgi?id=38579
1029
1030         * inspector/front-end/AuditLauncherView.js:
1031         (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
1032         (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
1033
1034 2010-05-05  Pavel Feldman  <pfeldman@chromium.org>
1035
1036         Reviewed by Joseph Pecoraro.
1037
1038         Web Inspector: Doubleclick on line number should not trigger source editing.
1039
1040         https://bugs.webkit.org/show_bug.cgi?id=38588
1041
1042         * inspector/front-end/TextViewer.js:
1043         (WebInspector.TextViewer.prototype._handleDoubleClick):
1044
1045 2010-05-05  Martin Robinson  <mrobinson@webkit.org>
1046
1047         Reviewed by Gustavo Noronha.
1048
1049         [GTK] Enable DOM clipboard and drag-and-drop access
1050         https://bugs.webkit.org/show_bug.cgi?id=30623
1051
1052         Add support in the PasteboardHelper for images, in preparation for drag-and-drop data.
1053
1054         No new tests as functionality has not changed.
1055
1056         * platform/gtk/PasteboardHelper.cpp:
1057         (WebCore::PasteboardHelper::fillSelectionData): Add support for images here.
1058         (WebCore::PasteboardHelper::targetListForDataObject): Add support for images here.
1059
1060 2010-05-05  Stuart Morgan  <stuartmorgan@chromium.org>
1061
1062         Reviewed by Darin Fisher.
1063
1064         Add a "focused" parameter to Widget::setFocus, and updates Document
1065         so that Widget is informed of focus loss as well as focus gain.
1066         Changes all existing setFocus implementations so that they ignore
1067         the 'false' case, so no behavior is changed until individual
1068         platforms are updated to handle the new case (if they want to).
1069
1070         https://bugs.webkit.org/show_bug.cgi?id=37961
1071
1072         * dom/Document.cpp:
1073         (WebCore::Document::setFocusedNode):
1074         * platform/Widget.h:
1075         * platform/android/WidgetAndroid.cpp:
1076         (WebCore::Widget::setFocus):
1077         * platform/chromium/WidgetChromium.cpp:
1078         (WebCore::Widget::setFocus):
1079         * platform/efl/WidgetEfl.cpp:
1080         (WebCore::Widget::setFocus):
1081         * platform/gtk/WidgetGtk.cpp:
1082         (WebCore::Widget::setFocus):
1083         * platform/haiku/WidgetHaiku.cpp:
1084         (WebCore::Widget::setFocus):
1085         * platform/mac/WidgetMac.mm:
1086         (WebCore::Widget::setFocus):
1087         * platform/qt/WidgetQt.cpp:
1088         (WebCore::Widget::setFocus):
1089         * platform/win/WidgetWin.cpp:
1090         (WebCore::Widget::setFocus):
1091         * platform/wx/WidgetWx.cpp:
1092         (WebCore::Widget::setFocus):
1093         * plugins/PluginView.h:
1094         * plugins/PluginViewNone.cpp:
1095         (WebCore::PluginView::setFocus):
1096         * plugins/gtk/PluginViewGtk.cpp:
1097         (WebCore::PluginView::setFocus):
1098         * plugins/mac/PluginViewMac.cpp:
1099         (WebCore::PluginView::setFocus):
1100         * plugins/qt/PluginViewQt.cpp:
1101         (WebCore::PluginView::setFocus):
1102         * plugins/symbian/PluginViewSymbian.cpp:
1103         (WebCore::PluginView::setFocus):
1104         * plugins/win/PluginViewWin.cpp:
1105         (WebCore::PluginView::setFocus):
1106
1107 2010-05-05  Steve Block  <steveblock@google.com>
1108
1109         Reviewed by Pavel Feldman.
1110
1111         Move V8 ScriptDebugServer::topStackFrame() to ScriptCallStack
1112         https://bugs.webkit.org/show_bug.cgi?id=38531
1113
1114         ScriptCallStack::create() uses ScriptDebugServer::topStackFrame(), but ScriptDebugServer
1115         is guarded with ENABLE(JAVASCRIPT_DEBUGGER). This prevents ScriptCallStack from being
1116         built on platforms that do not define ENABLE(JAVASCRIPT_DEBUGGER).
1117
1118         No new tests, build fix only.
1119
1120         * bindings/v8/ScriptCallStack.cpp:
1121         (WebCore::ScriptCallStack::callLocation):
1122         (WebCore::ScriptCallStack::createUtilityContext): Helper for topStackFrame, moved from ScriptDebugServer
1123         (WebCore::ScriptCallStack::topStackFrame): Moved from ScriptDebugServer
1124         * bindings/v8/ScriptCallStack.h:
1125         (WebCore::ScriptCallStack::utilityContext): Helper for topStackFrame, moved from ScriptDebugServer
1126         * bindings/v8/ScriptDebugServer.cpp:
1127         * bindings/v8/ScriptDebugServer.h:
1128
1129 2010-05-05  Csaba Osztrogonác  <ossy@webkit.org>
1130
1131         Rubber-stamped by Simon Hausmann.
1132
1133         [Qt] REGRESSION(r56869): WinCE build is broken
1134         https://bugs.webkit.org/show_bug.cgi?id=36929
1135
1136         * WebCore.pro: LIBS += -lOle32 added.
1137
1138 2010-05-05  Simon Hausmann  <simon.hausmann@nokia.com>
1139
1140         Reviewed by Tor Arne Vestbø.
1141
1142         [Qt] Disable Qt Multimedia backend for HTML 5 Audio and Video elements
1143
1144         Fall back to the Phonon backend until the release situation has been cleared up.
1145
1146         * WebCore.pro:
1147
1148 2010-05-05  Ilya Tikhonovsky  <loislo@chromium.org>
1149
1150         Reviewed by Pavel Feldman.
1151
1152         WebInspector: Clickable links to resources should be used as 'details' part for the all suitable kinds of records.
1153         https://bugs.webkit.org/show_bug.cgi?id=38542
1154
1155         * inspector/front-end/TimelinePanel.js:
1156         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1157         (WebInspector.TimelineRecordListRow):
1158         (WebInspector.TimelineRecordListRow.prototype.update):
1159         (WebInspector.TimelinePanel.FormattedRecord):
1160         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1161         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1162         (WebInspector.TimelinePanel.PopupContentHelper):
1163         (WebInspector.TimelinePanel.PopupContentHelper.prototype._createCell):
1164         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow):
1165         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
1166         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
1167
1168 2010-05-05  Nikolas Zimmermann  <nzimmermann@rim.com>
1169
1170         Not reviewed. Add missing files generated by "run-bindings-test", after the DOMTestCallback.idl addition.
1171
1172         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Added.
1173         (WebKit::kit):
1174         (webkit_dom_test_callback_callback_with_class1param):
1175         (webkit_dom_test_callback_callback_with_class2param):
1176         (webkit_dom_test_callback_callback_with_non_bool_return_type):
1177         (WebKit::wrapTestCallback):
1178         (WebKit::core):
1179         (webkit_dom_test_callback_finalize):
1180         (webkit_dom_test_callback_set_property):
1181         (webkit_dom_test_callback_get_property):
1182         (webkit_dom_test_callback_class_init):
1183         (webkit_dom_test_callback_init):
1184         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: Added.
1185         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h: Added.
1186         * bindings/scripts/test/ObjC/DOMTestCallback.h: Added.
1187         * bindings/scripts/test/ObjC/DOMTestCallback.mm: Added.
1188         (-[DOMTestCallback dealloc]):
1189         (-[DOMTestCallback finalize]):
1190         (-[DOMTestCallback callbackWithClass1Param:]):
1191         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
1192         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
1193         (-[DOMTestCallback customCallback:class6Param:]):
1194         (core):
1195         (kit):
1196         * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h: Added.
1197
1198 2010-05-05  Joseph Pecoraro  <joepeck@webkit.org>
1199
1200         Reviewed by Pavel Feldman.
1201
1202         Web Inspector: FontView needs Cleanup
1203         https://bugs.webkit.org/show_bug.cgi?id=38567
1204
1205         FontView was missing some of the newer practices for initialization
1206         that other Resource Views had. Also its width calculations could
1207         result in a single character wrapping. This is general cleanup.
1208
1209         * inspector/front-end/FontView.js:
1210         (WebInspector.FontView): move initialization into contentTabSelected
1211         (WebInspector.FontView.prototype.contentTabSelected): handle initialization like other Resource Views
1212         (WebInspector.FontView.prototype.updateFontPreviewSize): use a narrower width to prevent text from widowing
1213
1214 2010-05-05  Dirk Schulze  <krit@webkit.org>
1215
1216         Reviewed by Nikolas Zimmermann.
1217
1218         SVG hit testing is *way* too slow
1219         https://bugs.webkit.org/show_bug.cgi?id=19312
1220
1221         Use the cached stroke and fill boundaries in RenderPath as a heuristik to
1222         speed up SVG's hit testing.
1223
1224         No new tests added.
1225
1226         * rendering/RenderPath.cpp:
1227         (WebCore::RenderPath::fillContains):
1228         (WebCore::RenderPath::strokeContains):
1229
1230 2010-05-04  Dumitru Daniliuc  <dumi@chromium.org>
1231
1232         Reviewed by Adam Barth.
1233
1234         Auto-generate all Database callbacks.
1235         https://bugs.webkit.org/show_bug.cgi?id=38503
1236
1237         * DerivedSources.cpp:
1238         * DerivedSources.make:
1239         * GNUmakefile.am:
1240         * WebCore.gypi:
1241         * WebCore.pri:
1242         * WebCore.pro:
1243         * WebCore.vcproj/WebCore.vcproj:
1244         * WebCore.xcodeproj/project.pbxproj:
1245         * bindings/js/JSBindingsAllInOne.cpp:
1246         * bindings/js/JSCustomSQLStatementCallback.cpp: Removed.
1247         * bindings/js/JSCustomSQLStatementCallback.h: Removed.
1248         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1249         (WebCore::JSSQLStatementErrorCallback::handleEvent):
1250         * bindings/js/JSCustomSQLStatementErrorCallback.h: Removed.
1251         * bindings/js/JSCustomSQLTransactionCallback.cpp: Removed.
1252         * bindings/js/JSCustomSQLTransactionCallback.h: Removed.
1253         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Removed.
1254         * bindings/js/JSCustomSQLTransactionErrorCallback.h: Removed.
1255         * bindings/js/JSDatabaseCallback.cpp: Removed.
1256         * bindings/js/JSDatabaseCallback.h: Removed.
1257         * bindings/js/JSDatabaseCustom.cpp:
1258         (WebCore::JSDatabase::changeVersion):
1259         (WebCore::createTransaction):
1260         * bindings/js/JSSQLTransactionCustom.cpp:
1261         (WebCore::JSSQLTransaction::executeSql):
1262         * bindings/scripts/CodeGeneratorJS.pm:
1263         * bindings/scripts/test/JS/JSTestCallback.cpp:
1264         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Removed.
1265         * bindings/v8/custom/V8CustomSQLStatementCallback.h: Removed.
1266         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
1267         (WebCore::V8SQLStatementErrorCallback::handleEvent):
1268         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Removed.
1269         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Removed.
1270         * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Removed.
1271         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Removed.
1272         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Removed.
1273         * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
1274         * bindings/v8/custom/V8DatabaseCallback.h: Removed.
1275         * bindings/v8/custom/V8DatabaseCustom.cpp:
1276         (WebCore::V8Database::changeVersionCallback):
1277         (WebCore::createTransaction):
1278         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1279         (WebCore::V8SQLTransaction::executeSqlCallback):
1280         * storage/DatabaseCallback.h:
1281         * storage/DatabaseCallback.idl: Added.
1282         * storage/SQLStatement.cpp:
1283         (WebCore::SQLStatement::performCallback):
1284         * storage/SQLStatementCallback.h:
1285         * storage/SQLStatementCallback.idl: Added.
1286         * storage/SQLStatementErrorCallback.idl: Added.
1287         * storage/SQLTransaction.cpp:
1288         (WebCore::SQLTransaction::deliverTransactionCallback):
1289         * storage/SQLTransactionCallback.h:
1290         * storage/SQLTransactionCallback.idl: Added.
1291         * storage/SQLTransactionErrorCallback.h:
1292         * storage/SQLTransactionErrorCallback.idl: Added.
1293
1294 2010-05-04  Chris Marrin  <cmarrin@apple.com>
1295
1296         Reviewed by Simon Fraser.
1297
1298         Made composited iframes work on Windows
1299         https://bugs.webkit.org/show_bug.cgi?id=32446
1300         
1301         This completes the work in http://trac.webkit.org/changeset/57919
1302         to create compositing layers in the parent document when an iframe has 
1303         a compositing layer. The parent document has a layer for the iframe 
1304         element and builds a layer tree to the page root. The layer tree for the
1305         iframe document is then parented to the iframe element's GraphicsLayer.
1306         
1307         The RenderLayerCompositor for the iframe document (which owns the
1308         root of the layer tree) now has a clippingLayer which is the 
1309         parent of the layer tree root so it can be clipped to the parent
1310         iframe's bounds, taking into account borders, padding, etc. in
1311         the parent iframe element.
1312         
1313         I also got rid of a no longer used function: RenderLayerCompositor::parentInRootLayer
1314
1315         Test: compositing/iframes/composited-parent-iframe.html
1316
1317         * rendering/RenderLayerBacking.cpp:Make calls to RenderLayerCompositor to set the clipping bounds for iframe content
1318         * rendering/RenderLayerCompositor.cpp:Hook the iframe content to the parent iframe element
1319         * rendering/RenderLayerCompositor.h:
1320
1321 2010-05-03  Alexey Proskuryakov  <ap@apple.com>
1322
1323         Reviewed by Adam Barth.
1324
1325         https://bugs.webkit.org/show_bug.cgi?id=38497
1326         <rdar://problem/7759438> Make sure that http URLs always have a host in SecurityOrigin
1327
1328         This is a hardening fix, and behavior really depends on what an underlying networking layer
1329         does. So, no test.
1330
1331         * page/SecurityOrigin.cpp:
1332         (WebCore::schemeRequiresAuthority): List schemes that need an authority for successful loading.
1333         (WebCore::SecurityOrigin::SecurityOrigin): Never let e.g. http origins with empty authorities
1334         have the same security origin.
1335
1336 2010-05-04  Zhenyao Mo  <zmo@google.com>
1337
1338         Reviewed by Dimitri Glazkov.
1339
1340         getFramebufferAttachmentParameter should return the original WebGLTexture/WebGLRenderbuffer instead of creating new ones sharing names.
1341         https://bugs.webkit.org/show_bug.cgi?id=38236
1342
1343         * html/canvas/CanvasObject.h: Add type check functions.
1344         (WebCore::CanvasObject::isBuffer):
1345         (WebCore::CanvasObject::isFramebuffer):
1346         (WebCore::CanvasObject::isProgram):
1347         (WebCore::CanvasObject::isRenderbuffer):
1348         (WebCore::CanvasObject::isShader):
1349         (WebCore::CanvasObject::isTexture):
1350         * html/canvas/WebGLBuffer.h: Add type check functions.
1351         (WebCore::WebGLBuffer::isBuffer):
1352         * html/canvas/WebGLFramebuffer.h: Add type check functions.
1353         (WebCore::WebGLFramebuffer::isFramebuffer):
1354         * html/canvas/WebGLProgram.h: Add type check functions.
1355         (WebCore::WebGLProgram::isProgram):
1356         * html/canvas/WebGLRenderbuffer.cpp: remove constructor using existing name.
1357         * html/canvas/WebGLRenderbuffer.h: Add type check functions; remove constructor using existing name.
1358         (WebCore::WebGLRenderbuffer::isRenderbuffer):
1359         * html/canvas/WebGLRenderingContext.cpp:
1360         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Return original Texture/Renderbuffer instead of creating new ones.
1361         (WebCore::WebGLRenderingContext::findTexture): Find a WebGLTexture using a name.
1362         (WebCore::WebGLRenderingContext::findRenderbuffer): Find a WebGLRenderbuffer using a name.
1363         * html/canvas/WebGLRenderingContext.h: Add find* functions.
1364         * html/canvas/WebGLShader.h: Add type check functions.
1365         (WebCore::WebGLShader::isShader):
1366         * html/canvas/WebGLTexture.cpp: remove constructor using existing name.
1367         * html/canvas/WebGLTexture.h: Add type check functions; remove constructor using existing name.
1368         (WebCore::WebGLTexture::isTexture):
1369
1370 2010-05-04  Luiz Agostini  <luiz.agostini@openbossa.org>
1371
1372         Reviewed by Simon Hausmann.
1373
1374         [Qt] QT_MOBILE_THEME compile time flag
1375         https://bugs.webkit.org/show_bug.cgi?id=38439
1376
1377         Replacing preprocessor conditional used in RenderThemeQt from Q_WS_MAEMO_5 to
1378         USE(QT_MOBILE_THEME).
1379
1380         * WebCore.pro:
1381         * platform/qt/RenderThemeQt.cpp:
1382         (WebCore::RenderThemeQt::RenderThemeQt):
1383         (WebCore::RenderThemeQt::qStyle):
1384         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
1385         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
1386         (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
1387         * platform/qt/RenderThemeQt.h:
1388
1389 2010-05-04  Joseph Pecoraro  <joepeck@webkit.org>
1390
1391         Reviewed by Dan Bernstein.
1392
1393         SVG fonts trigger GlyphPage::fill with null font
1394         https://bugs.webkit.org/show_bug.cgi?id=38530
1395
1396         SVG fonts do not use the glyph page cache. This change detects when
1397         attempting to fill a GlyphPage with an SVG font and indicates that
1398         the glyphs were not available.
1399
1400         * platform/graphics/GlyphPageTreeNode.cpp:
1401         (WebCore::fill): helper method which handles attempts to fill a GlyphPage with SVG or non-SVG fonts
1402         (WebCore::GlyphPageTreeNode::initializePage): use the helper where appropriate
1403
1404 2010-05-04  Kent Tamura  <tkent@chromium.org>
1405
1406         Reviewed by David Levin (and unofficially by Enrica Casucci).
1407
1408         REGRESSION(r54368): Text drag-and-drop from input/textarea doesn't work
1409         if the text is like a URL
1410         https://bugs.webkit.org/show_bug.cgi?id=38374
1411
1412         Since r54368, documentFragmentFromDragData() creates an <a> element
1413         with no anchor text for URL-like text dragged from input/textarea
1414         element. If such text is dropped to input/textarea element, the text
1415         is not inserted.
1416         To fix this problem, use the original text or the URL as an anchor
1417         text.
1418
1419         Test: editing/pasteboard/drag-drop-url-text.html
1420
1421         * page/DragController.cpp:
1422         (WebCore::documentFragmentFromDragData):
1423
1424 2010-05-04  Steve Block  <steveblock@google.com>
1425
1426         Reviewed by Darin Adler.
1427
1428         JavaInstanceJSC.cpp and JNIUtilityPrivate.cpp need to include jni_jsobject.h for jlong_to_pt() and ptr_to_jlong()
1429         https://bugs.webkit.org/show_bug.cgi?id=38525
1430
1431         No new tests, build fix only.
1432
1433         * bridge/jni/jni_jsobject.h: Guard Mac-specific code with PLATFORM(MAC)
1434         * bridge/jni/jsc/JNIUtilityPrivate.cpp: Include jni_jsobject.h
1435         * bridge/jni/jsc/JavaInstanceJSC.cpp: Include jni_jsobject.h
1436
1437 2010-05-04  Steve Block  <steveblock@google.com>
1438
1439         Reviewed by Darin Adler.
1440
1441         New FileSystemPOSIX functions cause linker errors on Android
1442         https://bugs.webkit.org/show_bug.cgi?id=38521
1443
1444         No new tests, build fix only.
1445
1446         * platform/android/FileSystemAndroid.cpp: Remove closeFile, which is provided in FileSystemPOSIX.cpp
1447         * platform/posix/FileSystemPOSIX.cpp: Guard writeToFile with !PLATFORM(ANDROID)
1448
1449 2010-05-04  Pavel Feldman  <pfeldman@chromium.org>
1450
1451         Reviewed by Timothy Hatcher.
1452
1453         Web Inspector: restore main and sidebar scroller positions
1454         when switching between panels.
1455
1456         https://bugs.webkit.org/show_bug.cgi?id=38522
1457
1458         * inspector/front-end/ElementsPanel.js:
1459         (WebInspector.ElementsPanel.prototype.elementsToRestoreScrollPositionsFor):
1460         * inspector/front-end/Panel.js:
1461         (WebInspector.Panel.prototype.show):
1462         (WebInspector.Panel.prototype.hide):
1463         (WebInspector.Panel.prototype.elementsToRestoreScrollPositionsFor):
1464         (WebInspector.Panel.prototype._storeScrollPositions):
1465         (WebInspector.Panel.prototype._restoreScrollPositions):
1466         * inspector/front-end/ResourcesPanel.js:
1467         (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor):
1468         * inspector/front-end/ScriptsPanel.js:
1469         (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
1470
1471 2010-05-04  Steven Lai  <steven_lai@asia.apple.com>
1472
1473         Reviewed by Darin Adler.
1474
1475         https://bugs.webkit.org/show_bug.cgi?id=37900
1476         <rdar://problem/7806164> cloneNode() does not preserve z-index with more than six digits 
1477
1478         Tests: fast/dom/HTMLInputElement/clone-input-checked.html
1479                fast/dom/clone-node-z-index.html
1480
1481         * dom/Element.cpp: undid the order change of calling copyNonAttributeProperties() before setAttributes()
1482         (WebCore::Element::cloneElementWithoutChildren): uncheck the previous radio button in the same radio button group only when the checked radio box is appended to the dom tree
1483         * html/HTMLInputElement.cpp:
1484         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
1485         (WebCore::HTMLInputElement::attach):
1486         (WebCore::HTMLInputElement::setChecked):
1487         * html/HTMLInputElement.h:
1488
1489 2010-04-29  John Gregg  <johnnyg@google.com>
1490
1491         Reviewed by Dmitry Titov.
1492
1493         notifications should have dir and replaceId attributes.
1494         Note that tests are only enabled in Chromium, skipped elsewhere
1495         since notifications aren't implemented.
1496         https://bugs.webkit.org/show_bug.cgi?id=38336
1497
1498         Tests: fast/notifications/notifications-replace.html
1499                fast/notifications/notifications-rtl.html
1500
1501         * notifications/Notification.h:
1502         (WebCore::Notification::dir):
1503         (WebCore::Notification::setDir):
1504         (WebCore::Notification::replaceId):
1505         (WebCore::Notification::setReplaceId):
1506         * notifications/Notification.idl:
1507
1508 2010-05-04  Alejandro G. Castro  <alex@igalia.com>
1509
1510         Reviewed by Xan Lopez.
1511
1512         Fixed error defining the float/double minimum in the object
1513         properties, the smallest value of a float/double is
1514         -G_MAXDOUBLE/-G_MAXFLOAT.
1515
1516         * bindings/scripts/CodeGeneratorGObject.pm:
1517
1518 2010-05-03  Joseph Pecoraro  <joepeck@webkit.org>
1519
1520         Reviewed by Dan Bernstein.
1521
1522         REGRESSION: Text clipped in absolutely positioned search inputs
1523         https://bugs.webkit.org/show_bug.cgi?id=38468
1524
1525         Previously I incorrectly added x() and y() to the tx and ty positioning.
1526         This clips a search input like a text input, respecting the vertically
1527         centered text.
1528
1529         * rendering/RenderTextControlSingleLine.cpp:
1530         (WebCore::RenderTextControlSingleLine::layout): only the Y changes, so change setLocation to setY
1531         (WebCore::RenderTextControlSingleLine::controlClipRect):
1532
1533 2010-05-04  Alexander Pavlov  <apavlov@chromium.org>
1534
1535         Reviewed by Timothy Hatcher.
1536
1537         Web Inspector: REGRESSION: Up/Down, PgUp/PgDown keys do not change numeric style properties
1538         https://bugs.webkit.org/show_bug.cgi?id=38516
1539
1540         * inspector/front-end/StylesSidebarPane.js:
1541         (WebInspector.StylePropertyTreeElement.prototype):
1542
1543 2010-05-04  Ben Murdoch  <benm@google.com>
1544
1545         Reviewed by Simon Hausmann.
1546
1547         Crash in handleTouchEvent: using dangling node ptrs in hashmap
1548         https://bugs.webkit.org/show_bug.cgi?id=38514
1549
1550         When navigating away from a page, if you have your finger still
1551         pressed and then lift it on the new page we see a crash if the
1552         node got deleted as we still have a dangling pointer in the
1553         m_originatingTouchPointTargets hashmap and try to use it as the
1554         receiver to dispatch a touchend event.
1555
1556         Test: fast/events/touch/touch-stale-node-crash.html
1557
1558         * page/EventHandler.cpp:
1559         (WebCore::EventHandler::clear): Clear the hashmap of touch targets.
1560
1561 2010-05-04  Joseph Pecoraro  <joepeck@webkit.org>
1562
1563         Reviewed by Pavel Feldman.
1564
1565         Web Inspector: Drawer Misbehaving when Docking / Undocking in Console Panel
1566         https://bugs.webkit.org/show_bug.cgi?id=38510
1567
1568         * inspector/front-end/inspector.js:
1569         (WebInspector.set attached): resize the drawer after docking/undocking
1570
1571 2010-05-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1572
1573         Unreviewed, build fix for Symbian.
1574
1575         [Symbian] Build fix after r58598. 
1576
1577         Use C99 integer types for the Symbian plugin
1578         implementation.
1579
1580         No new tests, as there is no new functionality.
1581
1582         * plugins/symbian/PluginPackageSymbian.cpp:
1583         (WebCore::PluginPackage::NPVersion):
1584         * plugins/symbian/PluginViewSymbian.cpp:
1585         (WebCore::PluginView::handlePostReadFile):
1586
1587 2010-05-04  Nikolas Zimmermann  <nzimmermann@rim.com>
1588
1589         Reviewed by Dirk Schulze.
1590
1591         Split SVGCharacterLayoutInfo in smaller pieces
1592         https://bugs.webkit.org/show_bug.cgi?id=38513
1593
1594         Split SVGCharacterLayoutInfo into SVGCharacterLayoutInfo/SVGCharacterData and SVGTextChunkLayoutInfo.
1595         This is a preparation for more work in the text area.
1596
1597         * Android.mk: Add SVGCharacterData.(cpp|h) and SVGTextChunkLayoutInfo.h to build.
1598         * GNUmakefile.am: Ditto.
1599         * WebCore.gypi: Ditto.
1600         * WebCore.pro: Ditto
1601         * WebCore.vcproj/WebCore.vcproj: Ditto.
1602         * WebCore.xcodeproj/project.pbxproj: Ditto.
1603         * rendering/SVGCharacterData.cpp: Copied from rendering/SVGCharacterLayoutInfo.cpp.
1604         * rendering/SVGCharacterData.h: Copied from rendering/SVGCharacterLayoutInfo.h.
1605         (WebCore::SVGChar::SVGChar):
1606         * rendering/SVGCharacterLayoutInfo.cpp:
1607         (WebCore::SVGCharacterLayoutInfo::isInitialLayout): Introduced new helper function to share code between addLayoutInformation/addStackContent.
1608         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): Use new helper function.
1609         (WebCore::SVGCharacterLayoutInfo::addStackContent): Ditto
1610         * rendering/SVGCharacterLayoutInfo.h:
1611         * rendering/SVGRootInlineBox.h: Include new files.
1612         * rendering/SVGTextChunkLayoutInfo.h: Copied from rendering/SVGCharacterLayoutInfo.h.
1613
1614 2010-05-04  Xan Lopez  <xlopez@igalia.com>
1615
1616         Reviewed by Holger Freyther.
1617
1618         [GTK] GObject DOM bindings
1619         https://bugs.webkit.org/show_bug.cgi?id=33590
1620
1621         Use helper functions from CodeGenerator.pm to figure out whether a
1622         type is "fundamental" or not (basically whether it's anything
1623         other than a string or a non-pointer type).
1624
1625         * bindings/scripts/CodeGeneratorGObject.pm:
1626
1627 2010-04-30  Alexander Pavlov  <apavlov@chromium.org>
1628
1629         Reviewed by Yury Semikhatsky.
1630
1631         Web Inspector: REGRESSION: Disabled style properties are absent in Styles sidebar after WebInspector is re-opened
1632         https://bugs.webkit.org/show_bug.cgi?id=38255
1633
1634         Moved stylesheet-related mappings into a separate object stored
1635         in InspectorController rather than InspectorDOMAgent (which gets reset
1636         on every frontend [dis]connect).
1637
1638         * GNUmakefile.am:
1639         * WebCore.gypi:
1640         * WebCore.pro:
1641         * WebCore.vcproj/WebCore.vcproj:
1642         * WebCore.xcodeproj/project.pbxproj:
1643         * inspector/InspectorCSSStore.cpp: Added.
1644         (WebCore::InspectorCSSStore::InspectorCSSStore):
1645         (WebCore::InspectorCSSStore::~InspectorCSSStore):
1646         (WebCore::InspectorCSSStore::reset):
1647         * inspector/InspectorCSSStore.h: Added.
1648         * inspector/InspectorController.cpp:
1649         (WebCore::InspectorController::InspectorController):
1650         (WebCore::InspectorController::setFrontend):
1651         (WebCore::InspectorController::didCommitLoad):
1652         * inspector/InspectorController.h:
1653         * inspector/InspectorDOMAgent.cpp:
1654         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1655         (WebCore::InspectorDOMAgent::discardBindings):
1656         (WebCore::InspectorDOMAgent::applyStyleText):
1657         (WebCore::InspectorDOMAgent::setStyleText):
1658         (WebCore::InspectorDOMAgent::setStyleProperty):
1659         (WebCore::InspectorDOMAgent::toggleStyleEnabled):
1660         (WebCore::InspectorDOMAgent::setRuleSelector):
1661         (WebCore::InspectorDOMAgent::addRule):
1662         (WebCore::InspectorDOMAgent::bindStyle):
1663         (WebCore::InspectorDOMAgent::bindRule):
1664         (WebCore::InspectorDOMAgent::buildObjectForStyle):
1665         (WebCore::InspectorDOMAgent::buildObjectForRule):
1666         * inspector/InspectorDOMAgent.h:
1667         (WebCore::InspectorDOMAgent::create):
1668         (WebCore::InspectorDOMAgent::cssStore):
1669
1670 2010-05-04  Mikhail Naganov  <mnaganov@chromium.org>
1671
1672         Reviewed by Pavel Feldman.
1673
1674         Display "Recording..." item when recording an user-initiated CPU profile.
1675
1676         https://bugs.webkit.org/show_bug.cgi?id=38043
1677
1678         * English.lproj/localizedStrings.js:
1679         * inspector/front-end/ProfilesPanel.js:
1680         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
1681         (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
1682         (WebInspector.ProfilesPanel.prototype.showProfile):
1683         * inspector/front-end/inspector.js:
1684         (WebInspector.setRecordingProfile):
1685
1686 2010-05-04  Tucker Jay  <jay.tucker@nokia.com>
1687
1688         Reviewed by Holger Freyther.
1689
1690         Animated GIF images does not animate 10x as expected by default.
1691         https://bugs.webkit.org/show_bug.cgi?id=36818
1692
1693         Added test case to existing manual test to test the
1694         fixed functionality.
1695
1696         * manual-tests/qt/qt-10loop-anim.gif: Added.
1697         * manual-tests/qt/qt-gif-test.html:
1698         * platform/graphics/qt/ImageDecoderQt.cpp:
1699         (WebCore::ImageDecoderQt::repetitionCount):
1700
1701 2010-05-04  Dirk Schulze  <krit@webkit.org>
1702
1703         Unreviewed sort of XCodes project file.
1704
1705         * WebCore.xcodeproj/project.pbxproj:
1706
1707 2010-05-03  Steven Lai  <steven_lai@asia.apple.com>
1708
1709         Reviewed by Brady Eidson.
1710
1711         Reverted hashchange() event back to async.
1712         (This change does not update HashChangeEvent to its new proposed interface)
1713         https://bugs.webkit.org/show_bug.cgi?id=36201
1714         rdar://problem/7780794
1715         rdar://problem/7761278 (partial fix)
1716
1717         Tests: fast/loader/hashchange-event-async.html
1718
1719         * dom/Document.cpp: reverted hashchange() event back to async
1720         (WebCore::Document::enqueueHashchangeEvent):
1721
1722 2010-05-03  Holger Hans Peter Freyther  <zecke@selfish.org>
1723
1724         Rubber-stamped by Xan Lopez.
1725
1726         [Cairo,WX] Stop leaking a FontPlatformData.
1727         https://bugs.webkit.org/show_bug.cgi?id=37500
1728
1729         Stephan Aßmus pointed out that the pango font backend
1730         is leaking memory and fixed it. The WX font backend
1731         and the Cairo/Fontconfig backend have the same snippet
1732         of code and are leaking memory as well. This commit is
1733         fixing that.
1734
1735         * platform/graphics/cairo/SimpleFontDataCairo.cpp:
1736         (WebCore::SimpleFontData::smallCapsFontData):
1737         * platform/graphics/wx/SimpleFontDataWx.cpp:
1738         (WebCore::SimpleFontData::smallCapsFontData):
1739
1740 2010-05-03  James Robinson  <jamesr@chromium.org>
1741
1742         Reviewed by Eric Seidel.
1743
1744         Clean up a few compiler warnings
1745         https://bugs.webkit.org/show_bug.cgi?id=38073
1746
1747         * html/TextMetrics.h:
1748         (WebCore::TextMetrics::width):
1749         * rendering/style/StyleRareInheritedData.h:
1750         * rendering/style/StyleRareNonInheritedData.h:
1751
1752 2010-05-02  Dumitru Daniliuc  <dumi@chromium.org>
1753
1754         Reviewed by Adam Barth.
1755
1756         Add the ability to auto-generate callbacks to all code generators.
1757         https://bugs.webkit.org/show_bug.cgi?id=38414
1758
1759         * bindings/scripts/CodeGeneratorJS.pm:
1760         * bindings/scripts/CodeGeneratorV8.pm:
1761         * bindings/scripts/test/JS/JSTestCallback.cpp: Added.
1762         (WebCore::JSTestCallback::JSTestCallback):
1763         (WebCore::JSTestCallback::~JSTestCallback):
1764         (WebCore::JSTestCallback::callbackWithClass1Param):
1765         (WebCore::JSTestCallback::callbackWithClass2Param):
1766         * bindings/scripts/test/JS/JSTestCallback.h: Added.
1767         (WebCore::JSTestCallback::create):
1768         * bindings/scripts/test/V8/JSTestCallback.cpp: Added.
1769         (WebCore::V8TestCallback::V8TestCallback):
1770         (WebCore::V8TestCallback::~V8TestCallback):
1771         (WebCore::V8TestCallback::callbackWithClass1Param):
1772         (WebCore::V8TestCallback::callbackWithClass2Param):
1773         * bindings/scripts/test/V8/V8TestCallback.h: Added.
1774         (WebCore::V8TestCallback::create):
1775         * bindings/scripts/test/TestCallback.idl: Added.
1776
1777 2010-05-03  Kevin Watters  <kevinwatters@gmail.com>
1778
1779         Reviewed by Kevin Ollivier.
1780
1781         [wx] Build and use Mac's ComplexTextController to support complex text in wx.
1782         https://bugs.webkit.org/show_bug.cgi?id=38482
1783
1784         * platform/graphics/FloatSize.h:
1785         * platform/graphics/GlyphBuffer.h:
1786         (WebCore::GlyphBuffer::advanceAt):
1787         (WebCore::GlyphBuffer::add):
1788         * platform/graphics/SimpleFontData.h:
1789         (WebCore::SimpleFontData::getNSFont):
1790         * platform/graphics/mac/ComplexTextController.cpp:
1791         * platform/graphics/mac/ComplexTextController.h:
1792         * platform/graphics/wx/FontCacheWx.cpp:
1793         (WebCore::FontCache::getFontDataForCharacters):
1794         (WebCore::FontCache::getLastResortFallbackFont):
1795         * platform/graphics/wx/FontPlatformData.h:
1796         (toCTFontRef):
1797         (WebCore::FontPlatformData::FontPlatformData):
1798         (WebCore::FontPlatformData::allowsLigatures):
1799         * platform/graphics/wx/FontPlatformDataWx.cpp:
1800         (WebCore::FontPlatformData::FontPlatformData):
1801         (WebCore::FontPlatformData::cgFont):
1802         * platform/graphics/wx/FontPlatformDataWxMac.mm: Added.
1803         (WebCore::FontPlatformData::nsFont):
1804         (WebCore::FontPlatformData::cacheNSFont):
1805         * platform/graphics/wx/FontWx.cpp:
1806         (WebCore::Font::canReturnFallbackFontsForComplexText):
1807         (WebCore::Font::selectionRectForComplexText):
1808         (WebCore::Font::drawComplexText):
1809         (WebCore::Font::floatWidthForComplexText):
1810         (WebCore::Font::offsetForPositionForComplexText):
1811         * platform/graphics/wx/SimpleFontDataWx.cpp:
1812         (WebCore::SimpleFontData::platformInit):
1813         (WebCore::SimpleFontData::containsCharacters):
1814         (WebCore::SimpleFontData::platformWidthForGlyph):
1815         * platform/wx/wxcode/fontprops.h:
1816         * platform/wx/wxcode/mac/carbon/fontprops.mm:
1817         (wxFontContainsCharacters):
1818         (GetTextExtent):
1819         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
1820         (WebCore::drawTextWithSpacing):
1821         * platform/wx/wxcode/win/fontprops.cpp:
1822         (wxFontContainsCharacters):
1823         * wscript:
1824
1825 2010-05-03  Abhishek Arya  <inferno@chromium.org>
1826
1827         Reviewed by Adam Barth.
1828
1829         Add support for controlling clipboard access from javascript.
1830         Clipboard access from javascript is disabled by default.
1831         https://bugs.webkit.org/show_bug.cgi?id=27751
1832
1833         Test: editing/execCommand/clipboard-access.html
1834
1835         * WebCore.base.exp:
1836         * editing/EditorCommand.cpp:
1837         (WebCore::supportedCopyCut):
1838         (WebCore::supportedPaste):
1839         (WebCore::createCommandMap):
1840         * page/Settings.cpp:
1841         (WebCore::Settings::Settings):
1842         (WebCore::Settings::setJavaScriptCanAccessClipboard):
1843         * page/Settings.h:
1844         (WebCore::Settings::javaScriptCanAccessClipboard):
1845
1846 2010-05-03  Alexey Proskuryakov  <ap@apple.com>
1847
1848         Reviewed by Adam Barth.
1849
1850         https://bugs.webkit.org/show_bug.cgi?id=38285
1851         <rdar://problem/7903453> REGRESSION: Javascript command window.open does not work in empty tab
1852
1853         Cannot be tested, because new windows created in DRT always have an opener, and thus inherit
1854         its security origin. Only new windows and tabs created by browser chrome had this problem.
1855
1856         * loader/FrameLoader.cpp: (WebCore::FrameLoader::init): Moved updateSandboxFlags() call to
1857         the beginning, so that an initial document would get correct flags.
1858
1859 2010-05-03  Noam Rosenthal  <noam.rosenthal@nokia.com>
1860
1861         Reviewed by Darin Adler.
1862
1863         WebGL compile issue.
1864         Added ExceptionCode.h to JSWebGLArrayBufferConstructor.cpp, for some reason it was missing.
1865         https://bugs.webkit.org/show_bug.cgi?id=38453
1866
1867         No new tests: compile fix.
1868
1869         * bindings/js/JSWebGLArrayBufferConstructor.cpp:
1870
1871 2010-05-03  Eric Seidel  <eric@webkit.org>
1872
1873         Unreviewed, rolling out r58685.
1874         http://trac.webkit.org/changeset/58685
1875         https://bugs.webkit.org/show_bug.cgi?id=38461
1876
1877         Broke a test on Gtk
1878
1879         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1880         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
1881
1882 2010-05-03  Yael Aharon  <yael.aharon@nokia.com>
1883
1884         Reviewed by Darin Adler.
1885
1886         Use HTML5 number parsing in HTMLProgressElement
1887         https://bugs.webkit.org/show_bug.cgi?id=38434
1888
1889         Use parseToDoubleForNumberType instead of toDouble.
1890         Throw an exception when the number is NaN or Infinity.
1891
1892         * html/HTMLProgressElement.cpp:
1893         (WebCore::HTMLProgressElement::value):
1894         (WebCore::HTMLProgressElement::setValue):
1895         (WebCore::HTMLProgressElement::max):
1896         (WebCore::HTMLProgressElement::setMax):
1897         * html/HTMLProgressElement.h:
1898         * html/HTMLProgressElement.idl:
1899
1900 2010-05-03  Jens Alfke  <snej@chromium.org>
1901
1902         Reviewed by Darin Fisher.
1903
1904         [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
1905         https://bugs.webkit.org/show_bug.cgi?id=38397
1906
1907         No tests (functionality is exposed only through native WebKit API.)
1908
1909         * html/HTMLFormElement.cpp:
1910         (WebCore::HTMLFormElement::prepareSubmit):  Call frame loader's dispatchWillSendSubmitEvent
1911         * loader/EmptyClients.h:
1912         * loader/FrameLoaderClient.h:
1913         (WebCore::FrameLoaderClient::dispatchWillSendSubmitEvent):  New empty method
1914
1915 2010-05-03  Philippe Normand  <pnormand@igalia.com>
1916
1917         Reviewed by Eric Carlson.
1918
1919         [GStreamer] forgotten call to durationChanged in updateStates()
1920         https://bugs.webkit.org/show_bug.cgi?id=38461
1921
1922         Notify MediaPlayer if duration is known after playback started.
1923
1924         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1925         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
1926
1927 2010-05-03  Ryuan Choi  <ryuan.choi@gmail.com>
1928
1929         Reviewed by Darin Adler.
1930
1931         fixing build break due to clearWatch() when Geolocation feature is
1932         disabled.
1933
1934         https://bugs.webkit.org/show_bug.cgi?id=38091
1935
1936         no test because this is a build fix only
1937
1938         * page/Geolocation.cpp:
1939         (WebCore::Geolocation::clearWatch):
1940
1941 2010-05-03  Stephan Aßmus  <superstippi@gmx.de>
1942
1943         Reviewed by Holger Freyther.
1944
1945         [Gtk] Fix leaking the FontPlatformData instance used to create the the
1946         small caps font data.
1947         https://bugs.webkit.org/show_bug.cgi?id=37500
1948
1949         No new tests needed.
1950
1951         * platform/graphics/gtk/SimpleFontDataPango.cpp:
1952         (WebCore::SimpleFontData::smallCapsFontData):
1953             - Use a stack allocated FontPlatformData instead of a heap allocated
1954               one that is never freed.
1955
1956 2010-05-03  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
1957
1958         Reviewed by Simon Hausmann.
1959
1960         [Qt] GraphicsLayer: support webGL
1961         https://bugs.webkit.org/show_bug.cgi?id=35388
1962
1963         Added support GraphicsContext3D to GraphicsLayer.
1964         Added paint method to GraphicsContext3D for Qt platform that
1965         uses drawTexture() when QGLWidget is used as viewport of
1966         QGraphicsWebView.
1967         Fine-tuned texture and handling and image to texture conversion to
1968         work also when drawTexture() blitting is used.
1969
1970         * platform/graphics/GraphicsContext3D.h:
1971         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1972         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
1973         (WebCore::GraphicsContext3D::beginPaint):
1974         (WebCore::GraphicsContext3D::paint):
1975         (WebCore::GraphicsContext3D::texImage2D):
1976         (WebCore::GraphicsContext3D::texSubImage2D):
1977         (WebCore::GraphicsContext3D::getImageData):
1978         * platform/graphics/qt/GraphicsLayerQt.cpp:
1979         (WebCore::GraphicsLayerQtImpl::):
1980         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
1981         (WebCore::GraphicsLayerQtImpl::paint):
1982         (WebCore::GraphicsLayerQtImpl::flushChanges):
1983         (WebCore::GraphicsLayerQt::setContentsToGraphicsContext3D):
1984         (WebCore::GraphicsLayerQt::setGraphicsContext3DNeedsDisplay):
1985         * platform/graphics/qt/GraphicsLayerQt.h:
1986
1987 2010-05-03  Janne Koskinen  <janne.p.koskinen@digia.com>
1988
1989         Reviewed by Simon Hausmann.
1990
1991         [Qt] Fix qtlibraryinfix not to contain space
1992
1993         List catenation with += adds whitespace cutting the infix
1994         from the final target.
1995
1996         * WebCore.pro:
1997
1998 2010-05-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1999
2000         Reviewed by Simon Hausmann.
2001
2002         [Qt] Fix rendering of <button> elements on Mac OS X
2003
2004         The <button> element has ButtonPart appearance, not PushButton part,
2005         so we have to include ButtonPart when we decide if we should draw the
2006         button as raised on Mac OS X.
2007
2008         https://bugs.webkit.org/show_bug.cgi?id=38458
2009
2010         * platform/qt/RenderThemeQt.cpp:
2011         (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
2012
2013 2010-04-30  Philippe Normand  <pnormand@igalia.com>
2014
2015         Reviewed by Eric Seidel.
2016
2017         [GStreamer] endless loop after playback ended
2018         https://bugs.webkit.org/show_bug.cgi?id=38384
2019
2020         At playback end ensure duration() will return a valid duration if
2021         we managed to calculate it based on current position.
2022
2023         Test: media/video-duration-known-after-eos.html
2024
2025         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2026         (WebCore::MediaPlayerPrivateGStreamer::didEnd):
2027
2028 2010-05-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2029
2030         [Qt] Fix build break on Mac OS X
2031
2032         * plugins/mac/PluginPackageMac.cpp: Use correct type
2033         * WebCore.pro: Remove duplicate symbol, we now have a Qt implementation
2034
2035 2010-05-03  Thomas Zander <t.zander@nokia.com>
2036
2037         Reviewed by Simon Hausmann.
2038
2039         [Qt] Fix library infix usage when compiling inside of Qt
2040
2041         Don't apply the infix when building inside Qt, as that's done through the
2042         inclusion of qbase.pri.
2043
2044         * WebCore.pro:
2045
2046 2010-05-02  Dan Bernstein  <mitz@apple.com>
2047
2048         Reviewed by Simon Fraser.
2049
2050         Another case of <rdar://problem/7552959> REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
2051         https://bugs.webkit.org/show_bug.cgi?id=38445
2052
2053         Test: editing/selection/mixed-editability-11.html
2054
2055         * dom/Position.cpp:
2056         (WebCore::downstreamIgnoringEditingBoundaries): Added. Returns the furthest visually equivalent
2057         position downstream, crossing any editability boundaries.
2058         (WebCore::upstreamIgnoringEditingBoundaries): Similarly for upstream.
2059         (WebCore::Position::getInlineBoxAndOffset): Changed the logic for finding an inline box for positions
2060         whose node is a block flow. Instead of traversing the DOM, advance downstream or upstream as far as
2061         possible, crossing any editability boudaries. Infinite recursion is avoided by advancing all the way
2062         and checking that the new position is different from the starting position. Also replaced the specific
2063         test for buttons with the generic and more comprehensive canHaveChildrenForEditing().
2064
2065 2010-05-02  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
2066
2067         Reviewed by Simon Hausmann.
2068
2069         [Qt] Fix compilation with QT_NO_BEARERMANAGEMENT
2070         https://bugs.webkit.org/show_bug.cgi?id=38324
2071
2072         * platform/network/NetworkStateNotifier.h:
2073         * platform/network/qt/NetworkStateNotifierQt.cpp:
2074
2075 2010-04-29  Janne Koskinen  <janne.p.koskinen@digia.com>
2076
2077         Reviewed by Simon Hausmann.
2078
2079         [Qt] QtWebKit versioning added
2080         https://bugs.webkit.org/show_bug.cgi?id=37207
2081
2082         QtWebkit releases separated from Qt release cycle.
2083
2084         * WebCore.pro:
2085
2086 2010-05-02  Joseph Pecoraro  <joepeck@webkit.org>
2087
2088         Reviewed by Timothy Hatcher.
2089
2090         Web Inspector: Old Style trimWhitespace() should be trim()
2091         https://bugs.webkit.org/show_bug.cgi?id=38441
2092
2093         * inspector/front-end/SourceFrame.js:
2094         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
2095
2096 2010-05-02  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
2097
2098         Reviewed by Simon Hausmann.
2099
2100         [Qt] Fix compilation with QT_NO_LINEEDIT
2101         https://bugs.webkit.org/show_bug.cgi?id=38324
2102
2103         * platform/qt/RenderThemeQt.cpp:
2104         (WebCore::RenderThemeQt::~RenderThemeQt):
2105         (WebCore::RenderThemeQt::findFrameLineWidth):
2106
2107 2010-05-02  Pavel Feldman  <pfeldman@chromium.org>
2108
2109         Not reviewed: Touch inspector controller to kick windows tests.
2110
2111         * inspector/InspectorController.cpp:
2112
2113 2010-05-02  Pavel Feldman  <pfeldman@chromium.org>
2114
2115         Reviewed by Timothy Hatcher.
2116
2117         Web Inspector: IMG nodes are being added to the DOM tree late, sometimes hiding the revealed element.
2118
2119         https://bugs.webkit.org/show_bug.cgi?id=38432
2120
2121         * inspector/front-end/ElementsTreeOutline.js:
2122         (WebInspector.ElementsTreeOutline.prototype._onmousemove):
2123         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
2124         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
2125         (WebInspector.ElementsTreeElement.prototype.updateTitle):
2126         (WebInspector.ElementsTreeElement.prototype._attributeHTML):
2127         ():
2128
2129 2010-05-02  Dirk Schulze  <krit@webkit.org>
2130
2131         Reviewed by Nikolas Zimmermann.
2132
2133         SVG hkern implementation incomplete
2134         https://bugs.webkit.org/show_bug.cgi?id=38407
2135
2136         Test: svg/text/text-hkern.svg
2137
2138         The current SVG hkern implementation is incomplete and partly wrong. We pass the ACID3 test
2139         by accident.
2140         The new implementation supports all glyph and unicode combinations that are allowed by the Spec
2141         and fixes various of bugs. The parser moved from SVGFontElement to the general parsing code in
2142         SVGParserUtilities.
2143         Some clean-up makes the code more readable and reuseable for the upcoming vkern implementation.
2144         hkern support for text on path is missing and will be added by a following patch.
2145         Unicode strings of hkern elements are just parsed once and not on every glyph again anymore.
2146
2147         * rendering/SVGRootInlineBox.cpp:
2148         (WebCore::calculateCSSKerning):
2149         (WebCore::applySVGKerning):
2150         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2151         * svg/SVGFontElement.cpp:
2152         (WebCore::stringMatchesUnicodeRange):
2153         (WebCore::stringMatchesGlyphName):
2154         (WebCore::matches):
2155         (WebCore::SVGFontElement::getHorizontalKerningPairForStringsAndGlyphs):
2156         * svg/SVGFontElement.h:
2157         * svg/SVGHKernElement.cpp:
2158         (WebCore::SVGHKernElement::buildHorizontalKerningPair):
2159         * svg/SVGHKernElement.h:
2160         * svg/SVGParserUtilities.cpp:
2161         (WebCore::parseGlyphName):
2162         (WebCore::parseUnicodeRange):
2163         (WebCore::parseKerningUnicodeString):
2164         * svg/SVGParserUtilities.h:
2165
2166 2010-05-02  Pavel Feldman  <pfeldman@chromium.org>
2167
2168         Reviewed by Timothy Hatcher.
2169
2170         Web Inspector: debugger shortcuts are processed twice if source frame has focus.
2171
2172         https://bugs.webkit.org/show_bug.cgi?id=38431
2173
2174         * inspector/front-end/SourceFrame.js:
2175         (WebInspector.SourceFrame):
2176         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
2177
2178 2010-05-02  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
2179
2180         Reviewed by Eric Seidel.
2181
2182         [Qt] Build error in GraphicsContext3DQt.cpp
2183         https://bugs.webkit.org/show_bug.cgi?id=38382
2184
2185         Removed duplicate implementation of isGLES2Compliant from
2186         GraphicsContext3DQt.cpp. Removed deprecated API stuff for
2187         texImage2D/texSubImage2D.
2188         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2189
2190 2010-05-02  Garret Kelly  <gdk@chromium.org>
2191
2192         Reviewed by David Levin.
2193
2194         Make the Touch RuntimeEnabledFeature disabled by default.
2195         https://bugs.webkit.org/show_bug.cgi?id=38392
2196
2197         * bindings/generic/RuntimeEnabledFeatures.cpp: Disable the Touch feature by default.
2198
2199 2010-05-02  Michael Nordman  <michaeln@google.com>
2200
2201         Reviewed by Dmitry Titov.
2202
2203         Define two new ResourceRequestBase TargetTypes for worker and shared worker
2204         main resources. Use the new target types where appropiate. Add logic to marshal
2205         the target type specified by requests initiated on a background worker thread.
2206
2207         https://bugs.webkit.org/show_bug.cgi?id=38295
2208
2209         No new tests. This doesn't have script visible artifacts.
2210
2211         * platform/network/ResourceRequestBase.cpp: marshal the values
2212         (WebCore::ResourceRequestBase::adopt):
2213         (WebCore::ResourceRequestBase::copyData):
2214         * platform/network/ResourceRequestBase.h:  define the types
2215         (WebCore::ResourceRequestBase::):
2216         * workers/DefaultSharedWorkerRepository.cpp: use TargetIsSharedWorker
2217         (WebCore::SharedWorkerScriptLoader::load):
2218         * workers/Worker.cpp: use TargetIsWorker
2219         (WebCore::Worker::Worker):
2220         * workers/WorkerContext.cpp: use TargetIsScript for importScripts
2221         (WebCore::WorkerContext::importScripts):
2222         * workers/WorkerScriptLoader.cpp: add a data member for the target type
2223         (WebCore::WorkerScriptLoader::WorkerScriptLoader):
2224         (WebCore::WorkerScriptLoader::createResourceRequest):
2225         * workers/WorkerScriptLoader.h:
2226
2227 2010-05-02  Noam Rosenthal  <noam.rosenthal@nokia.com>
2228
2229         Reviewed by Adele Peterson.
2230
2231         Webkit doesn't compile with 3D-canvas enabled and video disabled
2232         https://bugs.webkit.org/show_bug.cgi?id=38297
2233
2234         Added a #ifdef ENABLE(VIDEO) to WebGL code
2235
2236         No new tests: compile fix.
2237
2238         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2239         (WebCore::JSWebGLRenderingContext::texImage2D):
2240         (WebCore::JSWebGLRenderingContext::texSubImage2D):
2241
2242 2010-05-01  Evan Stade  <estade@chromium.org>
2243
2244         Reviewed by David Levin.
2245
2246         [chromium] Skia needs to fade DragImages
2247         https://bugs.webkit.org/show_bug.cgi?id=38008
2248
2249         tested by DragImageTest
2250
2251         * platform/chromium/DragImageChromiumSkia.cpp:
2252         (WebCore::dissolveDragImageToFraction):implement
2253         (WebCore::createDragImageFromImage):deep copy instead of shallow
2254
2255 2010-05-01  Maciej Stachowiak  <mjs@apple.com>
2256
2257         Reviewed by Sam Weinig.
2258
2259         REGRESSION (r58273): Visited links do not change color immediately when Cmd-clicked
2260         https://bugs.webkit.org/show_bug.cgi?id=38422
2261         <rdar://problem/7921778>
2262
2263         Tests:
2264             manual-tests/visited-link-new-window.html
2265
2266         * css/CSSStyleSelector.cpp:
2267         (WebCore::CSSStyleSelector::initElement): Only cache the visited link state
2268         when invoked as part of a helper call to styleForElement or pseudoStyleForElement,
2269         to avoid caching the visited link state beyond the scope of a single style lookup.
2270         (WebCore::CSSStyleSelector::styleForElement): Adjust for above change.
2271         (WebCore::CSSStyleSelector::pseudoStyleForElement): Adjust for above change.
2272         * css/CSSStyleSelector.h:
2273         (WebCore::CSSStyleSelector::styleForElement): Change so "visited link helper mode"
2274         can't accidentally be called from outside CSSStyleSelector itself.
2275         (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto
2276         * manual-tests/visited-link-new-window.html: Added. I could not figure out any way
2277         to make an automated test that supports visited link coloring.
2278
2279 2010-05-01  Yael Aharon  <yael.aharon@nokia.com>
2280
2281         Reviewed by Darin Adler.
2282
2283         Move number parsing code out of HTMLInputElement.
2284         https://bugs.webkit.org/show_bug.cgi?id=38203
2285
2286         The numebr parsing code follows HTML5 parsing rules and should be available outside of HTMLInputElement.
2287         No new tests as no new functionality was introduced.
2288
2289         * html/HTMLInputElement.cpp:
2290         * html/HTMLInputElement.h:
2291         * html/HTMLParser.cpp:
2292         (WebCore::serializeForNumberType):
2293         (WebCore::parseToDoubleForNumberType):
2294         * html/HTMLParser.h:
2295         * html/StepRange.cpp:
2296         (WebCore::StepRange::clampValue):
2297         (WebCore::StepRange::valueFromElement):
2298         * html/ValidityState.cpp:
2299         (WebCore::ValidityState::typeMismatch):
2300         * rendering/RenderSlider.cpp:
2301         (WebCore::RenderSlider::setValueForPosition):
2302
2303 2010-05-01  Xan Lopez  <xlopez@igalia.com>
2304
2305         Reviewed by Oliver Hunt.
2306
2307         [GTK] GObject DOM bindings
2308         https://bugs.webkit.org/show_bug.cgi?id=33590
2309
2310         Unify more logic to skip functions into SkipFunction, and
2311         whitelist the two [Custom] methods in HTMLCollection.idl.
2312
2313         * bindings/scripts/CodeGeneratorGObject.pm:
2314
2315 2010-05-01  Robert Hogan  <robert@webkit.org>
2316
2317         Reviewed by Simon Hausmann.
2318
2319         [Qt] Add smart paste support
2320
2321         https://bugs.webkit.org/show_bug.cgi?id=38136
2322
2323         * WebCore.pro:
2324         * editing/qt/SmartReplaceQt.cpp: Added.
2325         (WebCore::isCharacterSmartReplaceExempt):
2326         * platform/qt/PasteboardQt.cpp:
2327         (WebCore::Pasteboard::writeSelection):
2328         (WebCore::Pasteboard::canSmartReplace):
2329
2330 2010-04-30  Yoshiki Hayashi  <yhayashi@google.com>
2331
2332         Reviewed by Shinichiro Hamaji.
2333
2334         https://bugs.webkit.org/show_bug.cgi?id=38249
2335         
2336         Fixes an issue where border height and padding height are ignored when computing vertically shrinking flexbox's height.
2337
2338         Test: fast/flexbox/child-flexing.html
2339
2340         * rendering/RenderFlexibleBox.cpp:
2341         (WebCore::RenderFlexibleBox::allowedChildFlex):
2342
2343 2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>
2344
2345         Reviewed by Darin Adler.
2346
2347         Add layoutTestController.setPrinting()
2348         https://bugs.webkit.org/show_bug.cgi?id=37203
2349
2350         Use the renderer's width insteead of screen's width as the width of
2351         a screen depends on machines.
2352
2353         * rendering/RenderTreeAsText.cpp:
2354         (WebCore::externalRepresentation):
2355
2356 2010-04-30  Joseph Pecoraro  <joepeck@webkit.org>
2357
2358         Reviewed by Timothy Hatcher.
2359
2360         Web Inspector: Missing INSPECTOR Guard in Console::lastWMLErrorMessage
2361         https://bugs.webkit.org/show_bug.cgi?id=38366
2362
2363         Console::lastWMLErrorMessage is only available if WML is enabled, however
2364         its implementation only makes sense as long as INSPECTOR is enabled
2365         as well. So this adds the ENABLE(INSPECTOR) guard in the function. A
2366         browser without ENABLE(INSPECTOR) will always get an empty result.
2367
2368         * page/Console.cpp:
2369
2370 2010-04-28  Joseph Pecoraro  <joepeck@webkit.org>
2371
2372         Reviewed by Oliver Hunt.
2373
2374         REGRESSION(r58313): Regression evident in pixel tests: the search icon is always clipped at the bottom.
2375         https://bugs.webkit.org/show_bug.cgi?id=38253
2376
2377         Test: fast/css/input-search-padding.html
2378
2379         An <input type="search"> contains an inner block, which is explicitly
2380         centered in RenderTextControlSingleLine based on the height of the element.
2381         However, the clipping rect was not using the set location, and instead
2382         calculated off of the top border and padding alone. This also vertically
2383         centers the Caps Lock indicator.
2384
2385         * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine
2386         * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect
2387         * rendering/RenderTextControlSingleLine.cpp:
2388         (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator
2389         (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead
2390         * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search">
2391
2392 2010-04-30  Jon Honeycutt  <jhoneycutt@apple.com>
2393
2394         Caret may fail to blink if a focus handler brings up a modal dialog 
2395         https://bugs.webkit.org/show_bug.cgi?id=38372
2396
2397         Reviewed by Darin Adler.
2398
2399         * manual-tests/onfocus-alert-blinking-caret.html: Added.
2400
2401         * page/EventHandler.cpp:
2402         (WebCore::EventHandler::handleMousePressEvent):
2403         Moved the call to setCaretBlinkingSuspended() from here...
2404         (WebCore::EventHandler::handleMousePressEvent):
2405         ... to here. This makes us suspend caret blinking before dispatching the
2406         mouse down event. If dispatching the mouse down event allows the message
2407         loop to run, we want mouse up events received in that message loop to be
2408         able to resume caret blinking.
2409         (WebCore::EventHandler::lostMouseCapture):
2410         We've lost mouse capture and won't be notified of mouse up events;
2411         resume caret blinking.
2412
2413         * page/EventHandler.h:
2414         Declare lostMouseCapture().
2415
2416 2010-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
2417
2418         Unreviewed, build fix.
2419
2420         [Chromium] Added a simple IdentifierRep struct and removed dependency on
2421         IdentifierRep.h.
2422
2423         * bindings/v8/V8NPObject.cpp: Added simple IdentifierRep struct.
2424
2425 2010-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
2426
2427         Unreviewed, build fix.
2428
2429         [Chromium] Remove bridge/ from include paths.
2430
2431         * WebCore.gyp/WebCore.gyp: Removed bridge/ from include path.
2432
2433 2010-04-30  Abhishek Arya  <inferno@chromium.org>
2434
2435         Reviewed by David Kilzer.
2436
2437         Convert m_documentUnderMouse, m_dragInitiator to RefPtr.
2438         Eliminated unused m_dragInitiator accessor to prevent dereferencing.
2439         https://bugs.webkit.org/show_bug.cgi?id=37618
2440
2441         Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
2442
2443         * page/DragController.cpp:
2444         (WebCore::DragController::tryDocumentDrag):
2445         (WebCore::DragController::concludeEditDrag):
2446         * page/DragController.h:
2447         (WebCore::DragController::draggingImageURL):
2448         (WebCore::DragController::documentUnderMouse):
2449
2450 2010-04-29  James Robinson  <jamesr@chromium.org>
2451
2452         Reviewed by Simon Fraser.
2453
2454         Calls FrameView::scrollPositionChanged whenever a ScrollView is scrolled
2455         https://bugs.webkit.org/show_bug.cgi?id=38286
2456
2457         When a ScrollView's  scroll position is changed, we have to call
2458         FrameView::scrollPositionChanged to generate repaint invalidation for
2459         fixed position elements.  This ends up getting called indirectly when
2460         the ScrollView has a platformWidget through the port layer
2461         (see WebHTMLView.mm's _frameOrBoundsChanged method for how the mac
2462         port does it) but not when there is no platformWidget.
2463
2464         This is tested by the fast/repaint/fixed-* tests when run in pixel
2465         mode.
2466
2467         Test: fast/repaint/fixed-move-after-keyboard-scroll.html
2468
2469         * page/FrameView.h:
2470         * platform/ScrollView.cpp:
2471         (WebCore::ScrollView::valueChanged):
2472         * platform/ScrollView.h:
2473         (WebCore::ScrollView::scrollPositionChanged):
2474
2475 2010-04-30  Anders Carlsson  <andersca@apple.com>
2476
2477         Reviewed by Darin Adler.
2478
2479         Use C99 integer types in more places.
2480
2481         * manual-tests/NPN_Invoke/main.c:
2482         (NPP_New):
2483         (NPP_NewStream):
2484         (NPP_WriteReady):
2485         (NPP_Write):
2486         (NPP_HandleEvent):
2487         (functionPointerForTVector):
2488         * plugins/mac/PluginViewMac.cpp:
2489         (WebCore::PluginView::platformGetValueStatic):
2490         (WebCore::PluginView::handlePostReadFile):
2491
2492 2010-04-30  Darin Adler  <darin@apple.com>
2493
2494         Reviewed by Oliver Hunt.
2495
2496         Remove unused scrollRectIntoViewRecursively function
2497         https://bugs.webkit.org/show_bug.cgi?id=38403
2498
2499         * page/Chrome.cpp:
2500         (WebCore::Chrome::scrollRectIntoView): Moved comment here that was previously
2501         in the scrollRectIntoViewRecursively function.
2502
2503         * platform/ScrollView.cpp: Get rid scrollRectIntoViewRecursively.
2504         * platform/ScrollView.h: Ditto. Fix comment that refers to the two functions.
2505         Also correct all uses of the term "method" to use the C++ term "function" and
2506         got rid of double spaces after periods.
2507
2508 2010-04-30  Anders Carlsson  <andersca@apple.com>
2509
2510         Another Qt build fix.
2511
2512         * plugins/qt/PluginViewQt.cpp:
2513         (WebCore::PluginView::platformGetValueStatic):
2514
2515 2010-04-30  Anders Carlsson  <andersca@apple.com>
2516
2517         Add back TRUE, FALSE and NULL macros. They were not meant to be removed!
2518
2519         * bridge/npapi.h:
2520
2521 2010-04-30  Anders Carlsson  <andersca@apple.com>
2522
2523         Try to fix the Qt build this time.
2524
2525         * plugins/qt/PluginPackageQt.cpp:
2526         (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue):
2527         (WebCore::PluginPackage::NPVersion):
2528
2529 2010-04-30  Anders Carlsson  <andersca@apple.com>
2530
2531         Yet another build fix.
2532
2533         * plugins/gtk/PluginPackageGtk.cpp:
2534         (WebCore::PluginPackage::NPVersion):
2535
2536 2010-04-30  Anders Carlsson  <andersca@apple.com>
2537
2538         Fix build.
2539
2540         * bridge/npapi.h:
2541
2542 2010-04-30  Jian Li  <jianli@chromium.org>
2543
2544         Reviewed by Darin Fisher.
2545
2546         [chromium] Add WebFileSystem interface and hook up with all FileSystem methods.
2547         https://bugs.webkit.org/show_bug.cgi?id=38228
2548
2549         * platform/chromium/ChromiumBridge.h:
2550         * platform/chromium/FileSystemChromium.cpp:
2551         (WebCore::openFile):
2552         (WebCore::closeFile):
2553         (WebCore::seekFile):
2554         (WebCore::truncateFile):
2555         (WebCore::readFromFile):
2556         (WebCore::writeToFile):
2557
2558 2010-04-30  Anders Carlsson  <andersca@apple.com>
2559
2560         Reviewed by Dan Bernstein.
2561
2562         Final part of 
2563         
2564         https://bugs.webkit.org/show_bug.cgi?id=20784
2565         move npapi.h to C99 integer types
2566
2567         * bridge/npapi.h:
2568         Remove the old types.
2569
2570 2010-04-30  Sheriff Bot  <webkit.review.bot@gmail.com>
2571
2572         Unreviewed, rolling out r58569.
2573         http://trac.webkit.org/changeset/58569
2574         https://bugs.webkit.org/show_bug.cgi?id=38399
2575
2576         This broke the GTK bots due to bad GC behavior (Requested by
2577         ericu on #webkit).
2578
2579         * bindings/js/JSWorkerContextCustom.cpp:
2580         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2581         * storage/Database.idl:
2582         * storage/SQLError.idl:
2583         * storage/SQLResultSet.idl:
2584         * storage/SQLResultSetRowList.idl:
2585         * storage/SQLTransaction.idl:
2586         * workers/WorkerContext.cpp:
2587         (WebCore::WorkerContext::openDatabase):
2588         * workers/WorkerContext.h:
2589         (WebCore::WorkerContext::databaseExceededQuota):
2590         * workers/WorkerContext.idl:
2591
2592 2010-04-30  Anders Carlsson  <andersca@apple.com>
2593
2594         Fix GTK+ build.
2595
2596         * plugins/gtk/PluginViewGtk.cpp:
2597         (WebCore::PluginView::handlePostReadFile):
2598         (WebCore::PluginView::platformGetValueStatic):
2599
2600 2010-04-30  Anders Carlsson  <andersca@apple.com>
2601
2602         Fix Qt build.
2603
2604         * plugins/qt/PluginViewQt.cpp:
2605         (WebCore::PluginView::handlePostReadFile):
2606         (WebCore::PluginView::platformGetValue):
2607
2608 2010-04-30  Anders Carlsson  <andersca@apple.com>
2609
2610         Reviewed by Timothy Hatcher.
2611
2612         Next step towards fixing
2613         
2614         https://bugs.webkit.org/show_bug.cgi?id=20784
2615         move npapi.h to C99 integer types
2616
2617         Use the C99 types everywhere. The "old" types are still around but will be removed
2618         in a subsequent commit.
2619
2620         * bridge/npapi.h:
2621         (_NPCocoaEvent::):
2622         * plugins/PluginPackage.h:
2623         * plugins/PluginStream.cpp:
2624         (WebCore::PluginStream::deliverData):
2625         * plugins/PluginStream.h:
2626         * plugins/PluginView.cpp:
2627         (WebCore::PluginView::postURLNotify):
2628         (WebCore::PluginView::postURL):
2629         (WebCore::PluginView::write):
2630         (WebCore::PluginView::handlePost):
2631         * plugins/PluginView.h:
2632         * plugins/PluginViewNone.cpp:
2633         (WebCore::PluginView::handlePostReadFile):
2634         * plugins/npapi.cpp:
2635         (NPN_MemAlloc):
2636         (NPN_MemFlush):
2637         (NPN_PostURLNotify):
2638         (NPN_PostURL):
2639         (NPN_Write):
2640         * plugins/npfunctions.h:
2641         * plugins/win/PluginPackageWin.cpp:
2642         (WebCore::PluginPackage::NPVersion):
2643         * plugins/win/PluginViewWin.cpp:
2644         (WebCore::PluginView::handlePostReadFile):
2645
2646 2010-04-30  Peter Kasting  <pkasting@google.com>
2647
2648         Reviewed by David Levin.
2649
2650         Make all image decoders set the "failed" bit if an image could not be
2651         completely decoded, but no more data is coming.  The ICO and BMP
2652         decoders already did this.
2653         https://bugs.webkit.org/show_bug.cgi?id=35411
2654
2655         "Failed" does not cause the image to not be displayed, it simply causes
2656         us to not bother to try to decode again if future requests are made, and
2657         for some decoders, lets the decoder clean up some of its temporary
2658         objects.
2659
2660         No layout tests because this does not change the visible output of decoding in any way.
2661
2662         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2663         (WebCore::GIFImageDecoder::frameComplete): Return whether the frame could be marked as complete.
2664         (WebCore::GIFImageDecoder::decode): Fail if read() needs more data (and thus returns false) and no more is coming.
2665         * platform/image-decoders/gif/GIFImageDecoder.h:
2666         * platform/image-decoders/gif/GIFImageReader.cpp:
2667         (GIFImageReader::do_lzw): Instead of returning true for buffer underrun and false for failure, return false for both and set the failure flag on failure.
2668         (GIFImageReader::read): Ditto.
2669         * platform/image-decoders/gif/GIFImageReader.h:
2670         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2671         (WebCore::):
2672         (WebCore::JPEGImageReader::decode): See do_lzw() comment above.
2673         (WebCore::JPEGImageDecoder::decode): Fail if decode() needs more data (and thus returns false) and no more is coming.
2674         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2675         * platform/image-decoders/png/PNGImageDecoder.cpp:
2676         (WebCore::PNGImageReader::decode): Return true for decode success, false for buffer underrun or decode failure, and set the failure flag on decode failure.
2677         (WebCore::PNGImageDecoder::decode): See JPEGImageDecoder::decode() comment above.
2678         * platform/image-decoders/png/PNGImageDecoder.h:
2679
2680 2010-04-30  Brady Eidson  <beidson@apple.com>
2681
2682         Reviewed by Eric Carlson.
2683
2684         <rdar://problem/7902467> - Audio plays upon loading of npr.org but shouldn't
2685
2686         No new tests. (Currently no way to test such site specific hack behavior)
2687
2688         * html/HTMLMediaElement.cpp:
2689         (WebCore::HTMLMediaElement::HTMLMediaElement):
2690         (WebCore::HTMLMediaElement::asyncEventTimerFired): If the event to be dispatched is the canplay
2691           event, wrap the dispatch with m_dispatchingCanPlayEvent set.
2692         (WebCore::HTMLMediaElement::play): If m_dispatchingCanPlayEvent is true and the site is npr.org, 
2693           don't perform the play().
2694         * html/HTMLMediaElement.h: Add m_dispatchingCanPlayEvent member.
2695
2696 2010-04-30  Dan Bernstein  <mitz@apple.com>
2697
2698         Reviewed by Adele Peterson.
2699
2700         Part of <rdar://problem/6649734> Text repainting does not account for glyphs which draw outside the typographic bounds of the font
2701         https://bugs.webkit.org/show_bug.cgi?id=6274
2702
2703         Account for glyph overflow of characters in the range U+1E00..U+2000, but without sending them
2704         through the complex text code path. Instead, introduce a variant of the fast path that tracks
2705         glyph overflow.
2706
2707         * platform/graphics/Font.cpp:
2708         (WebCore::Font::drawText): Use codePath().
2709         (WebCore::Font::floatWidth): Use codePath(). Pass the GlyphOverflow pointer through to
2710         floatWidthForSimpleText() if the code path is SimpleWithGlyphOverflow.
2711         (WebCore::Font::selectionRectForText): Use codePath().
2712         (WebCore::Font::offsetForPosition): Ditto.
2713         * platform/graphics/Font.h: Replaced canUseGlyphCache() with codePath(). Added a GlyphOverflow
2714         parameter to floatWidthForSimpleText().
2715         * platform/graphics/FontFastPath.cpp:
2716         Removed ROMAN_AND_GREEK_DIACRITICS_CAN_USE_GLYPH_CACHE.
2717         (WebCore::Font::codePath): Renamed canUseGlyphCache() to this. Where it used to return false,
2718         it now returns Complex. Where it used to return true, it now returns Simple, except for
2719         the range U+1E00..U+2000, where it now returns SimpleWithGlyphOverflow.
2720         (WebCore::Font::floatWidthForSimpleText): Added a GlyphOverflow parameter. If not 0, have the
2721         width iterator account for glyph bounds, then update the GlyphOverflow accordingly.
2722         * platform/graphics/WidthIterator.cpp:
2723         (WebCore::WidthIterator::WidthIterator): Added boolean parameter telling the width iterator
2724         whether to account for glyph bounds. Initialize m_accountForGlyphBounds accordingly. Initialize
2725         m_maxGlyphBoundingBoxY, m_minGlyphBoundingBoxY, m_firstGlyphOverflow and m_lastGlyphOverflow.
2726         (WebCore::WidthIterator::advance): If accounting for glyph bounds, update the above member variables.
2727         * platform/graphics/WidthIterator.h:
2728         (WebCore::WidthIterator::maxGlyphBoundingBoxY): Added this accessor.
2729         (WebCore::WidthIterator::minGlyphBoundingBoxY): Ditto.
2730         (WebCore::WidthIterator::firstGlyphOverflow): Ditto.
2731         (WebCore::WidthIterator::lastGlyphOverflow): Ditto.
2732
2733 2010-04-30  Chris Marrin  <cmarrin@apple.com>
2734
2735         Reviewed by Simon Fraser.
2736
2737         Reversed the order of the CSSMatrix.multiply method
2738         https://bugs.webkit.org/show_bug.cgi?id=38337
2739
2740         Test: transforms/svg-vs-css.xhtml
2741
2742         * css/WebKitCSSMatrix.cpp:
2743         (WebCore::WebKitCSSMatrix::multiply):
2744         * platform/graphics/transforms/TransformationMatrix.cpp:
2745
2746 2010-04-30  Kevin Ollivier  <kevino@theolliviers.com>
2747
2748         Unreviewed. Attempt to fix the Chromium Mac build after the last commit.
2749
2750         * WebCore.gypi:
2751
2752 2010-04-30  Kevin Ollivier  <kevino@theolliviers.com>
2753
2754         Reviewed by Dan Bernstein.
2755
2756         Allow other ports to compile ATSUI and CoreText functions in SimpleFontData for Mac.
2757         https://bugs.webkit.org/show_bug.cgi?id=38334
2758
2759         * WebCore.xcodeproj/project.pbxproj:
2760         * platform/graphics/mac/SimpleFontDataATSUI.mm: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
2761         * platform/graphics/mac/SimpleFontDataCoreText.cpp: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
2762         * platform/graphics/mac/SimpleFontDataMac.mm:
2763
2764 2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>
2765
2766         Reviewed by Simon Fraser.
2767
2768         SHOULD NEVER BE REACHED assertion loading forbes.com
2769         https://bugs.webkit.org/show_bug.cgi?id=38272
2770
2771         Ignore page media related pseudo classes.
2772
2773         Test: printing/pseudo-class-outside-page.html
2774
2775         * css/CSSStyleSelector.cpp:
2776         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2777
2778 2010-04-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2779
2780         Unreviewed, build fix.
2781
2782         Fix compiler warning "suggest parentheses around"
2783
2784         No new tests as there is no new functionality.
2785
2786         * svg/SVGAnimateElement.cpp:
2787         (WebCore::SVGAnimateElement::calculateFromAndToValues):
2788
2789 2010-04-30  Kent Tamura  <tkent@chromium.org>
2790
2791         Unreviewed. Regression fix.
2792
2793         Revert a part of r58564 to be compatible with prior behavior
2794         https://bugs.webkit.org/show_bug.cgi?id=38383
2795
2796         * rendering/RenderTextControlSingleLine.cpp:
2797         (WebCore::RenderTextControlSingleLine::forwardEvent):
2798          r58564 made a region check for the cancel button stricter, but it
2799          made some tests failing on Chromium. So, relax the check again.
2800
2801 2010-04-29  Jeremy Orlow  <jorlow@chromium.org>
2802
2803         Reviewed by Darin Fisher.
2804
2805         Change StorageEvent.uri to StorageEvent.url to match the spec
2806         https://bugs.webkit.org/show_bug.cgi?id=38331
2807
2808         As I mentioned in http://www.mail-archive.com/public-webapps@w3.org/msg08495.html
2809         WebKit is the only one who places the document's URL in a 'uri' property
2810         rather than a 'url' property.  Even though we've shipped several versions of
2811         browsers with the old name, we probably should change this to comply with the
2812         spec.
2813
2814         This stuff is covered by existing tests.
2815
2816         * storage/StorageEvent.cpp:
2817         (WebCore::StorageEvent::create):
2818         (WebCore::StorageEvent::StorageEvent):
2819         (WebCore::StorageEvent::initStorageEvent):
2820         * storage/StorageEvent.h:
2821         (WebCore::StorageEvent::url):
2822         * storage/StorageEvent.idl:
2823
2824 2010-04-30  Nikolas Zimmermann  <nzimmermann@rim.com>
2825
2826         Reviewed by Dirk Schulze.
2827
2828         REGRESSION: RenderPath does not handle repaints correctly anymore if bounds changed
2829         https://bugs.webkit.org/show_bug.cgi?id=38385
2830
2831         The last SVG performance patch broke repainting if bounds of a RenderPath get smaller.
2832         It would only repaint the smaller part, not the original larger bounds.
2833
2834         Remove all lazy calculation of the repaint rects, instead calculate object/strokeBoundingBox and repaintRectInLocalCoordinates
2835         once in layout - after LayoutRepainter grabbed the initial bounds, before calling repaintAfterLayout(). We can now inline
2836         all these functions, and save a lot of m_path.isEmpty() checks, which are expensive. No need to store a seperated markerBoundingBox(),
2837         combine with strokeBoundingBox() -> save one FloatRect per RenderPath. Move strokeBoundingBox() from SVGRenderBase to RenderObject,
2838         right next to objectBoundingBox() - to save unnecessary toSVGRenderBase() calls. Completly remove this method.
2839
2840         Overall this is a regression fix, a performance improvement and saves memory. Something for everyone.
2841
2842         Tests: svg/custom/repaint-stroke-width-changes.svg
2843
2844         * rendering/RenderObject.cpp: Added strokeBoundingBox() here, to avoid the toSVGRenderBase() dance.
2845         (WebCore::RenderObject::strokeBoundingBox):
2846         * rendering/RenderObject.h: Ditto.
2847         * rendering/RenderPath.cpp:
2848         (WebCore::RenderPath::RenderPath):
2849         (WebCore::RenderPath::layout): Fix regression, do repainting correctly, by recalculating the boundaries, if needed, instead of nulling them.
2850         (WebCore::RenderPath::paint): Cache SVGRenderStyle in local variable, remove no longer valid FIXME.
2851         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Return a FloatRect, to avoid having to store the marker bounding box seperated.
2852         (WebCore::RenderPath::styleWillChange): Mark boundaries as dirty.
2853         (WebCore::RenderPath::updateCachedBoundaries): New function to (re-)calculate all cached boundaries, only called from layout().
2854         * rendering/RenderPath.h: Rename cached rect variables to have more sensible names.
2855         (WebCore::RenderPath::objectBoundingBox): Inlined, just returns the cached value - no more lazy creation. Huge speedup as this is hot code.
2856         (WebCore::RenderPath::strokeBoundingBox): Ditto.
2857         (WebCore::RenderPath::repaintRectInLocalCoordinates): Ditto.
2858         * rendering/RenderSVGBlock.h: Remove toSVGRenderBase() method.
2859         * rendering/RenderSVGImage.h: Ditto.
2860         * rendering/RenderSVGInline.cpp: No need to call toSVGRenderBase() just to get the strokeBoundingBox(). Unifies code to retrieve bounding boxes.
2861         (WebCore::RenderSVGInline::strokeBoundingBox):
2862         * rendering/RenderSVGInline.h: Remove toSVGRenderBase() method.
2863         * rendering/RenderSVGModelObject.h: Ditto.
2864         * rendering/RenderSVGResourceFilter.cpp: No need to call toSVGRenderBase() anymore, just grab the strokeBoundingBox() from the RenderObject.
2865         (WebCore::RenderSVGResourceFilter::applyResource):
2866         * rendering/RenderSVGText.h: Remove toSVGRenderBase() method.
2867         * rendering/SVGRenderSupport.h: Ditto. Remove markerBoundingBox() method, now combined with strokeBoundingBox().
2868         (WebCore::SVGRenderBase::strokeBoundingBox):
2869         * rendering/SVGRootInlineBox.h: Remove toSVGRenderBase() method.
2870         * rendering/style/SVGRenderStyle.h: Add hasMarkers() helper method, to avoid doing unnecessary work in RenderPath.
2871         (WebCore::SVGRenderStyle::hasMarkers):
2872
2873 2010-04-30  Eric Uhrhane  <ericu@chromium.org>
2874
2875         Reviewed by Dmitry Titov.
2876
2877         Add bindings for async DB API in Workers.
2878         https://bugs.webkit.org/show_bug.cgi?id=34992
2879
2880         Tests: storage/change-version-handle-reuse-worker.html
2881                storage/execute-sql-args-worker.html
2882
2883         * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
2884         (WebCore::JSWorkerContext::openDatabase):
2885
2886         * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
2887         (WebCore::V8WorkerContext::openDatabaseCallback):
2888
2889         Add NoStaticTables flags to all objects now shared with workers.
2890         * storage/Database.idl:
2891         * storage/SQLError.idl:
2892         * storage/SQLResultSet.idl:
2893         * storage/SQLResultSetRowList.idl:
2894         * storage/SQLTransaction.idl:
2895         
2896         * workers/WorkerContext.h: Add databaseExceededQuota.
2897         * workers/WorkerContext.cpp:
2898         (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
2899         (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
2900
2901         Add the IDL for the call to openDatabase.
2902         * workers/WorkerContext.idl:
2903
2904 2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>
2905
2906         Reviewed by Darin Adler.
2907
2908         Unnecessary PrintContext::end() calls
2909         https://bugs.webkit.org/show_bug.cgi?id=38247
2910
2911         Refactoring only, so no new tests.
2912
2913         * page/PrintContext.cpp:
2914         (WebCore::PrintContext::pageNumberForElement):
2915         (WebCore::PrintContext::numberOfPages):
2916
2917 2010-04-30  Kent Tamura  <tkent@chromium.org>
2918
2919         Reviewed by Adele Peterson.
2920
2921         Implement interactive behavior of spin buttons.
2922         https://bugs.webkit.org/show_bug.cgi?id=35686
2923
2924         Introduce SpinButtonElement. It is a shadow element class for
2925         spin buttons. If the upper side of the element is clicked, calls
2926         HTMLInputElement::stepUpFromRenderer(1). If the lower button is
2927         clicked, calls HTMLInputElement::stepUpFromRenderer(-1).
2928
2929         SpinButtonElement tracks the mouse pointer position, and
2930         RenderTheme sets ControlStates::SpinUpState if the pointer is on
2931         the upper side.
2932
2933         Test: platform/mac/fast/forms/input-number-click.html
2934
2935         * dom/Element.h:
2936         (WebCore::Element::isSpinButtonElement):
2937         * editing/VisibleSelection.cpp:
2938         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
2939          Remove an assertion. lastEditablePositionBeforePositionInRoot() can
2940          return null in a case that m_end is at a shadow element (a spin button)
2941          and baseRoot is another shadow element (inner text block) in the same
2942          node (an INPUT element).
2943         * html/HTMLInputElement.cpp:
2944         (WebCore::HTMLInputElement::stepUpFromRenderer):
2945         * html/HTMLInputElement.h:
2946         (WebCore::HTMLInputElement::hasSpinButton):
2947          Add types supporting step attribute except RANGE.
2948         * rendering/RenderTextControlSingleLine.cpp:
2949         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
2950         (WebCore::RenderTextControlSingleLine::forwardEvent):
2951         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
2952         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
2953         * rendering/RenderTextControlSingleLine.h:
2954         * rendering/RenderTheme.cpp:
2955         (WebCore::RenderTheme::controlStatesForRenderer):
2956         (WebCore::RenderTheme::isSpinUpButtonPartPressed):
2957         (WebCore::RenderTheme::isSpinUpButtonPartHovered):
2958         * rendering/RenderTheme.h:
2959         * rendering/TextControlInnerElements.cpp:
2960         (WebCore::SpinButtonElement::SpinButtonElement):
2961         (WebCore::SpinButtonElement::defaultEventHandler):
2962         * rendering/TextControlInnerElements.h:
2963         (WebCore::SpinButtonElement::isSpinButtonElement):
2964         (WebCore::SpinButtonElement::isEnabledFormControl):
2965         (WebCore::SpinButtonElement::onUpButton):
2966
2967 2010-04-30  Yael Aharon  <yael.aharon@nokia.com>
2968
2969         Reviewed by Kenneth Rohde Christiansen.
2970
2971         [Qt] Enable DOMWindow constructor for HTMLProgressElement
2972         https://bugs.webkit.org/show_bug.cgi?id=38333
2973
2974         Add ENABLE_PROGRESS_TAG to FEATURES_DEFINES_JAVASCRIPT.
2975
2976         * WebCore.pri:
2977
2978 2010-04-30  Kent Tamura  <tkent@chromium.org>
2979
2980         Reviewed by Adele Peterson.
2981
2982         Mac implementation of outer-spin-button appearance, and anonymous
2983         element generation for <input type=number>.
2984         https://bugs.webkit.org/show_bug.cgi?id=32813
2985
2986         The implementation uses NSStepperCell. Like the other Mac
2987         controls, it has only three candidates for sizes.
2988
2989         The editable block of an input element is shrunk, and the
2990         anonymous block for a spin button is put on the right of the
2991         editable block.
2992
2993         Tests: platform/mac/fast/forms/input-appearance-spinbutton-size.html
2994                platform/mac/fast/forms/input-appearance-spinbutton.html
2995
2996         * dom/Element.cpp:
2997         (WebCore::Element::pseudoStyleCacheIsInvalid):
2998         * dom/InputElement.h:
2999         (WebCore::InputElement::hasSpinButton):
3000         * html/HTMLInputElement.h:
3001         (WebCore::HTMLInputElement::hasSpinButton): Return true for NUMBER type.
3002         * platform/mac/ThemeMac.mm:
3003         (WebCore::sizeFromNSControlSize): Split the main part of sizeFromFont()
3004           to this in order to use stepperControlSizeForFont() instead of
3005           controlSizeForFont().
3006         (WebCore::sizeFromFont): Just calls sizeFromNSControlSize() with
3007           sizeFromFont(). No behavior changes.
3008         (WebCore::stepperSizes): Returns sizes for mini, small, and regular.
3009         (WebCore::stepperControlSizeForFont):
3010           Dedicated version of controlSizeForFont().
3011         (WebCore::stepper): Returns NSStepperCell object with specified settings.
3012         (WebCore::paintStepper):
3013         (WebCore::ThemeMac::controlSize): Support for OuterSpinButton.
3014         (WebCore::ThemeMac::minimumControlSize): ditto.
3015         (WebCore::ThemeMac::inflateControlPaintRect): ditto.
3016         (WebCore::ThemeMac::paint): ditto.
3017         * rendering/RenderBox.cpp:
3018         (WebCore::RenderBox::paintBoxDecorations):
3019           Move the content to paintBoxDecorationsWithSize().
3020         (WebCore::RenderBox::paintBoxDecorationsWithSize):
3021         * rendering/RenderBox.h: Declare paintBoxDecorationsWithSize().
3022         * rendering/RenderTextControlSingleLine.cpp:
3023         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
3024         (WebCore::RenderTextControlSingleLine::paintBoxDecorations):
3025           Call paintBoxDecorationsWithSize() with smaller width by decorationWidthRight().
3026         (WebCore::RenderTextControlSingleLine::addFocusRingRects):
3027           Add a rectangle of which width is smaller by decorationWidthRight().
3028         (WebCore::RenderTextControlSingleLine::layout):
3029           Adjust m_outerSpinButton position.
3030         (WebCore::RenderTextControlSingleLine::styleDidChange):
3031         (WebCore::RenderTextControlSingleLine::textBlockWidth):
3032         (WebCore::RenderTextControlSingleLine::decorationWidthRight):
3033         (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
3034         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
3035           Creates an element for m_outerSpinButton if it is needed.
3036         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
3037         (WebCore::RenderTextControlSingleLine::createOuterSpinButtonStyle):
3038         * rendering/RenderTextControlSingleLine.h: Declare new methods and m_outerSpinButton.
3039         * rendering/RenderThemeMac.mm:
3040         (WebCore::RenderThemeMac::adjustRepaintRect): Support for OuterSpinButton.
3041
3042 2010-04-29  Adam Barth  <abarth@webkit.org>
3043
3044         Unreviewed.  Update JSC CodeGenerator baseline.  Not sure how I missed
3045         this one earlier.
3046
3047         * bindings/scripts/test/JS/JSTestObj.cpp:
3048         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
3049
3050 2010-04-29  Justin Garcia  <justin.garcia@apple.com>
3051
3052         Reviewed by Adele Peterson.
3053
3054         Need to updateLayout after typing commands too
3055         https://bugs.webkit.org/show_bug.cgi?id=38352
3056
3057         Replaced !m_parent checks in EditCommand.cpp by the more descriptive isTopLevelCommand().
3058         Move the post editing operation updateLayout() call to {un,re}appliedEditing so that text insertions,
3059         which don't go through EditCommand::{un,re}apply() can benefit from it too.  No test case possible
3060         since most platforms have a layout performed as a side effect of post operation selection code.
3061
3062         * editing/EditCommand.cpp:
3063         (WebCore::EditCommand::apply):
3064         (WebCore::EditCommand::unapply):
3065         (WebCore::EditCommand::reapply):
3066         * editing/EditCommand.h:
3067         (WebCore::EditCommand::isTopLevelCommand):
3068         * editing/Editor.cpp:
3069         (WebCore::Editor::appliedEditing):
3070         (WebCore::Editor::unappliedEditing):
3071         (WebCore::Editor::reappliedEditing):
3072
3073 2010-04-29  Dan Bernstein  <mitz@apple.com>
3074
3075         Reviewed by Simon Fraser.
3076
3077         <rdar://problem/7918086> REGRESSION (r57820): Controller is not displayed in window when opening a MP3 file in browser window
3078         https://bugs.webkit.org/show_bug.cgi?id=38350
3079
3080         Tests: media/audio-only-video-intrinsic-size.html
3081                media/media-document-audio-size.html
3082
3083         * rendering/RenderVideo.cpp:
3084         (WebCore::RenderVideo::RenderVideo): Until metadata is available, ignore the natural size
3085         reported by the player.
3086         (WebCore::RenderVideo::videoSizeChanged): Respect a natural size of zero if reported by the
3087         player, except in standalone media documents.
3088
3089 2010-04-29  Anders Carlsson  <andersca@apple.com>
3090
3091         Reviewed by Dan Bernstein.
3092
3093         First part of
3094         https://bugs.webkit.org/show_bug.cgi?id=20784
3095         move npapi.h to C99 integer types.
3096
3097         Add nptypes.h to the build.
3098
3099         * WebCore.xcodeproj/project.pbxproj:
3100         * bridge/npapi.h:
3101         * bridge/npruntime.h:
3102         * bridge/nptypes.h: Added.
3103
3104 2010-04-29  Xan Lopez  <xlopez@igalia.com>
3105
3106         Rubber-stamped by Adam Barth.
3107
3108         Update GObject bindings test results. We are actually moving
3109         backwards here, but we'll update them again when we figure out
3110         what broke.
3111
3112         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3113         (webkit_dom_test_obj_set_property):
3114         (webkit_dom_test_obj_get_property):
3115
3116 2010-04-29  Sam Weinig  <sam@webkit.org>
3117
3118         Reviewed by Anders Carlsson.
3119
3120         Fix for https://bugs.webkit.org/show_bug.cgi?id=38277
3121         MiniBrowser: -[WebCoreFlippedView currentEditor]: unrecognized selector
3122
3123         * platform/mac/ThemeMac.mm:
3124         (-[WebCoreFlippedView currentEditor]): Added currentEditor nil implementation.
3125
3126 2010-04-29  Adam Barth  <abarth@webkit.org>
3127
3128         Reviewed by Eric Seidel.
3129
3130         CodeGeneratorJS.pm should be consistent about castedThis versus castedThisObj
3131         https://bugs.webkit.org/show_bug.cgi?id=38338
3132
3133         Currently CodeGeneratorJS.pm uses castThis for methods and
3134         castedThisObj for attributes.  This inconsistency makes it difficult to
3135         factor common code genereration code into methods shared by both kinds
3136         of bindings.  This match aligns the names so that a future patch (e.g.,
3137         in https://bugs.webkit.org/show_bug.cgi?id=38313) can reduce copy/paste
3138         code.
3139
3140         * bindings/scripts/CodeGeneratorJS.pm:
3141         * bindings/scripts/test/JS/JSTestObj.cpp:
3142         (WebCore::setJSTestObjIntAttr):
3143         (WebCore::setJSTestObjLongLongAttr):
3144         (WebCore::setJSTestObjUnsignedLongLongAttr):
3145         (WebCore::setJSTestObjStringAttr):
3146         (WebCore::setJSTestObjTestObjAttr):
3147         (WebCore::setJSTestObjAttrWithException):
3148         (WebCore::setJSTestObjAttrWithSetterException):
3149         (WebCore::setJSTestObjAttrWithGetterException):
3150         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
3151         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
3152         (WebCore::jsTestObjPrototypeFunctionIntMethod):
3153         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
3154         (WebCore::jsTestObjPrototypeFunctionObjMethod):
3155         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
3156         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
3157         (WebCore::jsTestObjPrototypeFunctionCustomMethod):
3158         (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
3159         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
3160         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
3161         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
3162         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
3163         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
3164         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
3165         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
3166         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
3167         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
3168         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
3169         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
3170         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
3171         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
3172         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
3173         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
3174
3175 2010-04-29  Gustavo Noronha Silva  <gustavo.noronhaollabora.co.uk>
3176
3177         Reviewed by Xan Lopez.
3178
3179         [GTK] pointerCursor should use the default cursor set for the window, not GDK_LEFT_PTR
3180         https://bugs.webkit.org/show_bug.cgi?id=36963
3181
3182         Use the default cursor instead of hard-coding left pointer.
3183
3184         * platform/gtk/CursorGtk.cpp:
3185         (WebCore::Cursor::Cursor):
3186         (WebCore::pointerCursor):
3187
3188 2010-04-29  Ilya Tikhonovsky  <loislo@chromium.org>
3189
3190         Reviewed by Yury Semikhatsky.
3191
3192         WebInspector: If Timeline panel is in recording mode and is not visible and has received
3193         new events then these events do not appear in the panel when the panel becomes visible.
3194         Timeline popup may appear in the upper left window corner when you switch to another panel.
3195         https://bugs.webkit.org/show_bug.cgi?id=38322
3196
3197         * inspector/front-end/Popover.js:
3198         (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
3199         (WebInspector.PopoverHelper.prototype._mouseMove):
3200         (WebInspector.PopoverHelper.prototype.hidePopup):
3201         (WebInspector.PopoverHelper.prototype._hidePopup):
3202         * inspector/front-end/TimelinePanel.js:
3203         (WebInspector.TimelinePanel.prototype.show):
3204         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
3205         (WebInspector.TimelinePanel.prototype._refresh):
3206
3207 2010-04-29  Anton Muhin  <antonm@chromium.org>
3208
3209         Reviewed by Darin Adler.
3210
3211         Let's cache nodelists instead of DynamicNodeList::Caches
3212         https://bugs.webkit.org/show_bug.cgi?id=33696
3213
3214         Test: fast/dom/Element/node-list-identity.html
3215
3216         * bindings/js/JSNodeCustom.cpp:
3217         (WebCore::JSNode::markChildren): Mark all cached node lists as well
3218         * dom/ClassNodeList.cpp:
3219         (WebCore::ClassNodeList::ClassNodeList): Don't need DynamicNodeList::Caches argument any more
3220         (WebCore::ClassNodeList::~ClassNodeList): Remove from the cache
3221         * dom/ClassNodeList.h: Added a field with original class names to be used as a key for removal from the cache
3222         (WebCore::ClassNodeList::create): Don't need DynamicNodeList::Caches argument any more
3223         * dom/NameNodeList.cpp:
3224         (WebCore::NameNodeList::NameNodeList): Don't need DynamicNodeList::Caches argument any more
3225         (WebCore::NameNodeList::~NameNodeList): Remove from the cache
3226         * dom/NameNodeList.h:
3227         (WebCore::NameNodeList::create): Don't need DynamicNodeList::Caches argument any more
3228         * dom/Node.cpp:
3229         (WebCore::Node::removeCachedClassNodeList): Remove ClassNodeList from the cache
3230         (WebCore::Node::removeCachedNameNodeList): Remove NameNodeList from the cache
3231         (WebCore::Node::removeCachedTagNodeList): Remove TagNodeList from the cache
3232         (WebCore::Node::getElementsByTagNameNS): Switch to caching node lists themselves, not the data
3233         (WebCore::Node::getElementsByName): Switch to caching node lists themselves, not the data
3234         (WebCore::Node::getElementsByClassName): Switch to caching node lists themselves, not the data
3235         (WebCore::NodeListsNodeData::invalidateCaches): Switch to caching node lists themselves, not the data
3236         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Switch to caching node lists themselves, not the data
3237         (WebCore::NodeListsNodeData::isEmpty): Switch to caching node lists themselves, not the data
3238         (WebCore::markNodeLists): Helper to mark all the node lists in the cache
3239         (WebCore::Node::markCachedNodeListsSlow): Mark all the cached node lists if any could be present
3240         * dom/Node.h:
3241         (WebCore::Node::markCachedNodeLists): Fast-path marking of cached node lists---bails out if there is no rare data
3242         * dom/NodeRareData.h: Changed type of caches to hold raw pointers to node lists, not RefPtr's to data
3243         * dom/TagNodeList.cpp:
3244         (WebCore::TagNodeList::TagNodeList): Don't need DynamicNodeList::Caches argument any more
3245         (WebCore::TagNodeList::~TagNodeList): Remove from the cache
3246         * dom/TagNodeList.h:
3247         (WebCore::TagNodeList::create): Don't need DynamicNodeList::Caches argument any more
3248
3249 2010-04-29  Mikhail Naganov  <mnaganov@chromium.org>
3250
3251         Reviewed by Yury Semikhatsky.
3252
3253         [Chromium] Update ScriptProfileNode to retrieve execution time in milliseconds.
3254
3255         https://bugs.webkit.org/show_bug.cgi?id=38330
3256
3257         * bindings/v8/ScriptProfileNode.cpp:
3258         (WebCore::ScriptProfileNode::totalTime):
3259         (WebCore::ScriptProfileNode::selfTime):
3260
3261 2010-04-28  Dimitri Glazkov  <dglazkov@chromium.org>
3262
3263         Reviewed by Darin Adler.
3264
3265         A form without a submit button unexpectedly performs its action when Return is pressed
3266         https://bugs.webkit.org/show_bug.cgi?id=9756
3267
3268         Implemented implicit form submission algorithm as defined in HTML5 spec:
3269         http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#implicit-submission,
3270         falling back to match IE's behavior in the edge cases.
3271
3272         The underlying rules are:
3273
3274         * If the form has no enabled submit buttons, submit if Enter/Return is pressed on the only single-line text field.
3275
3276         * Otherwise, submit form using first enabled submit button if Enter/Return is pressed on a field
3277           that's not a textarea or a select.
3278
3279         Test: fast/forms/implicit-submission.html
3280
3281         * dom/SelectElement.cpp:
3282         (WebCore::SelectElement::menuListDefaultEventHandler): Ripped out implicit submission for select elements.
3283         (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto.
3284         (WebCore::SelectElement::defaultEventHandler): Ditto.
3285         * dom/SelectElement.h: Ditto.
3286         (WebCore::HTMLFormElement::submitImplicitly): Renamed submitClick to submitImplicitly to better match HTML5 spec
3287             language, changed the logic to match the rules above.
3288         * html/HTMLInputElement.cpp:
3289         (WebCore::HTMLInputElement::defaultEventHandler): Reamed clickDefaultButton to implicitSubmission to better match
3290             HTML5 spec language, made radio element to trigger implicit submission.
3291         * html/HTMLSelectElement.cpp:
3292         (WebCore::HTMLSelectElement::defaultEventHandler): Removed passing of form() as parameter, because it's no longer
3293             necessary.
3294
3295 2010-04-29  Paweł Hajdan, Jr.  <phajdan.jr@chromium.org>
3296
3297         Reviewed by Jeremy Orlow.
3298
3299         Fix building with libpng-1.4.
3300         https://bugs.webkit.org/show_bug.cgi?id=33287
3301
3302         No new tests (no behavior change).
3303
3304         Original patch by John Bowler <jbowler@acm.org>
3305
3306         * platform/image-encoders/skia/PNGImageEncoder.cpp:
3307         (WebCore::PNGImageEncoder::encode):
3308
3309 2010-04-29  Adam Langley  <agl@chromium.org>
3310
3311         Reviewed by David Levin.
3312
3313         This patch adds support for WOFF in Chromium. Since Chromium
3314         already transcodes all OpenType files for security reasons we
3315         are adding WOFF support into the transcoder.
3316
3317         https://bugs.webkit.org/show_bug.cgi?id=38217
3318
3319         * css/CSSFontFaceSrcValue.cpp:
3320         (WebCore::CSSFontFaceSrcValue::isSupportedFormat):
3321           Recognise "woff" as a font-face format value (guarded by
3322           ENABLE(OPENTYPE_SANITIZER) at this point)
3323         * platform/graphics/opentype/OpenTypeSanitizer.cpp:
3324         (WebCore::OpenTypeSanitizer::sanitize):
3325           Change so that the transcoded font can be larger than the original.
3326           (WOFF files are compressed, so the transcoded TTF is typically
3327           larger.)
3328
3329 2010-04-29  Alex Milowski  <alex@milowski.com>
3330
3331         Reviewed by Kenneth Rohde Christiansen.
3332
3333         Updates to the Qt build to enable building MathML support.
3334
3335         * WebCore.pri:
3336         * WebCore.pro:
3337
3338 2010-04-29  Xan Lopez  <xlopez@igalia.com>
3339
3340         Reviewed by Gustavo Noronha.
3341
3342         [GTK] GObject DOM bindings
3343         https://bugs.webkit.org/show_bug.cgi?id=33590
3344
3345         Do not generate unneeded boilerplate in {get,set}_property methods
3346         when there are no properties to generate code for. This gets rid
3347         of lots of compiler warnings.
3348
3349         * bindings/scripts/CodeGeneratorGObject.pm:
3350
3351 2010-04-29  Simon Hausmann  <simon.hausmann@nokia.com>
3352
3353         Reviewed by Kenneth Rohde Christiansen.
3354
3355         [Qt] Speed up text layouting
3356         https://bugs.webkit.org/show_bug.cgi?id=31719
3357
3358         Use QFontMetrics::width() for the text width calculation instead
3359         of QTextLayout. This avoids expensive bearing calculations and the
3360         line breaking code.
3361
3362         * platform/graphics/qt/FontQt.cpp:
3363         (WebCore::Font::floatWidthForComplexText):
3364
3365 2010-04-29  Kwang Yul Seo  <skyul@company100.net>
3366
3367         Reviewed by Simon Hausmann.
3368
3369         [WINCE] Export g_stackBase with JS_EXPORTDATA
3370         https://bugs.webkit.org/show_bug.cgi?id=37437
3371
3372         Declare g_stackBase with JS_EXPORTDATA as it is imported from JavaScriptCore.
3373
3374         * platform/wince/SharedTimerWince.cpp:
3375
3376 2010-04-29  Adam Barth  <abarth@webkit.org>
3377
3378         Reviewed by Maciej Stachowiak.
3379
3380         Remove custom bindings for PopStateEvent.initPopStateEvent
3381         https://bugs.webkit.org/show_bug.cgi?id=38311
3382
3383         Our code generation of SerializedScriptValue was slightly buggy, but
3384         it's easy to fix.  Notice that the conversion to an atomic string is
3385         handled by the C++ type system and doesn't require logic in the code
3386         generator.
3387
3388         * bindings/js/JSPopStateEventCustom.cpp:
3389         * bindings/scripts/CodeGeneratorJS.pm:
3390         * bindings/scripts/CodeGeneratorV8.pm:
3391         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3392         (webkit_dom_test_obj_serialized_value):
3393         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3394         * bindings/scripts/test/JS/JSTestObj.cpp:
3395         (WebCore::):
3396         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
3397         * bindings/scripts/test/JS/JSTestObj.h:
3398         * bindings/scripts/test/ObjC/DOMTestObj.h:
3399         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3400         (-[DOMTestObj serializedValue:]):
3401         * bindings/scripts/test/TestObj.idl:
3402         * bindings/scripts/test/V8/V8TestObj.cpp:
3403         (WebCore::TestObjInternal::serializedValueCallback):
3404         (WebCore::ConfigureV8TestObjTemplate):
3405         * bindings/v8/custom/V8PopStateEventCustom.cpp:
3406         * dom/PopStateEvent.idl:
3407
3408 2010-04-29  Kent Tamura  <tkent@chromium.org>
3409
3410         Reviewed by Darin Adler.
3411
3412         Fix a bug that selection drag-and-drop doesn't work for input/textarea.
3413         https://bugs.webkit.org/show_bug.cgi?id=38175
3414
3415         The code supposed the selected region was in the destination text
3416         field. It is not true in a case of drag-and-drop.
3417
3418         Test: editing/pasteboard/drag-drop-input-textarea.html
3419
3420         * dom/InputElement.cpp:
3421         (WebCore::InputElement::handleBeforeTextInsertedEvent):
3422         * html/HTMLTextAreaElement.cpp:
3423         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
3424
3425 2010-04-29  Adam Barth  <abarth@webkit.org>
3426
3427         Reviewed by Maciej Stachowiak.
3428
3429         Remove custom bindings for NodeFilter.acceptNode
3430         https://bugs.webkit.org/show_bug.cgi?id=38309
3431
3432         This "custom" code was just an instance of the CallWith=ScriptState
3433         pattern.  Also, it looks like V8 just had a garbage implemenation that
3434         did nothing.
3435
3436         * WebCore.gypi:
3437         * bindings/js/JSNodeFilterCustom.cpp:
3438         * bindings/v8/custom/V8NodeFilterCustom.cpp: Removed.
3439         * dom/NodeFilter.idl:
3440
3441 2010-04-29  Noam Rosenthal  <noam.rosenthal@nokia.com>
3442
3443         Reviewed by Laszlo Gombos.
3444
3445         [Qt] QtWebkit doesn't link with 3D canvas
3446         https://bugs.webkit.org/show_bug.cgi?id=38299
3447
3448         Added implementation for GraphicsContext3D::isGLES2Compliant, which returns the correct value based on a Qt #define.
3449
3450         No new tests: build fix
3451
3452         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3453         (WebCore::GraphicsContext3D::isGLES2Compliant):
3454
3455 2010-04-29  Simon Hausmann  <simon.hausmann@nokia.com>
3456
3457         Reviewed by Tor Arne Vestbø.
3458
3459         [Qt] REGRESSION(r57638): tst_qwebframe::objectDeleted() fails
3460         https://bugs.webkit.org/show_bug.cgi?id=38316
3461
3462         Accessing properties of a deleted objects doesn't throw an exception
3463         anymore.
3464
3465         Continue to expose the QObject class wrapper for objects that
3466         previously existed but don't exist anymore. QtClass is safe to
3467         use with a deleted QObject.
3468
3469         * bridge/qt/qt_instance.cpp:
3470         (JSC::Bindings::QtInstance::getClass): Return null only if m_class
3471         doesn't exist yet and there's no m_object.
3472
3473 2010-04-29  Noam Rosenthal  <noam.rosenthal@nokia.com>
3474
3475         Reviewed by Simon Hausmann.
3476
3477         Reverse animations don't work in some use cases        
3478         https://bugs.webkit.org/show_bug.cgi?id=38075
3479
3480         This was due to a code path special-casing reverse animations, that became obselete when we aligned our animation code
3481         with the CA implementation. That special case code path is now a bug - and this patch removes it.
3482
3483         http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now runs the reverse
3484         animation correctly.
3485
3486         * platform/graphics/qt/GraphicsLayerQt.cpp:
3487         (WebCore::TransformAnimationQt::applyFrame):
3488
3489 2010-04-29  Jan Hanssen  <jhanssen@codeaurora.org>
3490
3491         Reviewed by Adam Barth.
3492
3493         HTMLOptionElement::ownerSelectElement() needs to consider keygen elements
3494         https://bugs.webkit.org/show_bug.cgi?id=26016
3495
3496         Patch written by Grace Kloba <klobag@gmail.com>, test fixed by me.
3497
3498         Test: fast/dom/HTMLKeygenElement/keygen-option-select.html
3499
3500         * html/HTMLOptionElement.cpp:
3501         (WebCore::HTMLOptionElement::ownerSelectElement):
3502         Make HTMLOptionElement::ownerSelectElement() consider the keygen element in addition to the current select element.
3503
3504 2010-04-29  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
3505
3506         Reviewed by Eric Seidel.
3507
3508         Add EFL-specific code to Widget.h and move the empty
3509         frameRectsChanged() definition to Widget.cpp, since the EFL port
3510         needs to override that.
3511         http://webkit.org/b/36317
3512
3513         No new tests required.
3514
3515         * WebCore.base.exp:
3516         * platform/Widget.cpp:
3517         (WebCore::Widget::frameRectsChanged):
3518         * platform/Widget.h:
3519
3520 2010-04-29  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
3521
3522         Reviewed by Simon Hausmann.
3523
3524         [Qt] GraphicsContext3DQt.cpp does not implement isGLES2Compliant() 
3525         https://bugs.webkit.org/show_bug.cgi?id=38216
3526
3527         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3528         (WebCore::GraphicsContext3D::isGLES2Compliant):
3529
3530 2010-04-29  Zhenyao Mo  <zmo@google.com>
3531
3532         Reviewed by Dimitri Glazkov.
3533
3534         Remove the unnecessary texImage2D function with Image as input in GraphicsContext3D
3535         https://bugs.webkit.org/show_bug.cgi?id=38235
3536
3537         * html/canvas/WebGLRenderingContext.cpp:
3538         (WebCore::WebGLRenderingContext::texImage2D): Add extractImageData; add a common entry point for texImage2D with image input.
3539         (WebCore::WebGLRenderingContext::texImage2DBase): Add this function as the common entry point for texImage2D.
3540         (WebCore::WebGLRenderingContext::texSubImage2D): Add extractImageData; add a common entry point for texSubImage2D with image input.
3541         (WebCore::WebGLRenderingContext::texSubImage2DBase): Add this function as the common entry point for texSubImage2D.
3542         * html/canvas/WebGLRenderingContext.h: Add tex*Image{Base/Image} function declaration.
3543         * platform/graphics/GraphicsContext3D.h: Remove tex*Image declaration with Image input.
3544         * platform/graphics/mac/GraphicsContext3DMac.cpp: Remove tex*Image implementation with Image input.
3545         (WebCore::GraphicsContext3D::texImage2D):
3546         (WebCore::GraphicsContext3D::texSubImage2D):
3547
3548 2010-04-29  Noam Rosenthal  <noam.rosenthal@nokia.com>
3549
3550         Reviewed by Simon Hausmann.
3551
3552         [Qt] GraphicsLayer: flicker when starting an animation before the previous one ended.
3553         https://bugs.webkit.org/show_bug.cgi?id=38076
3554
3555         This was due to the cude in the removeAnimations functions, which called deleteLater() without stopping the
3556         animation synchronously. The delay between the call to that function and the actual call to the animation's destructor
3557         is when the flicker occured. We fix this by calling stop() synchronously, and making sure that the value is reverted
3558         upon stop (updateState) and not upon the object's destruction.
3559
3560         http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now doesn't flicker when
3561         the animation is toggled frequently.
3562
3563         * platform/graphics/qt/GraphicsLayerQt.cpp:
3564         (WebCore::TransformAnimationQt::~TransformAnimationQt):
3565         (WebCore::TransformAnimationQt::applyFrame):
3566         (WebCore::TransformAnimationQt::updateState):
3567         (WebCore::OpacityAnimationQt::~OpacityAnimationQt):
3568         (WebCore::OpacityAnimationQt::updateState):
3569         (WebCore::GraphicsLayerQt::removeAnimationsForProperty):
3570         (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
3571
3572 2010-04-28  Luiz Agostini  <luiz.agostini@openbossa.org>
3573
3574         Reviewed by Simon Fraser.
3575
3576         Media queries empty values
3577         https://bugs.webkit.org/show_bug.cgi?id=38116
3578
3579         Adding isValid() method to MediaQueryExp to make it possible to differentiate
3580         between queries with empty values and queries with invalid values.
3581
3582         Test: fast/media/media-query-invalid-value.html
3583
3584         * css/MediaQueryEvaluator.cpp:
3585         (WebCore::MediaQueryEvaluator::eval):
3586         * css/MediaQueryExp.cpp:
3587         (WebCore::MediaQueryExp::MediaQueryExp):
3588         * css/MediaQueryExp.h:
3589         (WebCore::MediaQueryExp::isValid):
3590
3591 2010-04-28  Pavel Feldman  <pfeldman@chromium.org>
3592
3593         Reviewed by Yury Semikhatsky.
3594
3595         Web Inspector: Allow editing script resources when resource tracking is enabled.
3596