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