713d6c4064e67799abaadc7f263dc53a6d171053
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-04-06  Alexis Menard  <alexis.menard@openbossa.org>
2
3         Reviewed by Andreas Kling.
4
5         [Qt] We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA).
6         https://bugs.webkit.org/show_bug.cgi?id=57974
7
8         We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA).
9
10         No new tests needed, just a config flag rename.
11
12         * features.pri:
13
14 2011-04-06  Tyler Close  <tjclose@chromium.org>
15
16         Reviewed by Nate Chapin.
17
18         run-bindings-tests reference files out of sync with CodeGenerator*.pm
19         https://bugs.webkit.org/show_bug.cgi?id=57967
20
21         * bindings/scripts/test/V8/V8TestCallback.cpp:
22
23 2011-04-06  Asanka Herath  <asanka@chromium.org>
24
25         Reviewed by Darin Fisher.
26
27         Add new TargetType: TargetIsFavicon
28
29         https://bugs.webkit.org/show_bug.cgi?id=57659
30
31         No new functionality added, so no additional tests.
32
33         * platform/network/ResourceRequestBase.h:
34
35 2011-04-06  David Hyatt  <hyatt@apple.com>
36
37         Reviewed by Simon Fraser.
38
39         https://bugs.webkit.org/show_bug.cgi?id=57981
40         
41         Update the column count and width computation algorithm for CSS3 multi-column layout 
42         to match the revised pseudo-algorithm in the latest draft of the spec.
43
44         * rendering/RenderBlock.cpp:
45         (WebCore::RenderBlock::calcColumnWidth):
46
47 2011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
48
49         Reviewed by Eric Seidel.
50
51         borderPaddingMarginStart and borderPaddingMarginEnd should take RenderInline
52         https://bugs.webkit.org/show_bug.cgi?id=57965
53
54         Changed the argument types of borderPaddingMarginStart and borderPaddingMarginEnd
55         from RenderBoxModelObject to RenderInline since they call marginStart and marginEnd
56         instead of marginStartForChild and marginEndForChild respectively.
57
58         Calling these two functions on RenderInline is okay because writing-mode cannot differ
59         from that of the containing block.
60
61         * rendering/RenderBlockLineLayout.cpp:
62         (WebCore::borderPaddingMarginStart):
63         (WebCore::borderPaddingMarginEnd):
64         (WebCore::inlineLogicalWidth):
65
66 2011-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>
67
68         Unreviewed, rolling out r83039.
69         http://trac.webkit.org/changeset/83039
70         https://bugs.webkit.org/show_bug.cgi?id=57978
71
72         introduced a new regression in conjunction to
73         ReplaceSelectionCommand (Requested by rniwa on #webkit).
74
75         * editing/EditingStyle.cpp:
76         (WebCore::EditingStyle::init):
77         * editing/InsertParagraphSeparatorCommand.cpp:
78         (WebCore::InsertParagraphSeparatorCommand::doApply):
79
80 2011-04-06  Naoki Takano  <takano.naoki@gmail.com>
81
82         Reviewed by David Levin.
83
84         Webkit ignores PgUp/PgDown/Home/End in SELECT tag objects
85         https://bugs.webkit.org/show_bug.cgi?id=27658
86
87         Test: fast/events/select-element.html
88
89         * dom/SelectElement.cpp:
90         (WebCore::nextValidIndex): Moved from elsewhere in the file to be used by other routines.
91         (WebCore::nextSelectableListIndexPageAway): Returns a selectable index one page away from the given index.
92         (WebCore::nextSelectableListIndex): Implemented with nextValidIndex.
93         And converted to a normal static function from a private function of SelectElement.
94         (WebCore::previousSelectableListIndex): Implemented with nextValidIndex.
95         And converted to a normal static function from a private function of SelectElement.
96         (WebCore::firstSelectableListIndex): Returns the first selectable index.
97         (WebCore::lastSelectableListIndex): Returns the last selectable index.
98         (WebCore::SelectElement::menuListDefaultEventHandler): Converted from C cast to C++ cast.
99         (WebCore::SelectElement::listBoxDefaultEventHandler): Adds support for PageUp/PageDown/Home/End with both single and multiple selection.
100
101         * dom/SelectElement.h:
102         (WebCore::SelectElement::): Remove nextSelectableListIndex() and previousSelectableListIndex().
103
104         * rendering/RenderListBox.h: Makes RenderListBox::size public so that PageUp/PageDown behavior can use the actual list size rather than that specified in HTML.
105         They can differ due to the minimum size imposed by RenderListBox.
106
107 2011-04-06  David Hyatt  <hyatt@apple.com>
108
109         Reviewed by Dan Bernstein.
110
111         https://bugs.webkit.org/show_bug.cgi?id=57975
112
113         The "More..." link for line clamping no longer shows up in Safari RSS. Fix the isLink() check
114         to just look at the style, so that it can find the InlineTextBox and not care that it's a child
115         of the link element and not the line box for the link element itself (since that line box got
116         culled).
117
118         * rendering/RenderFlexibleBox.cpp:
119         (WebCore::RenderFlexibleBox::applyLineClamp):
120
121 2011-04-06  Brady Eidson  <beidson@apple.com>
122
123         Reviewed by Anders Carlsson.
124
125         https://bugs.webkit.org/show_bug.cgi?id=57973 and https://bugs.webkit.org/show_bug.cgi?id=57973
126         WK2 icon database should be able to get a CGImage of a specific size
127
128         * platform/graphics/BitmapImage.h:
129         * platform/graphics/Image.h:
130         (WebCore::Image::getFirstCGImageRefOfSize):
131         
132         * platform/graphics/cg/ImageCG.cpp:
133         (WebCore::BitmapImage::getFirstCGImageRefOfSize): Walk the frames of the image until reaching the
134           first frame of the requested size.
135
136 2011-04-06  Malcolm MacLeod  <malcolm.macleod@tshwanedje.com>
137
138         Reviewed by Kevin Ollivier.
139
140         [wx] Fix cursor handling so that we always call the chrome to set it.
141         
142         https://bugs.webkit.org/show_bug.cgi?id=57972
143
144         * platform/wx/WidgetWx.cpp:
145         (WebCore::Widget::setCursor):
146
147 2011-04-06  David Hyatt  <hyatt@apple.com>
148
149         Reviewed by Dan Bernstein.
150
151         https://bugs.webkit.org/show_bug.cgi?id=41445
152         
153         Visited links painting with black background. Make sure that if the visited style has
154         the initial background color (transparent) set that we just use the unvisited color.
155
156         Added fast/history/visited-link-background-color.html
157
158         * rendering/style/RenderStyle.cpp:
159         (WebCore::RenderStyle::visitedDependentColor):
160
161 2011-04-06  Csaba Osztrogonác  <ossy@webkit.org>
162
163         Unreviewed Qt buildfix after r83079.
164
165         * WebCore.pro:
166
167 2011-04-06  Dean Jackson  <dino@apple.com>
168
169         Reviewed by Chris Marrin.
170
171         https://bugs.webkit.org/show_bug.cgi?id=56936
172         Crash in ImplicitAnimation::~ImplicitAnimation
173
174         Make sure the style and start time waiting lists
175         are cleared in the CompositeAnimation destructor. This
176         way, no running transitions can be left in a state
177         where they are destroyed as the AnimationControllerPrivate
178         cleans up.
179
180         * page/animation/CompositeAnimation.cpp:
181         (WebCore::CompositeAnimation::~CompositeAnimation):
182
183 2011-04-06  Robert Sesek  <rsesek@chromium.org>
184
185         Reviewed by Alexey Proskuryakov.
186
187         Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too
188         https://bugs.webkit.org/show_bug.cgi?id=54969
189
190         No change in behavior; no new tests.
191
192         * editing/TextIterator.cpp:
193         (WebCore::TextIterator::locationAndLengthFromRange): New method from duplicated code in WebKits
194         * editing/TextIterator.h:
195         * page/Frame.cpp:
196         (WebCore::Frame::rangeForPoint): New method from duplicated code in WebKits
197
198 2011-04-06  Leandro Gracia Gil  <leandrogracia@chromium.org>
199
200         Reviewed by Steve Block.
201
202         Factoring the creation of 'FunctionOnly' callbacks in JavaScriptCore.
203         https://bugs.webkit.org/show_bug.cgi?id=57770
204
205         Create a template from an existing functionality in JSGeolocationCustom.cpp
206         to be used by the custom bindings of both Geolocation and the Media Stream API.
207         V8 version of this bug: https://bugs.webkit.org/show_bug.cgi?id=57760
208
209         No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
210
211         * Android.jscbindings.mk:
212         * CMakeLists.txt:
213         * GNUmakefile.am:
214         * WebCore.gypi:
215         * WebCore.pro:
216         * WebCore.vcproj/WebCore.vcproj:
217         * WebCore.xcodeproj/project.pbxproj:
218         * bindings/js/CallbackFunction.cpp: Added.
219         (WebCore::checkFunctionOnlyCallback):
220         * bindings/js/CallbackFunction.h: Added.
221         (WebCore::createFunctionOnlyCallback):
222         * bindings/js/JSBindingsAllInOne.cpp:
223         * bindings/js/JSGeolocationCustom.cpp:
224         (WebCore::JSGeolocation::getCurrentPosition):
225         (WebCore::JSGeolocation::watchPosition):
226
227 2011-04-06  Alexis Menard  <alexis.menard@openbossa.org>
228
229         Reviewed by Andreas Kling.
230
231         [Qt] Implement fullscreen playback for the GStreamer backend.
232         https://bugs.webkit.org/show_bug.cgi?id=56826
233
234         Implement support for fullscreen playback when building the
235         Qt port with the GStreamer backend (DEFINES+=USE_GSTREAMER=1).
236         The implementation is done in FullScreenVideoQt alongside with
237         the Qt Multimedia support.
238
239         No new tests because layout tests cover it. They are not yet activated
240         but will be any time soon.
241
242         * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
243         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
244         (FullScreenVideoWindow::FullScreenVideoWindow):
245         (FullScreenVideoWindow::setVideoElement):
246         (FullScreenVideoWindow::closeEvent):
247         (FullScreenVideoWindow::keyPressEvent):
248         (FullScreenVideoWindow::event):
249         (FullScreenVideoWindow::showFullScreen):
250         (FullScreenVideoWindow::hideCursor):
251         (FullScreenVideoWindow::showCursor):
252
253 2011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
254
255         Reviewed by Dimitri Glazkov.
256
257         Bundle lineLeftOffset and lineRightOffset as a class
258         https://bugs.webkit.org/show_bug.cgi?id=57851
259
260         Added a new class LineOffsets that encapsulates lineLeftOffset and lineRightOffset.
261         The patch makes clear that lineLeftOffset and lineRightOffset are never read individually
262         and only the difference is used to compute the width.
263
264         * rendering/RenderBlock.h:
265         * rendering/RenderBlockLineLayout.cpp:
266         (WebCore::RenderBlock::skipLeadingWhitespace): Takes LineOffsets instead of two integers.
267         (WebCore::LineOffsets::LineOffsets): Added.
268         (WebCore::LineOffsets::width): Added.
269         (WebCore::LineOffsets::setLeft): Added.
270         (WebCore::LineOffsets::setRight): Added.
271         (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine.
272         (WebCore::RenderBlock::positionNewFloatOnLine): Takes LineOffsets instead of two integers.
273
274 2011-04-06  David Hyatt  <hyatt@apple.com>
275
276         Reviewed by Dan Bernstein.
277
278         https://bugs.webkit.org/show_bug.cgi?id=57916
279         
280         Implement an optimization to the line box tree to cull out most of the intermediate
281         line boxes that can occur between the root line box and the leaves of the tree (images
282         and text).
283
284         RenderInlines now have a boolean member, m_alwaysCreateLineBoxes,
285         that starts off as false. Only if it gets flipped to true will there be any line boxes
286         created for that RenderInline.
287         
288         * page/FocusController.cpp:
289         (WebCore::FocusController::advanceFocusDirectionally):
290         Adjust the ordering of updateLayout calls to make sure rects aren't queried unless layout
291         is up to date.
292
293         * page/SpatialNavigation.cpp:
294         (WebCore::hasOffscreenRect):
295         (WebCore::nodeRectInAbsoluteCoordinates):
296         Add asserts in spatial navigation code to catch any future bad queries that might be made
297         for rectangles without layout being up to date.
298
299         * platform/graphics/FloatRect.cpp:
300         (WebCore::FloatRect::uniteIfNonZero):
301         * platform/graphics/FloatRect.h:
302         * platform/graphics/IntRect.cpp:
303         (WebCore::IntRect::uniteIfNonZero):
304         * platform/graphics/IntRect.h:
305         Add a new unite function that is useful for the render tree to FloatRect and IntRect.  This
306         version allows rect unites to happen if either width or height is nonzero.
307
308         * rendering/HitTestResult.cpp:
309         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
310         Make sure rect-based hit testing properly adds in culled inline ancestors to the set of nodes
311         if content inside those inlines is hit.
312
313         * rendering/InlineBox.h:
314         (WebCore::InlineBox::logicalFrameRect):
315         Fix a bug in this function for obtaining the logical frame rect of an inline box.
316
317         * rendering/InlineFlowBox.cpp:
318         (WebCore::InlineFlowBox::addToLine):
319         addToLine now also checks line gap in the line box tree optimization checks.
320     
321         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
322         (WebCore::InlineFlowBox::computeOverflow):
323         * rendering/InlineFlowBox.h:
324         Rewritten to add the text box overflow to the text box itself.
325
326          * rendering/InlineTextBox.cpp:
327         (WebCore::InlineTextBox::destroy):
328         Destroy has been changed to call a helper function to remove and destroy the line boxes that
329         is now called from one additional spot.
330
331         (WebCore::InlineTextBox::logicalOverflowRect):
332         (WebCore::InlineTextBox::setLogicalOverflowRect):
333         Text boxes now cache their own overflow in a global hash table.
334
335         (WebCore::InlineTextBox::baselinePosition):
336         (WebCore::InlineTextBox::lineHeight):
337         Changed to not assume that the parent line box's renderer is the RenderText's immediate
338         parent, since intermediate line boxes may have been culled.
339
340         (WebCore::InlineTextBox::paint):
341         Paint now properly checks only the text box overflow instead of the parent line box's overflow.
342
343         * rendering/InlineTextBox.h:
344         (WebCore::InlineTextBox::logicalTopVisualOverflow):
345         (WebCore::InlineTextBox::logicalBottomVisualOverflow):
346         (WebCore::InlineTextBox::logicalLeftVisualOverflow):
347         (WebCore::InlineTextBox::logicalRightVisualOverflow):
348         New accessors to obtain overflow for inline text boxes.
349
350         * rendering/RenderBlock.cpp:
351         (WebCore::RenderBlock::updateFirstLetter):
352         updateFirstLetter now removes text boxes from the line box tree before it destroys them, since those
353         text boxes may not have anything in between them and the block that contains the inline first letter
354         container.
355
356         * rendering/RenderBlockLineLayout.cpp:
357         (WebCore::RenderBlock::createLineBoxes):
358         The culling optimization is done here.  Only if the RenderInline says that boxes are allowed will they
359         be created.
360
361         (WebCore::RenderBlock::layoutInlineChildren):
362         The state of the RenderInline is updated here, in case it is discovered that line boxes are now needed.
363         This is done before any lines are built.
364
365         * rendering/RenderInline.cpp:
366         (WebCore::RenderInline::RenderInline):
367         The new m_alwaysCreateLineBoxes flag has been added to the constructor.
368
369         (WebCore::RenderInline::styleDidChange):
370         An initial update of the m_alwaysCreateLineBoxes happens here for things that can be checked immediately
371         (like having a layer, borders, padding, margins or backgrounds).  Some checks that depend on examining
372         the RenderInline's parent (including first line styles) happen later in layoutInlineChildren.
373
374         (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
375         The function called by layoutInlineChildren to check parent and child style differences (e.g., font,
376         vertical alignment, line height, etc.).
377
378         (WebCore::RenderInline::absoluteRects):
379         (WebCore::RenderInline::culledInlineAbsoluteRects):
380         absoluteRects calls culledInlineAbsoluteRects when m_alwaysCreateLineBoxes is false.
381
382         (WebCore::RenderInline::absoluteQuads):
383         (WebCore::RenderInline::culledInlineAbsoluteQuads):
384         absoluteQuads calls culledInlineAbsoluteQuads when m_alwaysCreateLineBoxes is false.
385
386         (WebCore::RenderInline::offsetLeft):
387         (WebCore::RenderInline::offsetTop):
388         offsetLeft and offsetTop now check descendant renderers when m_alwaysCreateLineBoxes is false.
389
390         (WebCore::RenderInline::linesBoundingBox):
391         (WebCore::RenderInline::culledInlineBoundingBox):
392         lineBoundingBox calls culledInlineBoundingBox when m_alwaysCreateLineBoxes is false.
393
394         (WebCore::RenderInline::culledInlineFirstLineBox):
395         (WebCore::RenderInline::culledInlineLastLineBox):
396         Helpers that return the first and last line box descendants. Used by firstLineBoxIncludingCulling and
397         lastLineBoxIncludingCulling (which are in turn called by offsetLeft and offsetTop).
398
399         (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
400         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
401         linesVisualOverflowBoundingBox calls culledInlineVisualOverflowBoundingBox when m_alwaysCreateLineBoxes is false.
402
403         (WebCore::RenderInline::clippedOverflowRectForRepaint):
404         The initial bailout check is now done using firstLineBoxIncludingCulling instead of just firstLineBox.
405
406         (WebCore::RenderInline::dirtyLineBoxes):
407         dirtyLineBoxes now crawls into descendants to figure out which root lines to dirty when
408         m_alwaysCreateLineBoxes is false.
409
410         (WebCore::RenderInline::createAndAppendInlineFlowBox):
411         Clear the m_alwaysCreateLineBoxes if a box gets added anyway. This happens for leaf inline flows and also
412         when line-box-contain is set to an unusual value.
413
414         (WebCore::RenderInline::addFocusRingRects):
415         Used culledInlineAbsoluteRects in place of the line box walk when m_alwaysCreateLineBoxes is false.
416
417         * rendering/RenderInline.h:
418         (WebCore::RenderInline::firstLineBoxIncludingCulling):
419         (WebCore::RenderInline::lastLineBoxIncludingCulling):
420         Helpers used in a few places (like offsetLeft and offsetTop), mostly in places where the existence of a box
421         is all that needs checking.
422
423         (WebCore::RenderInline::alwaysCreateLineBoxes):
424         (WebCore::RenderInline::setAlwaysCreateLineBoxes):
425         Functions for getting and setting the m_alwaysCreateLineBoxes flag.
426
427         * rendering/RenderLineBoxList.cpp:
428         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
429         Modified to use firstLineBoxIncludingCulling and lastLineBoxIncludingCulling to ensure the right set of
430         lines get dirtied.
431
432         * rendering/RenderText.cpp:
433         (WebCore::RenderText::removeAndDestroyTextBoxes):
434         New helper invoked by destroy and also from updateFirstLetter.
435
436         (WebCore::RenderText::destroy):
437         Changed to call removeAndDestroyTextBoxes.
438
439         (WebCore::RenderText::absoluteRects):
440         Fixed to be properly physical instead of logical.
441
442         (WebCore::RenderText::linesVisualOverflowBoundingBox):
443         New implementation for RenderText that gives the bounding box of the text boxes including overflow from
444         shadows, glyphs, text-stroke, etc.  Used by RenderInline::culledInlineVisualOverflowBoundingBox.
445
446         * rendering/RenderText.h:
447         * rendering/svg/RenderSVGInline.cpp:
448         (WebCore::RenderSVGInline::RenderSVGInline):
449         RenderSVGInline always sets m_alwaysCreateLineBoxes to true so that SVG is unaffected by this optimization.
450
451         * rendering/svg/SVGRootInlineBox.cpp:
452         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
453         (WebCore::SVGRootInlineBox::layoutChildBoxes):
454         Move the isInlineFlowBox asserts to after the generated content skips, since the generated content boxes are
455         now InlineTextBoxes (the enclosing InlineFlowBoxes got culled).
456
457 2011-04-05  Enrica Casucci  <enrica@apple.com>
458
459         Reviewed by Darin Adler.
460
461         REGRESSION: Drag & Drop Gmail Attachments doesn't work.
462         https://bugs.webkit.org/show_bug.cgi?id=57909
463         <rdar://problem/9103220>
464
465         In WebKit2 we cannot rely on the value returned by platformData() that
466         on Mac returns an NSDraggingInfo object. This is available only in the UI
467         process. Therefore we should use m_pasteboard instead.
468         We cannot change what platformData() returns on Mac, since there are
469         delegate methods that receive a NSDraggingInfo object (only in WebKit).
470         
471         * platform/DragData.h:
472         (WebCore::DragData::pasteboard): Added.
473         * platform/mac/ClipboardMac.mm:
474         (WebCore::Clipboard::create): Changed to use pasteboard() instead of platformData().
475         * platform/mac/DragDataMac.mm:
476         (WebCore::DragData::asColor): Replaced references to m_platformData with m_pasteboard.
477         (WebCore::DragData::asURL): Same as above.
478
479 2011-04-06  Benjamin Poulain  <benjamin.poulain@nokia.com>
480
481         Reviewed by Darin Adler.
482
483         ClipboardWin has unused variables "ExceptionCode ec"
484         https://bugs.webkit.org/show_bug.cgi?id=57952
485
486         Remove the unused variable.
487
488         * platform/win/ClipboardWin.cpp:
489         (WebCore::ClipboardWin::declareAndWriteDragImage):
490         (WebCore::ClipboardWin::writePlainText):
491
492 2011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
493
494         Reviewed by Dimitri Glazkov.
495
496         Split getBorderPaddingMargin into two functions
497         https://bugs.webkit.org/show_bug.cgi?id=57947
498
499         * rendering/RenderBlockLineLayout.cpp:
500         (WebCore::borderPaddingMarginStart): Extracted from getBorderPaddingMargin.
501         (WebCore::borderPaddingMarginEnd): Ditto.
502         (WebCore::inlineLogicalWidth): Calls borderPaddingMarginStart and borderPaddingMarginEnd.
503         (WebCore::RenderBlock::findNextLineBreak): Ditto.
504
505 2011-04-06  MORITA Hajime  <morrita@google.com>
506
507         Reviewed by Dimitri Glazkov.
508
509         [Refactoring] <progress> should not have manual layout code.
510         https://bugs.webkit.org/show_bug.cgi?id=57801
511
512         - Simplified RenderProgress, removing its custom layout code
513         - Introducing ProgressValueElement and ProgressBarElement, replacing
514           ProgressBarValueElement. 
515         
516         Now the structure is almost identical to <meter>, 
517         other than:
518         - RenderProgress has animated painting, thus manages its own timer.
519         - Both ProgressValueElement and ProgressBarElement has pseudo classes
520           which don't changes during its lifetime.
521        
522         * Android.mk:
523         * CMakeLists.txt:
524         * GNUmakefile.am:
525         * WebCore.gypi:
526         * WebCore.pro:
527         * WebCore.vcproj/WebCore.vcproj:
528         * WebCore.xcodeproj/project.pbxproj:
529         * css/html.css:
530         (progress):
531         (progress::-webkit-progress-bar):
532         (progress::-webkit-progress-value):
533         * html/HTMLProgressElement.cpp:
534         (WebCore::HTMLProgressElement::~HTMLProgressElement):
535         (WebCore::HTMLProgressElement::create):
536         (WebCore::HTMLProgressElement::attach):
537         (WebCore::HTMLProgressElement::didElementStateChange):
538         (WebCore::HTMLProgressElement::createShadowSubtree):
539         * html/HTMLProgressElement.h:
540         * html/shadow/ProgressShadowElement.cpp: Copied from Source/WebCore/html/shadow/ProgressBarValueElement.h.
541         (WebCore::ProgressShadowElement::ProgressShadowElement):
542         (WebCore::ProgressShadowElement::progressElement):
543         (WebCore::ProgressShadowElement::rendererIsNeeded):
544         (WebCore::ProgressBarElement::shadowPseudoId):
545         (WebCore::ProgressValueElement::shadowPseudoId):
546         (WebCore::ProgressValueElement::setWidthPercentage):
547         * html/shadow/ProgressShadowElement.h: Renamed from Source/WebCore/html/shadow/ProgressBarValueElement.h.
548         (WebCore::ProgressBarElement::ProgressBarElement):
549         (WebCore::ProgressBarElement::create):
550         (WebCore::ProgressValueElement::ProgressValueElement):
551         (WebCore::ProgressValueElement::create):
552         * rendering/RenderProgress.cpp:
553         (WebCore::RenderProgress::RenderProgress):
554         (WebCore::RenderProgress::updateFromElement):
555         (WebCore::RenderProgress::animationTimerFired):
556         * rendering/RenderProgress.h:
557         (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation):
558         (WebCore::RenderProgress::canHaveChildren):
559
560 2011-04-06  Mario Sanchez Prada  <msanchez@igalia.com>
561
562         Reviewed by Chris Fleizach.
563
564         [GTK] Do not reference AccessibilityRenderObject from platform dependent code
565         https://bugs.webkit.org/show_bug.cgi?id=57955
566
567         Do not reference AccessibilityRenderObject from platform specific code
568
569         Added new virtual functions to AccessibilityObject.h and removed
570         explicit references to AccessibilityRenderObject from GTK code.
571
572         * accessibility/AccessibilityObject.h:
573         (WebCore::AccessibilityObject::renderer): New virtual method,
574         returning 0 by default. Overriden by AccessibilityRenderObject.
575         (WebCore::AccessibilityObject::correspondingLabelForControlElement):
576         New virtual method, returning 0 by default. It complements the
577         already present method correspondingControlForLabelElement().
578
579         * accessibility/AccessibilityRenderObject.h:
580         (WebCore::AccessibilityRenderObject::renderer): Made virtual.
581
582         * accessibility/gtk/AXObjectCacheAtk.cpp:
583         (WebCore::emitTextChanged): Reference  AccessibilityObject,
584         instead of AccessibilityRenderObject.
585         (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
586         Ditto.
587
588         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
589         (webkit_accessible_get_name): Do not reference
590         AccessibilityRenderObject.
591         (webkit_accessible_get_description): Ditto.
592         (setAtkRelationSetFromCoreObject): Ditto.
593         (optionFromList): Ditto.
594         (optionFromSelection): Ditto.
595         (webkit_accessible_selection_clear_selection): Ditto.
596         (webkit_accessible_selection_get_selection_count): Ditto.
597         (webkit_accessible_selection_select_all_selection): Ditto.
598         (textForObject): Ditto.
599         (webkit_accessible_text_get_text): Ditto.
600         (getPangoLayoutForAtk): Ditto.
601         (webkit_accessible_text_get_caret_offset): Ditto.
602         (baselinePositionForRenderObject): Ditto.
603         (getAttributeSetForAccessibilityObject): Ditto.
604         (accessibilityObjectLength): Ditto.
605         (getSelectionOffsetsForObject): Ditto.
606         (webkit_accessible_text_set_selection): Ditto.
607         (webkit_accessible_text_set_caret_offset): Ditto.
608         (webkit_accessible_table_get_caption): Ditto.
609         (getInterfaceMaskFromObject): Ditto.
610
611         * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
612         (getRangeLengthForObject): Ditto.
613
614         Removed unused renderer() method from AccessibilityMenuList.
615
616         * accessibility/AccessibilityMenuList.h: Removed unused method.
617         * accessibility/AccessibilityMenuList.cpp: Removed unused method.
618
619 2011-04-06  Alexander Pavlov  <apavlov@chromium.org>
620
621         Reviewed by Pavel Feldman.
622
623         Web Inspector: Javascipt warning link expand and overlap with icons in js console
624         https://bugs.webkit.org/show_bug.cgi?id=57939
625
626         * inspector/front-end/inspector.js:
627         (WebInspector.linkifyURLAsNode):
628
629 2011-04-06  Alexander Pavlov  <apavlov@chromium.org>
630
631         Reviewed by Pavel Feldman.
632
633         Web Inspector: Beautify parameter names in Inspector.json (CSS domain)
634         https://bugs.webkit.org/show_bug.cgi?id=57931
635
636         * inspector/Inspector.json:
637
638 2011-04-06  Jia Pu  <jpu@apple.com>
639
640         Reviewed by Darin Adler.
641
642         [Mac] WebCore need to notify AppKit spell checker after user has modified autocorrected text.
643         https://bugs.webkit.org/show_bug.cgi?id=57665
644         <rdar://problem/7350477>
645
646         We need to track how user modified an autocorrected word. If he changed it back to original
647         text, we want to record AutocorrectionReverted response. And if he changed it to something
648         else, we want to record AutocorrectionEdited response.
649
650         To achieve this, we need to distringuish between text replacement caused by autocorrection
651         from that due to other causes, such as reversion, text substitution, etc. So we added a new
652         marker type "Autocorrected". We also need to be able to check for correction, even when we
653         don't intend to actually carry out replacement. For this, we introduced a new TextCheckingOption
654         value, "CheckForCorrection".
655
656         We also added DocumentMarkerController::markersInRange() to retrieve a vector of markers in
657         specified range, and of specified type.
658
659         * dom/DocumentMarker.h:
660         * dom/DocumentMarkerController.cpp:
661         (WebCore::DocumentMarkerController::markersInRange):
662         (WebCore::DocumentMarkerController::hasMarkers):
663         * dom/DocumentMarkerController.h:
664         * editing/Editor.cpp:
665         (WebCore::markerTypesForAutocorrection):
666         (WebCore::markersHaveIdenticalDescription):
667         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
668         (WebCore::Editor::recordSpellcheckerResponseForModifiedCorrection):
669         (WebCore::Editor::changeBackToReplacedString):
670         (WebCore::Editor::markMisspellingsAndBadGrammar):
671         (WebCore::Editor::applyCorrectionPanelInfo):
672         (WebCore::Editor::unappliedSpellCorrection):
673         (WebCore::Editor::textCheckingTypeMaskFor):
674         * editing/Editor.h:
675         * editing/SpellingCorrectionCommand.cpp:
676         (WebCore::SpellingCorrectionCommand::doApply):
677
678 2011-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>
679
680         Unreviewed, rolling out r83045.
681         http://trac.webkit.org/changeset/83045
682         https://bugs.webkit.org/show_bug.cgi?id=57953
683
684         Broke win layout tests (Requested by podivilov on #webkit).
685
686         * GNUmakefile.am:
687         * inspector/front-end/DebuggerPresentationModel.js:
688         (WebInspector.DebuggerPresentationModel.prototype._addScript):
689         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
690
691 2011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
692
693         Moved the declaration of positionNewFloatOnLine in RenderBlock.h after r83042.
694
695         * rendering/RenderBlock.h:
696
697 2011-03-27  Diego Gonzalez  <diegohcg@webkit.org>
698
699         Reviewed by Kenneth Rohde Christiansen.
700
701         [Qt] Re-draw the <input> fields for Qt Mobile Theme to do not override elements already styled.
702         https://bugs.webkit.org/show_bug.cgi?id=57007
703
704         * CodeGenerators.pri:
705         * css/themeQtMobile.css: Removed.
706         * platform/qt/QtMobileWebStyle.cpp:
707         (drawRectangularControlBackground):
708         (QtMobileWebStyle::drawPrimitive):
709         (QtMobileWebStyle::drawComplexControl):
710         * platform/qt/QtMobileWebStyle.h:
711         * platform/qt/RenderThemeQt.cpp:
712         (WebCore::RenderThemeQt::isControlStyled):
713         (WebCore::RenderThemeQt::paintTextField):
714
715 2011-04-06  Jia Pu  <jpu@apple.com>
716
717         Reviewed by Darin Adler.
718
719         [Mac] When autocorrection occurs without showing correction panel, WebCore need to post accessibility notification.
720         https://bugs.webkit.org/show_bug.cgi?id=57800
721         <rdar://problem/9218223>
722
723         Defined a new accessibility notification type, AXAutocorrectionOccured. Editor::markAllMisspellingsAndBadGrammarInRanges()
724         now posts said notification when any autocorrection or text replacement (e.g. replacing "(c)" with copyright mark) takes place.
725
726         * accessibility/AXObjectCache.h:
727         * accessibility/chromium/AXObjectCacheChromium.cpp:
728         (WebCore::AXObjectCache::postPlatformNotification):
729         * accessibility/mac/AXObjectCacheMac.mm:
730         (WebCore::AXObjectCache::postPlatformNotification):
731         * editing/Editor.cpp:
732         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
733
734 2011-04-06  Martin Robinson  <mrobinson@igalia.com>
735
736         Build fix for debug Cairo builds.
737
738         * platform/graphics/cairo/PlatformContextCairo.cpp:
739         (WebCore::PlatformContextCairo::pushImageMask): Update the reference to m_maskInformation.
740
741 2011-04-06  Diego Gonzalez  <diegohcg@webkit.org>
742
743         Reviewed by Antonio Gomes.
744
745         [Qt] Style fix for QtMobileWebStyle.h
746         https://bugs.webkit.org/show_bug.cgi?id=57708
747
748         * platform/qt/QtMobileWebStyle.h:
749
750 2011-04-06  Andras Becsi  <abecsi@webkit.org>
751
752         Reviewed by Darin Adler.
753
754         Invalid color #{predefined colorName} is accepted by the CSS parser.
755         https://bugs.webkit.org/show_bug.cgi?id=15360
756
757         Test: fast/css/invalid-predefined-color.html
758
759         * css/CSSGrammar.y: Remove superfluous hexcolor production.
760         * css/tokenizer.flex: A hexadecimal number should consist of [a-fA-F0-9] values ({h}).
761
762 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
763
764         Reviewed by Pavel Feldman.
765
766         Web Inspector: add test for script formatter worker.
767         https://bugs.webkit.org/show_bug.cgi?id=57447
768
769         Test: inspector/debugger/script-formatter.html
770
771         * GNUmakefile.am:
772         * inspector/front-end/DebuggerPresentationModel.js:
773         (WebInspector.DebuggerPresentationModel):
774         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
775
776 2011-04-06  Martin Robinson  <mrobinson@igalia.com>
777
778         Reviewed by Xan Lopez.
779
780         [Cairo] Hide the details of image masking in PlatformContextCairo
781         https://bugs.webkit.org/show_bug.cgi?id=57878
782
783         No new tests. This is just a refactor.
784
785         * platform/graphics/GraphicsContext.h:
786         * platform/graphics/cairo/GraphicsContextCairo.cpp:
787         (WebCore::GraphicsContext::savePlatformState): Call into PlatformContextCairo now to
788         do the actual cairo_save. Remove information about image masking.
789         (WebCore::GraphicsContext::restorePlatformState): Call into PlatformContextCairo now to
790         do the actual cairo_restore. Remove information about image masking.
791         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
792         * platform/graphics/cairo/ImageBufferCairo.cpp:
793         (WebCore::ImageBuffer::clip): Use PlatformContextCairo here now.
794         * platform/graphics/cairo/PlatformContextCairo.cpp:
795         (WebCore::PlatformContextCairo::restore): Added.
796         (WebCore::PlatformContextCairo::save): Added.
797         (WebCore::PlatformContextCairo::pushImageMask): Added.
798         * platform/graphics/cairo/PlatformContextCairo.h:
799         (WebCore::ImageMaskInformation::update): Moved from GraphicsContextPlatformPrivateCairo.h.
800         (WebCore::ImageMaskInformation::isValid): Ditto.
801         (WebCore::ImageMaskInformation::maskSurface): Ditto.
802         (WebCore::ImageMaskInformation::maskRect): Ditto.
803
804 2011-04-02  Diego Gonzalez  <diegohcg@webkit.org>
805
806         Reviewed by Csaba Osztrogonác.
807
808         [Qt] Radio buttons are showing wrong with mobile theme
809         https://bugs.webkit.org/show_bug.cgi?id=57706
810
811         * platform/qt/QtMobileWebStyle.cpp:
812         (QtMobileWebStyle::drawRadio):
813
814 2011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
815
816         Reviewed by Eric Seidel.
817
818         Move RenderBlock::positionNewFloatOnLine to RenderBlockLineLayout.cpp
819         https://bugs.webkit.org/show_bug.cgi?id=57943
820
821         * rendering/RenderBlock.cpp: Removed positionNewFloatOnLine.
822         * rendering/RenderBlockLineLayout.cpp:
823         (WebCore::RenderBlock::positionNewFloatOnLine): Moved from RenderBlock.cpp
824
825 2011-04-05  Diego Gonzalez  <diegohcg@webkit.org>
826
827         Buildfix after r82125.
828
829         [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
830         https://bugs.webkit.org/show_bug.cgi?id=57087
831
832         * platform/qt/QtMobileWebStyle.cpp:
833         (QtMobileWebStyle::findChecker):
834         (QtMobileWebStyle::findRadio):
835         (QtMobileWebStyle::findComboButton):
836
837 2011-04-06  Pavel Podivilov  <podivilov@chromium.org>
838
839         Reviewed by Yury Semikhatsky.
840
841         Web Inspector: inline script imports in ScriptFormatterWorker.js so it works in Safari release.
842         https://bugs.webkit.org/show_bug.cgi?id=57641
843
844         * WebCore.xcodeproj/project.pbxproj:
845         * gyp/streamline-inspector-source.sh:
846         * inspector/combine-javascript-resources.pl: Renamed from Source/WebCore/combine-javascript-resources.
847         * inspector/inline-javascript-imports.py: Added.
848
849 2011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
850
851         Reviewed by Eric Seidel.
852
853         REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
854         https://bugs.webkit.org/show_bug.cgi?id=57872
855
856         r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
857         because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.
858
859         r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
860         avoiding the tab span.
861
862         Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
863
864         Test: editing/inserting/insert-paragraph-separator-tab-span.html
865
866         * editing/EditingStyle.cpp:
867         (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
868         * editing/InsertParagraphSeparatorCommand.cpp:
869         (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
870         separator into a paragraph separator.
871
872 2011-04-06  Levi Weintraub  <leviw@chromium.org>
873
874         Reviewed by Ryosuke Niwa.
875
876         Add member functions for determining line/paragraph separation to InlineIterator
877         https://bugs.webkit.org/show_bug.cgi?id=57938
878
879         Adding atTextParagraphSeparator and atParagraphSeparator inline convenience functions to
880         InlineIterator, where it makes far more sense for them to be. Also moving
881         shouldPreserveNewline to RenderObject and renaming it preservesNewline.
882
883         No new tests as this provides no new functionality.
884
885         * rendering/InlineIterator.h:
886         (WebCore::InlineIterator::atTextParagraphSeparator):
887         (WebCore::InlineIterator::atParagraphSeparator):
888         * rendering/RenderBlockLineLayout.cpp:
889         (WebCore::RenderBlock::requiresLineBox):
890         (WebCore::RenderBlock::findNextLineBreak):
891         * rendering/RenderObject.h:
892         (WebCore::RenderObject::preservesNewline):
893
894 2011-04-05  Alexander Pavlov  <apavlov@chromium.org>
895
896         Reviewed by Pavel Feldman.
897
898         Web Inspector: Range insertNode function does not update content in the inspector
899         https://bugs.webkit.org/show_bug.cgi?id=57829
900
901         * inspector/InspectorDOMAgent.cpp:
902         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
903         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
904
905 2011-04-06  Alejandro G. Castro  <alex@igalia.com>
906
907         Fix GTK3 compilation after r82962.
908
909         * platform/gtk/RenderThemeGtk3.cpp:
910         (WebCore::paintToggle):
911         (WebCore::renderButton):
912         (WebCore::RenderThemeGtk::paintMenuList):
913         (WebCore::RenderThemeGtk::paintTextField):
914         (WebCore::RenderThemeGtk::paintSliderTrack):
915         (WebCore::RenderThemeGtk::paintSliderThumb):
916         (WebCore::RenderThemeGtk::paintProgressBar):
917         (WebCore::paintSpinArrowButton):
918         * platform/gtk/ScrollbarThemeGtk3.cpp:
919         (WebCore::ScrollbarThemeGtk::paintTrackBackground):
920         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
921         (WebCore::ScrollbarThemeGtk::paintThumb):
922         (WebCore::ScrollbarThemeGtk::paintButton):
923
924 2011-04-06  Andrey Kosyakov  <caseq@chromium.org>
925
926         Reviewed by Yury Semikhatsky.
927
928         Web Inspector: [Extensions API] remove inspectedPage.* events
929         https://bugs.webkit.org/show_bug.cgi?id=57763
930
931         - Removed webInspector.inspectedPage.* events
932         - moved onNavigated to webInspector.resources
933
934         * inspector/front-end/ExtensionAPI.js:
935         (WebInspector.injectedExtensionAPI):
936         (WebInspector.injectedExtensionAPI.InspectedWindow):
937         * inspector/front-end/ExtensionAPISchema.json:
938         * inspector/front-end/ExtensionServer.js:
939         (WebInspector.ExtensionServer.prototype.notifyInspectedURLChanged):
940         * inspector/front-end/inspector.js:
941         (WebInspector.domContentEventFired):
942         (WebInspector.loadEventFired):
943         (WebInspector.inspectedURLChanged):
944
945 2011-04-06  Joseph Pecoraro  <joepeck@webkit.org>
946
947         Reviewed by Antti Koivisto.
948
949         Add <head> to the simpleUserAgentStyleSheet
950         https://bugs.webkit.org/show_bug.cgi?id=57915
951
952         * css/CSSStyleSelector.cpp:
953         (WebCore::elementCanUseSimpleDefaultStyle): add head to the
954         simple stylesheet, display:none.
955
956 2011-04-05  Mikhail Naganov  <mnaganov@chromium.org>
957
958         Reviewed by Pavel Feldman.
959
960         Web Inspector: [Chromium] Add layout test for Summary view of detailed heap snapshots.
961         https://bugs.webkit.org/show_bug.cgi?id=57856
962
963         Test: inspector/profiler/detailed-heapshots-summary.html
964
965         * inspector/front-end/DataGrid.js:
966         (WebInspector.DataGrid):
967         * inspector/front-end/DetailedHeapshotGridNodes.js:
968         (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate):
969         (WebInspector.HeapSnapshotGridNode.prototype._populate):
970         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
971         (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
972         (WebInspector.HeapSnapshotGridNode.prototype.sort):
973         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
974         * inspector/front-end/DetailedHeapshotView.js:
975         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
976         * inspector/front-end/ProfilesPanel.js:
977         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
978         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
979
980 2011-04-06  Anders Bakken  <agbakken@gmail.com>
981
982         Reviewed by David Levin.
983
984         [Qt] SmartReplaceQt.cpp has coding-style errors
985         https://bugs.webkit.org/show_bug.cgi?id=40261
986
987         This patch does not require new test cases.
988
989         * editing/qt/SmartReplaceQt.cpp:
990         (WebCore::isCharacterSmartReplaceExempt):
991
992 2011-04-06  Naoki Takano  <takano.naoki@gmail.com>
993
994         Reviewed by Ryosuke Niwa.
995
996         REGRESSION(r81328): Null pointer crash in canAppendNewLineFeed when selection isn't inside an editable element
997         https://bugs.webkit.org/show_bug.cgi?id=57755
998
999         Test: editing/execCommand/insert-line-break-onload.html
1000
1001         * editing/TypingCommand.cpp:
1002         (WebCore::canAppendNewLineFeed): Added null pointer check for rootEditableElement().
1003
1004 2011-04-05  Antti Koivisto  <antti@apple.com>
1005
1006         Reviewed by Cameron Zwarich.
1007
1008         Avoid calling currentTime() from FrameView::adjustedDeferredRepaintDelay() when repaints are deferred
1009         https://bugs.webkit.org/show_bug.cgi?id=57914
1010
1011         Don't call adjustedDeferredRepaintDelay unnecessarily.
1012
1013         * page/FrameView.cpp:
1014         (WebCore::FrameView::repaintContentRectangle):
1015         (WebCore::FrameView::adjustedDeferredRepaintDelay):
1016
1017 2011-04-05  Steve VanDeBogart  <vandebo@chromium.org>
1018
1019         Reviewed by David Levin.
1020
1021         Update call to SkAdvancedTypefaceMetrics to new API.
1022         https://bugs.webkit.org/show_bug.cgi?id=57887
1023
1024         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1025         (WebCore::FontPlatformData::emSizeInFontUnits):
1026
1027 2011-04-05  Alexey Proskuryakov  <ap@apple.com>
1028
1029         Reviewed by Darin Adler.
1030
1031         Rename event dispatching functions after form event removal
1032         https://bugs.webkit.org/show_bug.cgi?id=57908
1033
1034         * dom/InputElement.cpp:
1035         (WebCore::InputElement::setValueFromRenderer):
1036         * dom/Node.cpp:
1037         (WebCore::Node::dispatchChangeEvent):
1038         (WebCore::Node::dispatchInputEvent):
1039         (WebCore::Node::defaultEventHandler):
1040         * dom/Node.h:
1041         * html/HTMLFormControlElement.cpp:
1042         (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
1043         (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent):
1044         (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent):
1045         Renamed "events" to "event", since there is only one event to dispatch now.
1046
1047 2011-04-05  Anders Bakken  <agbakken@gmail.com>
1048
1049         Reviewed by David Levin.
1050
1051         [Qt] DragControllerQt.cpp has coding-style errors
1052         https://bugs.webkit.org/show_bug.cgi?id=40258
1053
1054         This patch does not require new test cases.
1055
1056         * page/qt/DragControllerQt.cpp:
1057         (WebCore::DragController::dragOperation):
1058
1059 2011-04-05  Steve VanDeBogart  <vandebo@chromium.org>
1060
1061         Reviewed by David Levin.
1062
1063         Update deprecated include: platform_canvas_win.h to platform_canvas.h.
1064         https://bugs.webkit.org/show_bug.cgi?id=57896
1065
1066         * platform/graphics/chromium/FontChromiumWin.cpp:
1067
1068 2011-04-05  Darin Adler  <darin@apple.com>
1069
1070         Try to fix Leopard bots.
1071
1072         * platform/mac/HTMLConverter.mm: Fix #if back the way Alexey seems
1073         to have intended it.
1074
1075 2011-04-05  Darin Adler  <darin@apple.com>
1076
1077         Try to fix Leopard bots.
1078
1079         * platform/mac/HTMLConverter.mm: Move declarations of new functions
1080         inside the appropriate #if.
1081
1082 2011-04-05  Adrienne Walker  <enne@google.com>
1083
1084         Reviewed by Tony Chang.
1085
1086         Correctly set color when using skia's fillRoundedRect.
1087         https://bugs.webkit.org/show_bug.cgi?id=57907
1088
1089         * platform/graphics/skia/GraphicsContextSkia.cpp:
1090         (WebCore::GraphicsContext::fillRoundedRect):
1091
1092 2011-04-05  Alexey Proskuryakov  <ap@apple.com>
1093
1094         Reviewed by Darin Adler.
1095
1096         Move attributedStringFromRange down to WebCore
1097         https://bugs.webkit.org/show_bug.cgi?id=57905
1098
1099         No change in behavior, so no new tests.
1100
1101         Also tweaked HTMLConverter to not use methods defined in WebKit.
1102
1103         * WebCore.exp.in:
1104         * WebCore.xcodeproj/project.pbxproj:
1105         * platform/mac/HTMLConverter.h:
1106         * platform/mac/HTMLConverter.mm:
1107         (-[WebHTMLConverter _newTabForElement:]):
1108         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
1109         (+[WebHTMLConverter editingAttributedStringFromRange:]):
1110         (fileWrapperForURL):
1111         (fileWrapperForElement):
1112         * platform/mac/PasteboardMac.mm:
1113         (WebCore::Pasteboard::writeSelection):
1114         * platform/mac/WebNSAttributedStringExtras.h: Copied from Source/WebKit/mac/Misc/WebNSAttributedStringExtras.h.
1115         * platform/mac/WebNSAttributedStringExtras.mm: Copied from Source/WebKit/mac/Misc/WebNSAttributedStringExtras.mm.
1116         (WebCore::attributedStringByStrippingAttachmentCharacters):
1117
1118 2011-04-05  Simon Fraser  <simon.fraser@apple.com>
1119
1120         Reviewed by Darin Adler.
1121
1122         Rename variables in border drawing code for readability
1123         https://bugs.webkit.org/show_bug.cgi?id=57894
1124
1125         * rendering/RenderObject.cpp:
1126         (WebCore::RenderObject::drawLineForBoxSide):
1127         (WebCore::RenderObject::drawBoxSideFromPath):
1128         (WebCore::RenderObject::drawArcForBoxSide):
1129
1130 2011-04-05  Antti Koivisto  <antti@apple.com>
1131
1132         Reviewed by Darin Adler.
1133
1134         Defer repaints during style recalc
1135         https://bugs.webkit.org/show_bug.cgi?id=57886
1136
1137         This reduces the need to do (often expensive) platform surface invalidation.
1138         We already do this during layout but style recalculation may trigger
1139         invalidation as well.
1140     
1141         * dom/Document.cpp:
1142         (WebCore::Document::recalcStyle):
1143
1144 2011-04-05  Jer Noble  <jer.noble@apple.com>
1145
1146         Reviewed by Darin Adler.
1147
1148         HTML5 Player Has no Fullscreen Mode
1149         https://bugs.webkit.org/show_bug.cgi?id=57795
1150
1151         * html/HTMLVideoElement.cpp:
1152         (WebCore::HTMLVideoElement::supportsFullscreen): Call the new ChromeClient API
1153             supportsFullScreenForElement() before the old supportsFullScreenForNode() API.
1154
1155 2011-04-05  Vsevolod Vlasov  <vsevik@chromium.org>
1156
1157         Reviewed by Pavel Feldman.
1158
1159         Web Inspector: fix data url's status and timing the network panel.
1160         https://bugs.webkit.org/show_bug.cgi?id=53066
1161
1162         Added data url support for status of network resources.
1163
1164         * English.lproj/localizedStrings.js:
1165         * inspector/front-end/NetworkPanel.js:
1166         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
1167         * inspector/front-end/Resource.js:
1168         (WebInspector.Resource.prototype.isDataURL):
1169
1170 2011-04-04  Vitaly Repeshko  <vitalyr@chromium.org>
1171
1172         Reviewed by Adam Barth.
1173
1174         [V8] Keep dirty primitive CSS values alive.
1175         https://bugs.webkit.org/show_bug.cgi?id=57810
1176
1177         * bindings/v8/V8GCController.cpp:
1178         (WebCore::GrouperVisitor::visitDOMWrapper):
1179
1180 2011-04-05  Simon Fraser  <simon.fraser@apple.com>
1181
1182         Reviewed by Adele Peterson.
1183
1184         Add a fast path for simple color backgrounds
1185         https://bugs.webkit.org/show_bug.cgi?id=57773
1186
1187         Add a fast path for drawing simple color backgrounds. It's
1188         faster to fill a path or rect than it is to set up a clip,
1189         and then paint the rect.
1190         
1191         No visible behavior change so no new tests.
1192
1193         * rendering/RenderBoxModelObject.cpp:
1194         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1195
1196 2011-04-05  Patrick Gansterer  <paroga@webkit.org>
1197
1198         Unreviewed EFL build fix for r82962.
1199
1200         * CMakeListsEfl.txt:
1201
1202 2011-04-05  Chris Rogers  <crogers@google.com>
1203
1204         Reviewed by Kenneth Russell.
1205
1206         Add support for offline audio rendering to AudioContext API
1207         https://bugs.webkit.org/show_bug.cgi?id=57676
1208
1209         No new tests since audio API is not yet implemented.
1210
1211         * DerivedSources.make:
1212         * WebCore.gypi:
1213         * WebCore.xcodeproj/project.pbxproj:
1214         * bindings/js/JSAudioContextCustom.cpp:
1215         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
1216         * bindings/js/JSEventCustom.cpp:
1217         (WebCore::toJS):
1218         * bindings/js/JSEventTarget.cpp:
1219         (WebCore::toJS):
1220         * bindings/v8/V8DOMWrapper.cpp:
1221         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1222         * bindings/v8/custom/V8AudioContextCustom.cpp:
1223         (WebCore::V8AudioContext::constructorCallback):
1224         * bindings/v8/custom/V8EventCustom.cpp:
1225         (WebCore::toV8):
1226         * dom/Event.cpp:
1227         (WebCore::Event::isOfflineAudioCompletionEvent):
1228         * dom/Event.h:
1229         * dom/EventTarget.cpp:
1230         (WebCore::EventTarget::toAudioContext):
1231         * dom/EventTarget.h:
1232         * platform/audio/HRTFDatabaseLoader.cpp:
1233         (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
1234         * platform/audio/HRTFDatabaseLoader.h:
1235         (WebCore::HRTFDatabaseLoader::loader):
1236         * webaudio/AudioContext.cpp:
1237         (WebCore::AudioContext::createOfflineContext):
1238         (WebCore::AudioContext::AudioContext):
1239         (WebCore::AudioContext::constructCommon):
1240         (WebCore::AudioContext::document):
1241         (WebCore::AudioContext::scriptExecutionContext):
1242         (WebCore::AudioContext::toAudioContext):
1243         (WebCore::AudioContext::startRendering):
1244         (WebCore::AudioContext::fireCompletionEvent):
1245         * webaudio/AudioContext.h:
1246         (WebCore::AudioContext::isOfflineContext):
1247         (WebCore::AudioContext::eventTargetData):
1248         (WebCore::AudioContext::ensureEventTargetData):
1249         (WebCore::AudioContext::refEventTarget):
1250         (WebCore::AudioContext::derefEventTarget):
1251         * webaudio/AudioContext.idl:
1252         * webaudio/AudioDestinationNode.cpp:
1253         (WebCore::AudioDestinationNode::AudioDestinationNode):
1254         * webaudio/AudioDestinationNode.h:
1255         (WebCore::AudioDestinationNode::reset):
1256         (WebCore::AudioDestinationNode::numberOfChannels):
1257         * webaudio/ConvolverNode.cpp:
1258         (WebCore::ConvolverNode::setBuffer):
1259         * webaudio/DefaultAudioDestinationNode.cpp: Added.
1260         (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
1261         (WebCore::DefaultAudioDestinationNode::~DefaultAudioDestinationNode):
1262         (WebCore::DefaultAudioDestinationNode::initialize):
1263         (WebCore::DefaultAudioDestinationNode::uninitialize):
1264         (WebCore::DefaultAudioDestinationNode::startRendering):
1265         * webaudio/DefaultAudioDestinationNode.h: Added.
1266         (WebCore::DefaultAudioDestinationNode::create):
1267         (WebCore::DefaultAudioDestinationNode::sampleRate):
1268         * webaudio/OfflineAudioCompletionEvent.cpp: Added.
1269         (WebCore::OfflineAudioCompletionEvent::create):
1270         (WebCore::OfflineAudioCompletionEvent::OfflineAudioCompletionEvent):
1271         (WebCore::OfflineAudioCompletionEvent::~OfflineAudioCompletionEvent):
1272         (WebCore::OfflineAudioCompletionEvent::isOfflineAudioCompletionEvent):
1273         * webaudio/OfflineAudioCompletionEvent.h: Added.
1274         (WebCore::OfflineAudioCompletionEvent::renderedBuffer):
1275         * webaudio/OfflineAudioCompletionEvent.idl: Added.
1276         * webaudio/OfflineAudioDestinationNode.cpp: Added.
1277         (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
1278         (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
1279         (WebCore::OfflineAudioDestinationNode::initialize):
1280         (WebCore::OfflineAudioDestinationNode::uninitialize):
1281         (WebCore::OfflineAudioDestinationNode::startRendering):
1282         (WebCore::OfflineAudioDestinationNode::renderEntry):
1283         (WebCore::OfflineAudioDestinationNode::render):
1284         (WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch):
1285         (WebCore::OfflineAudioDestinationNode::notifyComplete):
1286         * webaudio/OfflineAudioDestinationNode.h: Added.
1287         (WebCore::OfflineAudioDestinationNode::create):
1288         (WebCore::OfflineAudioDestinationNode::sampleRate):
1289
1290 2011-04-05  Martin Robinson  <mrobinson@igalia.com>
1291
1292         Reviewed by Eric Seidel.
1293
1294         [Cairo] Better separate the concerns of GraphicsContextCairo
1295         https://bugs.webkit.org/show_bug.cgi?id=55150
1296
1297         Add a PlatformContextCairo which right now stores the cairo_t* for a
1298         GraphicsContextCairo. Later patches will move logic for tracking ContextShadow
1299         and image masking layers into this PlatformContextCairo class.
1300
1301         No new tests. This patch is only a code cleanup.
1302
1303         * GNUmakefile.am:
1304         * platform/graphics/GraphicsContext.h: The platform context is no longer a
1305         cairo_t, but our new class the PlatformContextCairo.
1306         * platform/graphics/cairo/ContextShadowCairo.cpp: Updated to reflect new class.j
1307         * platform/graphics/cairo/FontCairo.cpp: Ditto.
1308         * platform/graphics/cairo/GradientCairo.cpp: Ditto.
1309         * platform/graphics/cairo/GraphicsContextCairo.cpp: Mostly mechanical
1310         changes which now reference platformContext()->cr() to get the cairo_t.
1311         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Now hold the
1312         PlatformContextCairo instead of the cairo_t.
1313         * platform/graphics/cairo/ImageBufferCairo.cpp: Update to reflect new class.
1314         * platform/graphics/cairo/ImageCairo.cpp: Ditto.
1315         * platform/graphics/cairo/PathCairo.cpp: Ditto.
1316         * platform/graphics/cairo/PlatformContextCairo.cpp: Added.
1317         * platform/graphics/cairo/PlatformContextCairo.h: Added.
1318         * platform/graphics/gtk/FontGtk.cpp: Update to reflect new class.
1319         * platform/graphics/gtk/IconGtk.cpp: Ditto.
1320         * platform/graphics/win/GraphicsContextCairoWin.cpp: Now fill out
1321         m_data with a private section containing the platform context instead of
1322         just a cairo_t.
1323         * platform/gtk/RenderThemeGtk.cpp: Update to reflect new class.
1324         * platform/gtk/WidgetRenderingContext.cpp: Ditto.
1325         (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Ditto.
1326         * plugins/gtk/PluginViewGtk.cpp: Ditto.
1327
1328 2011-04-05  David Dorwin  <ddorwin@chromium.org>
1329
1330         Reviewed by David Levin.
1331
1332         Fullscreen code assumes all layers use GPU compositing when USE(ACCELERATED_COMPOSITING)
1333         https://bugs.webkit.org/show_bug.cgi?id=57400
1334
1335         Check whether the full screen renderer layer is being composited by the GPU before assuming that the backing is valid. 
1336         Accelerated compositing may be compiled in but disabled at runtime or for some elements.
1337
1338         Tests: Fullscreen layout tests on Chromium.
1339
1340         * dom/Document.cpp:
1341         (WebCore::Document::webkitWillEnterFullScreenForElement):
1342         (WebCore::Document::webkitDidEnterFullScreenForElement):
1343         (WebCore::Document::webkitWillExitFullScreenForElement):
1344
1345 2011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
1346
1347         Reviewed by Dirk Schulze.
1348
1349         Regression: Invalid write in SVGTextLayoutEngine
1350         https://bugs.webkit.org/show_bug.cgi?id=57721
1351
1352         Properly stop layout if all metrics object refer to zero-width/height characters,
1353         which can happen for instance when using <text font-size="0">.
1354
1355         Test: svg/text/font-size-null-assertion.svg
1356
1357         * rendering/svg/SVGTextLayoutEngine.cpp:
1358         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
1359         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
1360
1361 2011-04-04 MORITA Hajime  <morrita@google.com>
1362
1363         Reviewed by Ryosuke Niwa.
1364
1365         [Refactoring] SpellCheckingResult should be replaced with TextCheckingResult
1366         https://bugs.webkit.org/show_bug.cgi?id=56085
1367         
1368         Removed WebCore::SpellCheckingResult and replaced it with TextCheckingResult.
1369         This change also added TextCheckerClient::requestCheckingOfString() should have
1370         TextCheckingTypeMask as a parameter to control text checking type.
1371
1372         * WebCore.exp.in:
1373         * editing/Editor.cpp:
1374         (WebCore::Editor::replaceSelectionWithFragment):
1375         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1376         (WebCore::Editor::textCheckingTypeMaskFor): Extracted from markAllMisspellingsAndBadGrammarInRanges()
1377         * editing/SpellChecker.cpp:
1378         (WebCore::SpellChecker::requestCheckingFor): Added a parameter.
1379         (WebCore::SpellChecker::markAt): Extracted from didCheck(), Added a check for the GrammarDetail object.
1380         (WebCore::SpellChecker::didCheck):
1381         * editing/SpellChecker.h:
1382         * loader/EmptyClients.h:
1383         (WebCore::EmptyTextCheckerClient::checkTextOfParagraph):
1384         (WebCore::EmptyTextCheckerClient::requestCheckingOfString):
1385         * platform/text/TextCheckerClient.h:
1386
1387 2011-04-04  Antti Koivisto  <antti@apple.com>
1388
1389         Reviewed by Sam Weinig.
1390
1391         Print stylesheet on nytimes.com loads too early
1392         https://bugs.webkit.org/show_bug.cgi?id=57814
1393
1394         Don't load resources with Very Low priority until there are no other resources to 
1395         load for the host (or until document is complete enough that we stop limiting requests).
1396
1397         No tests, this is  difficult to observe reliably with our current testing infrastructure.
1398         Verified working with Wireshark.
1399
1400         * loader/ResourceLoadScheduler.cpp:
1401         (WebCore::ResourceLoadScheduler::servePendingRequests):
1402         (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
1403         * loader/ResourceLoadScheduler.h:
1404
1405 2011-04-04  Steve Block  <steveblock@google.com>
1406
1407         Reviewed by Dimitri Glazkov.
1408
1409         JavaInstance should be a pure interface
1410         https://bugs.webkit.org/show_bug.cgi?id=55383
1411
1412         This patch fixes JavaInstance for V8 only.
1413
1414         It factors out a JavaInstance interface which does not use JNI
1415         types. This will allow the Java bridge to be used with objects
1416         that don't use JNI directly. The existing jobject-backed
1417         implementation is moved to a new JavaInstanceJobject class which
1418         implements the interface.
1419
1420         No new tests, refactoring only.
1421
1422         * Android.v8bindings.mk:
1423         * WebCore.gypi:
1424         * bridge/jni/JobjectWrapper.h:
1425         * bridge/jni/v8/JNIUtilityPrivate.cpp:
1426         (JSC::Bindings::jvalueToJavaValue):
1427         (JSC::Bindings::javaValueToJvalue):
1428         * bridge/jni/v8/JavaInstanceJobjectV8.cpp:
1429         (JavaInstanceJobject::JavaInstanceJobject):
1430         (JavaInstanceJobject::~JavaInstanceJobject):
1431         (JavaInstanceJobject::begin):
1432         (JavaInstanceJobject::end):
1433         (JavaInstanceJobject::getClass):
1434         (JavaInstanceJobject::invokeMethod):
1435         (JavaInstanceJobject::getField):
1436         * bridge/jni/v8/JavaInstanceJobjectV8.h: Copied from Source/WebCore/bridge/jni/v8/JavaInstanceV8.h.
1437         (JSC::Bindings::JavaInstanceJobject::javaInstance):
1438         * bridge/jni/v8/JavaInstanceV8.h:
1439         (JSC::Bindings::JavaInstance::~JavaInstance):
1440
1441 2011-04-05  Dimitri Glazkov  <dglazkov@chromium.org>
1442
1443        Reviewed by Darin Adler.
1444
1445         Move MouseEvent-dispatching logic into MouseEventDispatchMediator.
1446         https://bugs.webkit.org/show_bug.cgi?id=57639
1447
1448         Refactoring, covered by existing tests.
1449
1450         * dom/EventDispatcher.cpp:
1451         (WebCore::EventDispatcher::dispatchEvent): Moved useful assertion here
1452             from dispatchMouseEvent.
1453         (WebCore::EventDispatcher::adjustRelatedTarget): Converted into a method.
1454         * dom/EventDispatcher.h: Adjusted decls.
1455         (WebCore::EventDispatcher::node): Added.
1456         * dom/MouseEvent.cpp:
1457         (WebCore::MouseEvent::create): Moved useful assertion here from
1458             dispatchMouseEvent.
1459         (WebCore::MouseEventDispatchMediator::MouseEventDispatchMediator): Added.
1460         (WebCore::MouseEventDispatchMediator::event): Added.
1461         (WebCore::MouseEventDispatchMediator::dispatchEvent): Added.
1462         * dom/MouseEvent.h:
1463         (WebCore::MouseEvent::setRelatedTarget): Added.
1464         * dom/Node.cpp:
1465         (WebCore::Node::dispatchMouseEvent): Changed to use MouseEventDispatchMediator.
1466
1467 2011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
1468
1469         Reviewed by Adam Roben & Dirk Schulze.
1470
1471         text-tspan-02-b.svg from SVG 1.1 2nd edition fails
1472         https://bugs.webkit.org/show_bug.cgi?id=57831
1473
1474         We were not spanning rotation values correcty accross text children, which resulted in text-span-02-b.svg misrendering.
1475         While rewriting the rotation specific code, it came apparent that the LayoutScope concept is flawed in general and
1476         should be replaced by a global list of x/y/dx/dy/rotate values for the whole text subtree. This makes it much simpler
1477         to implement the demand that the last rotation value spans the whole scope. A follow-up patch will optimize the
1478         required memory.
1479
1480         Example:
1481         <text rotate="10,20,999,50">AB<tspan rotate="30">CDE</>FGH</text>
1482     
1483         text:   A  B  C  D  E  F  G  H
1484         rotate="10 20 30 30 30 50 50 50"
1485
1486         Tests: svg/W3C-SVG-1.1-SE/text-tspan-02-b.svg
1487                svg/text/text-midpoint-split-bug.svg
1488
1489         * rendering/RenderBlockLineLayout.cpp:     Move SVG specific midpoint creation after the non-SVG specific code that may mutate the midpoints. otherwhise we end up in an
1490         (WebCore::RenderBlock::findNextLineBreak): inconsistent state. We were intereferring with the ignoreSpaces code resulting in wrong truncations - covered by new testcase.
1491         * rendering/svg/SVGTextLayoutAttributes.cpp:
1492         (WebCore::SVGTextLayoutAttributes::reserveCapacity): Also reserveCapacity for the text metrics list (minor optimization).
1493         (WebCore::SVGTextLayoutAttributes::fillWithEmptyValue): Added helper function for use from SVGTextLayoutAttributesBuilder.
1494         (WebCore::SVGTextLayoutAttributes::appendEmptyValue): Ditto.
1495         (WebCore::safeValueAtPosition): Ditto. (Inline helper)
1496         (WebCore::SVGTextLayoutAttributes::appendSingleValueFromAttribute): Ditto.
1497         * rendering/svg/SVGTextLayoutAttributes.h: Ditto.
1498         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Rewrite code, see explaination above.
1499         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree):
1500         (WebCore::processRenderSVGInlineText):
1501         (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
1502         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForAllCharacters):
1503         (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes):
1504         (WebCore::fillListAtPosition):
1505         (WebCore::SVGTextLayoutAttributesBuilder::fillAttributesAtPosition):
1506         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
1507         (WebCore::SVGTextLayoutAttributesBuilder::TextPosition::TextPosition):
1508
1509 2011-04-05  Levi Weintraub  <leviw@chromium.org>
1510
1511         Reviewed by Ryosuke Niwa.
1512
1513         DeleteButtonController is given invalid style
1514         https://bugs.webkit.org/show_bug.cgi?id=57853
1515
1516         DeleteButtonController was assigned an invalid style that can lead to assertions
1517         in debug builds. This matches up the code with its intent.
1518
1519         No new tests as this changes nothing on release builds.
1520
1521         * editing/DeleteButtonController.cpp:
1522         (WebCore::DeleteButtonController::createDeletionUI):
1523
1524 2011-04-05  Anders Bakken  <agbakken@gmail.com>
1525
1526         Reviewed by Laszlo Gombos.
1527
1528         [Qt] EditorQt.cpp has coding-style errors
1529         https://bugs.webkit.org/show_bug.cgi?id=40260
1530         
1531         This patch does not require new test cases.
1532
1533         * editing/qt/EditorQt.cpp:
1534
1535 2011-04-05  Pavel Podivilov  <podivilov@chromium.org>
1536
1537         Reviewed by Pavel Feldman.
1538
1539         Web Inspector: go to line dialog highlights wrong line.
1540         https://bugs.webkit.org/show_bug.cgi?id=57845
1541
1542         * inspector/front-end/GoToLineDialog.js:
1543         (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
1544
1545 2011-04-05  Luke Macpherson   <macpherson@chromium.org>
1546
1547         Reviewed by Dimitri Glazkov.
1548
1549         Implement CSSPropertyDirection in CSSStyleApplyProperty
1550         https://bugs.webkit.org/show_bug.cgi?id=57608
1551
1552         No new tests required as no new functionality introduced.
1553
1554         * css/CSSStyleApplyProperty.cpp:
1555         Add implementation class for CSSPropertyDirection
1556         * css/CSSStyleSelector.cpp:
1557         Remove existing implementation for CSSPropertyDirection
1558         * css/CSSStyleSelector.h:
1559         Add getter for element
1560
1561 2011-04-05  Leandro Gracia Gil  <leandrogracia@chromium.org>
1562
1563         Reviewed by Steve Block.
1564
1565         Factoring the creation of 'FunctionOnly' callbacks in V8.
1566         https://bugs.webkit.org/show_bug.cgi?id=57760
1567
1568         This method creates a template from an existing functionality in V8GeolocationCustom.cpp
1569         to V8Utilities to be used by the custom bindings of both Geolocation and the Media Stream API.
1570
1571         No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
1572
1573         * bindings/v8/V8Utilities.cpp:
1574         (WebCore::throwTypeMismatchException):
1575         * bindings/v8/V8Utilities.h:
1576         (WebCore::createFunctionOnlyCallback):
1577         * bindings/v8/custom/V8GeolocationCustom.cpp:
1578         (WebCore::V8Geolocation::getCurrentPositionCallback):
1579         (WebCore::V8Geolocation::watchPositionCallback):
1580
1581 2011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
1582
1583         Reviewed by Andreas Kling.
1584
1585         Switch from Vector<UChar> to StringBuilder in bindings/
1586         https://bugs.webkit.org/show_bug.cgi?id=57838
1587
1588         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1589         (WebCore::cssPropertyName):
1590         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1591         (WebCore::cssPropertyInfo):
1592
1593 2011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
1594
1595         Reviewed by Andreas Kling.
1596
1597         Switch from Vector<UChar> to StringBuilder in accessibility/
1598         https://bugs.webkit.org/show_bug.cgi?id=57837
1599
1600         * accessibility/AccessibilityObject.cpp:
1601         (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
1602         (WebCore::AccessibilityObject::stringForVisiblePositionRange):
1603         * accessibility/AccessibilityRenderObject.cpp:
1604         (WebCore::AccessibilityRenderObject::accessibilityDescriptionForElements):
1605
1606 2011-04-05  Andrey Adaikin  <aandrey@google.com>
1607
1608         Reviewed by Pavel Feldman.
1609
1610         Web Inspector: Scripts with syntax errors are cropped in the UI
1611         https://bugs.webkit.org/show_bug.cgi?id=57828
1612
1613         * inspector/front-end/SourceFrame.js:
1614         (WebInspector.SourceFrame.prototype.addMessageToSource):
1615
1616 2011-04-05  Alexey Proskuryakov  <ap@apple.com>
1617
1618         Reviewed by Darin Adler.
1619
1620         Remove onformchange and onforminput events/event handlers
1621         https://bugs.webkit.org/show_bug.cgi?id=55755
1622         <rdar://problem/9087969>
1623
1624         Covered by existing tests.
1625
1626         * dom/Document.h:
1627         * dom/Document.idl:
1628         * dom/Element.h:
1629         * dom/Element.idl:
1630         * dom/Event.cpp:
1631         (WebCore::Event::fromUserGesture):
1632         * dom/EventNames.h:
1633         * html/FormAssociatedElement.h:
1634         * html/HTMLAttributeNames.in:
1635         * html/HTMLElement.cpp:
1636         (WebCore::HTMLElement::parseMappedAttribute):
1637         * html/HTMLElement.h:
1638         * html/HTMLFormControlElement.h:
1639         (WebCore::HTMLFormControlElement::isEnumeratable):
1640         * html/HTMLFormElement.cpp:
1641         * html/HTMLFormElement.h:
1642         * html/HTMLFormElement.idl:
1643         * html/HTMLInputElement.h:
1644         * html/HTMLKeygenElement.h:
1645         * html/HTMLObjectElement.h:
1646         (WebCore::HTMLObjectElement::isEnumeratable):
1647         * html/HTMLOutputElement.h:
1648         (WebCore::HTMLOutputElement::isEnumeratable):
1649         * html/HTMLSelectElement.h:
1650         (WebCore::HTMLSelectElement::isEnumeratable):
1651         * html/HTMLTextAreaElement.h:
1652         (WebCore::HTMLTextAreaElement::isEnumeratable):
1653         * page/DOMWindow.h:
1654         * page/DOMWindow.idl:
1655
1656 2011-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1657
1658         Unreviewed, rolling out r82915.
1659         http://trac.webkit.org/changeset/82915
1660         https://bugs.webkit.org/show_bug.cgi?id=57825
1661
1662         Broke 270 chromium tests on win and linux (Requested by
1663         podivilov on #webkit).
1664
1665         * rendering/RenderThemeChromiumSkia.cpp:
1666         (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
1667
1668 2011-04-05  James Simonsen  <simonjam@chromium.org>
1669
1670         Reviewed by Adam Barth.
1671
1672         Stop preload scanning CSS when it&apos;s impossible to have another @import.
1673         https://bugs.webkit.org/show_bug.cgi?id=57664
1674
1675         @import statements are only allowed at the beginning of a CSS file.
1676         Only comments or @charset can precede them. After seeing anything else,
1677         abort early so that we:
1678         - don't have to parse the rest of the CSS.
1679         - don't preload something that the regular parser won't load.
1680
1681         * html/parser/CSSPreloadScanner.cpp:
1682         (WebCore::CSSPreloadScanner::scan): Terminate early if we're done with @imports.
1683         (WebCore::CSSPreloadScanner::tokenize): Terminate early if we see a {} or any style rule.
1684         (WebCore::CSSPreloadScanner::emitRule): Only @charset or @import are allowed to precede @import.
1685         * html/parser/CSSPreloadScanner.h: Add DoneParsingImportRules state.
1686
1687 2011-04-05  Takayoshi Kochi <kochi@chromium.org>
1688
1689         Reviewed by Tony Chang.
1690
1691         [chromium] Specify 'sans-serif' as a fallback to the default UI font
1692         'Arial' for non-latin UI scripts (e.g. CJK).
1693         https://bugs.webkit.org/show_bug.cgi?id=55035
1694
1695         No new tests, because it may still fail if the system is not configured
1696         properly to resolve 'sans-serif' to existing real font file, thus even
1697         manual test is hard to systematically tell it is working properly.
1698
1699         * rendering/RenderThemeChromiumSkia.cpp
1700
1701 2011-04-05  Kent Tamura  <tkent@chromium.org>
1702
1703         Reviewed by Dimitri Glazkov.
1704
1705         Setting defaultValue on a textarea with a modified value still clobbers the value
1706         https://bugs.webkit.org/show_bug.cgi?id=57636
1707
1708         If the dirty flag is true, we shouldn't update the value when the
1709         defaultValue is updated
1710
1711         Test: fast/forms/textarea-set-defaultvalue-after-value.html
1712
1713         * html/HTMLTextAreaElement.cpp:
1714         (WebCore::HTMLTextAreaElement::childrenChanged):
1715         (WebCore::HTMLTextAreaElement::setDefaultValue):
1716
1717 2011-04-04  Kent Tamura  <tkent@chromium.org>
1718
1719         Add a case label which was unexpectedly removed in r82899.
1720         https://bugs.webkit.org/show_bug.cgi?id=50661
1721
1722         * css/CSSSelector.cpp:
1723         (WebCore::CSSSelector::extractPseudoType):
1724
1725 2011-04-04  Dan Bernstein  <mitz@apple.com>
1726
1727         Reviewed by Simon Fraser.
1728
1729         <rdar://problem/7709452> Implement Default Ruby Overhang Behavior
1730         https://bugs.webkit.org/show_bug.cgi?id=49334
1731
1732         Tests: fast/ruby/overhang-horizontal.html
1733                fast/ruby/overhang-vertical.html
1734
1735         This is a first cut at ruby overhang. It allows ruby text to hang over other
1736         text of equal or smaller size. Two notable omissions are that max preferred
1737         width computation was not patched, so it will overshoot, and that overhang
1738         ignores the width of the adjoining text runs.
1739
1740         * rendering/RenderBlock.h:
1741         * rendering/RenderBlockLineLayout.cpp:
1742         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Adjust margins
1743         of ruby runs for overhang.
1744         (WebCore::RenderBlock::fitBelowFloats): Maintain the increase in line width to
1745         compensate for overhang.
1746         (WebCore::RenderBlock::findNextLineBreak): When encountering
1747         a ruby run, increase the line width to account for the fact that overhang will be
1748         collapsed.
1749         * rendering/RenderRubyRun.cpp:
1750         (WebCore::RenderRubyRun::getOverhang): Added. Allows ruby to overhang if
1751         the adjoining renderer is text with equal or smaller font size.
1752         * rendering/RenderRubyRun.h:
1753         (WebCore::toRenderRubyRun):
1754
1755 2011-04-04  David Kilzer  <ddkilzer@apple.com>
1756
1757         <http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match
1758
1759         Reviewed by Alexey Proskuryakov.
1760
1761         * WebCore.exp.in: Export wkSetHTTPPipeliningMaximumPriority().
1762         * platform/mac/WebCoreSystemInterface.h:
1763         (wkSetHTTPPipeliningMaximumPriority): Added function pointer
1764         declaration.
1765         * platform/mac/WebCoreSystemInterface.mm:
1766         (wkSetHTTPPipeliningMaximumPriority): Added function pointer.
1767         * platform/network/cf/ResourceRequestCFNet.cpp:
1768         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Call
1769         wkSetHTTPPipeliningMaximumPriority() to set the maximum HTTP
1770         pipelining priority.
1771         * platform/network/cf/ResourceRequestCFNet.h:
1772         (WebCore::toResourceLoadPriority): Renamed from
1773         mapHTTPPipeliningPriorityToResourceLoadPriority().  Updated to
1774         to handle Unresolved case.
1775         (WebCore::toHTTPPipeliningPriority): Renamed from
1776         mapResourceLoadPriorityToHTTPPipeliningPriority().  Updated to
1777         handle Unresolved case.
1778         * platform/network/mac/ResourceRequestMac.mm:
1779         (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to
1780         use toResourceLoadPriority().
1781         (WebCore::ResourceRequest::doUpdatePlatformRequest): Switched to
1782         use toHTTPPipeliningPriority().  Moved
1783         shouldForceHTTPPipeliningPriorityHigh() check into the argument
1784         of toHTTPPipeliningPriority() instead of hard-coding a
1785         now-incorrect value.
1786
1787 2011-04-04  MORITA Hajime  <morrita@google.com>
1788
1789         Reviewed by Kent Tamura.
1790
1791         Convert <meter> shadow DOM to a DOM-based shadow.
1792         https://bugs.webkit.org/show_bug.cgi?id=50661
1793         
1794         Eliminated a large part of <meter> custom layout code,
1795         which is replaced by a shadow tree.
1796         Note that the shadow tree is created on construction time and
1797         will remain during the host HTMLMeterElement lifecycle.
1798         
1799         * Android.mk:
1800         * CMakeLists.txt:
1801         * GNUmakefile.am:
1802         * WebCore.gypi:
1803         * WebCore.pro:
1804         * WebCore.vcproj/WebCore.vcproj:
1805         * WebCore.xcodeproj/project.pbxproj:
1806         * css/CSSMutableStyleDeclaration.cpp:
1807         (WebCore::CSSMutableStyleDeclaration::setProperty):
1808         * css/CSSMutableStyleDeclaration.h:
1809         * css/CSSSelector.cpp:
1810         (WebCore::CSSSelector::pseudoId):
1811         (WebCore::nameToPseudoTypeMap):
1812         (WebCore::CSSSelector::extractPseudoType):
1813         * css/CSSSelector.h:
1814         * css/html.css:
1815         (meter):
1816         (meter::-webkit-meter-bar):
1817         (meter::-webkit-meter-optimum-value):
1818         (meter::-webkit-meter-suboptimum-value):
1819         (meter::-webkit-meter-even-less-good-value):
1820         * html/HTMLMeterElement.cpp:
1821         (WebCore::HTMLMeterElement::~HTMLMeterElement):
1822         (WebCore::HTMLMeterElement::parseMappedAttribute):
1823         (WebCore::HTMLMeterElement::attach):
1824         (WebCore::HTMLMeterElement::valueRatio):
1825         (WebCore::HTMLMeterElement::didElementStateChange):
1826         (WebCore::HTMLMeterElement::createShadowSubtree):
1827         * html/HTMLMeterElement.h:
1828         * html/shadow/MeterShadowElement.cpp: Added.
1829         (WebCore::MeterShadowElement::MeterShadowElement):        
1830         (WebCore::MeterShadowElement::meterElement):
1831         (WebCore::MeterShadowElement::rendererIsNeeded):
1832         (WebCore::MeterBarElement::shadowPseudoId):
1833         (WebCore::MeterValueElement::shadowPseudoId):
1834         (WebCore::MeterValueElement::setWidthPercentage):
1835         * html/shadow/MeterShadowElement.h: Added.
1836         (WebCore::MeterBarElement::MeterBarElement):
1837         (WebCore::MeterBarElement::create):
1838         (WebCore::MeterValueElement::MeterValueElement):
1839         (WebCore::MeterValueElement::create):
1840         * rendering/RenderMeter.cpp:
1841         (WebCore::RenderMeter::RenderMeter):
1842         (WebCore::RenderMeter::~RenderMeter):
1843         (WebCore::RenderMeter::valueRatio):
1844         * rendering/RenderMeter.h:
1845         (WebCore::RenderMeter::renderName):
1846         (WebCore::RenderMeter::isMeter):
1847         (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation):
1848         (WebCore::RenderMeter::canHaveChildren):
1849
1850 2011-04-04  Dimitri Glazkov  <dglazkov@chromium.org>
1851
1852         Reviewed by Adam Barth.
1853
1854         Introduce EventDispatchMediator abstraction, which encapsulate all
1855         non-trivial logic around firing a specific type of an event.
1856         https://bugs.webkit.org/show_bug.cgi?id=57562
1857
1858         Refactoring, covered by existing tests.
1859
1860         * dom/Event.cpp:
1861         (WebCore::EventDispatchMediator::EventDispatchMediator): Added.
1862         (WebCore::EventDispatchMediator::~EventDispatchMediator): Added.
1863         (WebCore::EventDispatchMediator::dispatchEvent): Added.
1864         (WebCore::EventDispatchMediator::event): Added.
1865         * dom/Event.h: Added decl.
1866         * dom/EventDispatcher.cpp:
1867         (WebCore::EventDispatcher::dispatchEvent): Changed to use EventDispatchMediator.
1868         * dom/EventDispatcher.h: Updated decls.
1869         * dom/KeyboardEvent.cpp:
1870         (WebCore::KeyboardEventDispatchMediator::KeyboardEventDispatchMediator): Added.
1871         (WebCore::KeyboardEventDispatchMediator::dispatchEvent): Added.
1872         * dom/KeyboardEvent.h: Updated decls
1873         * dom/Node.cpp:
1874         (WebCore::Node::dispatchEvent): Changed to use EventDispatchMediator.
1875         (WebCore::Node::dispatchKeyEvent): Changed to use KeyboardEventDispatchMediator.
1876
1877 2011-04-04  Martin Robinson  <mrobinson@igalia.com>
1878
1879         Reviewed by Xan Lopez.
1880
1881         [Cairo] Memory leak in RefPtrCairo
1882         https://bugs.webkit.org/show_bug.cgi?id=57758
1883
1884         No new tests. This just fixes a memory leak.
1885
1886         * platform/graphics/cairo/RefPtrCairo.cpp:
1887         (WTF::derefIfNotNull): Deref should unref the cairo_font_fact_t, not reference it.
1888
1889 2011-04-04  Adrienne Walker  <enne@google.com>
1890
1891         Unreviewed, rolling out r82880.
1892         http://trac.webkit.org/changeset/82880
1893         https://bugs.webkit.org/show_bug.cgi?id=50661
1894
1895         Meter elements not rendered in Chromium Linux layout tests
1896
1897         * Android.mk:
1898         * CMakeLists.txt:
1899         * GNUmakefile.am:
1900         * WebCore.gypi:
1901         * WebCore.pro:
1902         * WebCore.vcproj/WebCore.vcproj:
1903         * WebCore.xcodeproj/project.pbxproj:
1904         * css/CSSMutableStyleDeclaration.cpp:
1905         * css/CSSMutableStyleDeclaration.h:
1906         * css/CSSSelector.cpp:
1907         (WebCore::CSSSelector::pseudoId):
1908         (WebCore::nameToPseudoTypeMap):
1909         (WebCore::CSSSelector::extractPseudoType):
1910         * css/CSSSelector.h:
1911         * css/html.css:
1912         (meter):
1913         (meter::-webkit-meter):
1914         (meter::-webkit-meter-bar):
1915         (meter::-webkit-meter-optimum-value):
1916         (meter::-webkit-meter-suboptimal-value):
1917         (meter::-webkit-meter-even-less-good-value):
1918         * html/HTMLMeterElement.cpp:
1919         (WebCore::HTMLMeterElement::create):
1920         (WebCore::HTMLMeterElement::parseMappedAttribute):
1921         (WebCore::HTMLMeterElement::attach):
1922         * html/HTMLMeterElement.h:
1923         * html/shadow/MeterShadowElement.cpp: Removed.
1924         * html/shadow/MeterShadowElement.h: Removed.
1925         * rendering/RenderMeter.cpp:
1926         (WebCore::RenderMeter::RenderMeter):
1927         (WebCore::RenderMeter::~RenderMeter):
1928         (WebCore::RenderMeter::createPart):
1929         (WebCore::RenderMeter::updateFromElement):
1930         (WebCore::RenderMeter::layoutParts):
1931         (WebCore::RenderMeter::styleDidChange):
1932         (WebCore::RenderMeter::shouldHaveParts):
1933         (WebCore::RenderMeter::valueRatio):
1934         (WebCore::RenderMeter::barPartRect):
1935         (WebCore::RenderMeter::valuePartRect):
1936         (WebCore::RenderMeter::valuePseudoId):
1937         (WebCore::RenderMeter::barPseudoId):
1938         (WebCore::RenderMeter::detachShadows):
1939         (WebCore::RenderMeter::updateShadows):
1940         * rendering/RenderMeter.h:
1941         (WebCore::RenderMeter::renderName):
1942         (WebCore::RenderMeter::isMeter):
1943         (WebCore::RenderMeter::shadowAttached):
1944
1945 2011-04-04  Chang Shu  <cshu@webkit.org>
1946
1947         Reviewed by Ryosuke Niwa.
1948
1949         setContentEditable with true/false/inherit string is not working properly
1950         https://bugs.webkit.org/show_bug.cgi?id=52058
1951
1952         Move isContentEditable from HTMLElement to Node. Thus, Node provides two functions for
1953         checking editability: rendererIsEditable and isContentEdiable. The former is a fast path,
1954         which does NOT trigger layout and only checks the render style of usermodify. The latter
1955         updates the layout first to make sure the render style syncs with DOM contenteditable 
1956         attribute. Certain call sites that need to call isContentEditable rather than rendererIsEditable
1957         are also updated in the patch. But a complete fix will follow up in bug 57244.
1958
1959         This patch fixes all the failed layout tests related to set contenteditable.
1960
1961         * accessibility/AccessibilityRenderObject.cpp:
1962         (WebCore::AccessibilityRenderObject::isReadOnly):
1963         * dom/Node.cpp:
1964         (WebCore::Node::isContentEditable):
1965         (WebCore::Node::shouldUseInputMethod):
1966         * dom/Node.h:
1967         * html/HTMLElement.cpp:
1968         * html/HTMLElement.h:
1969
1970 2011-04-04  Roland Steiner  <rolandsteiner@chromium.org>
1971
1972         Reviewed by Dimitri Glazkov.
1973
1974         Bug 57689 - Extract scoping functionality from Document
1975         https://bugs.webkit.org/show_bug.cgi?id=57689
1976
1977         Moved selfOnlyRef (renamed to guardRef), element ID, image map
1978         and accesss key functionalities from Document to a new base
1979         class TreeScope.
1980
1981         TreeShared: made removedLastRef protected
1982
1983         No new tests. (refactoring)
1984
1985         * Android.mk:
1986         * CMakeLists.txt:
1987         * GNUmakefile.am:
1988         * WebCore.gypi:
1989         * WebCore.pro:
1990         * WebCore.vcproj/WebCore.vcproj:
1991         * WebCore.xcodeproj/project.pbxproj:
1992         * dom/Document.cpp:
1993         (WebCore::Document::Document):
1994         (WebCore::Document::destroyScope):
1995         (WebCore::Document::getElementById):
1996         (WebCore::Document::childrenChanged):
1997         (WebCore::Document::scheduleStyleRecalc):
1998         (WebCore::Document::attach):
1999         (WebCore::Document::detach):
2000         * dom/Document.h:
2001         (WebCore::Node::Node):
2002         * dom/DocumentOrderedMap.cpp:
2003         (WebCore::DocumentOrderedMap::get):
2004         (WebCore::DocumentOrderedMap::getElementById):
2005         (WebCore::DocumentOrderedMap::getElementByMapName):
2006         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
2007         * dom/DocumentOrderedMap.h:
2008         * dom/DOMAllInOne.cpp:
2009         * dom/Node.cpp:
2010         (WebCore::Node::~Node):
2011         (WebCore::Node::setDocument):
2012         * dom/Node.h:
2013         * dom/TreeScope.cpp: Added.
2014         * dom/TreeScope.h: Added.
2015         * platform/TreeShared.h:
2016         (WebCore::TreeShared::removedLastRef): made protected
2017
2018 2011-04-04  MORITA Hajime  <morrita@google.com>
2019
2020         Reviewed by Dimitri Glazkov.
2021
2022         Convert <meter> shadow DOM to a DOM-based shadow.
2023         https://bugs.webkit.org/show_bug.cgi?id=50661
2024         
2025         Eliminated a large part of <meter> custom layout code,
2026         which is replaced by a shadow tree.
2027         Note that the shadow tree is created on construction time and
2028         will remain during the host HTMLMeterElement lifecycle.
2029         
2030         * Android.mk:
2031         * CMakeLists.txt:
2032         * GNUmakefile.am:
2033         * WebCore.gypi:
2034         * WebCore.pro:
2035         * WebCore.vcproj/WebCore.vcproj:
2036         * WebCore.xcodeproj/project.pbxproj:
2037         * css/CSSMutableStyleDeclaration.cpp:
2038         (WebCore::CSSMutableStyleDeclaration::setProperty):
2039         * css/CSSMutableStyleDeclaration.h:
2040         * css/CSSSelector.cpp:
2041         (WebCore::CSSSelector::pseudoId):
2042         (WebCore::nameToPseudoTypeMap):
2043         (WebCore::CSSSelector::extractPseudoType):
2044         * css/CSSSelector.h:
2045         * css/html.css:
2046         (meter):
2047         (meter::-webkit-meter-bar):
2048         (meter::-webkit-meter-optimum-value):
2049         (meter::-webkit-meter-suboptimum-value):
2050         (meter::-webkit-meter-even-less-good-value):
2051         * html/HTMLMeterElement.cpp:
2052         (WebCore::HTMLMeterElement::~HTMLMeterElement):
2053         (WebCore::HTMLMeterElement::parseMappedAttribute):
2054         (WebCore::HTMLMeterElement::attach):
2055         (WebCore::HTMLMeterElement::valueRatio):
2056         (WebCore::HTMLMeterElement::didElementStateChange):
2057         (WebCore::HTMLMeterElement::createShadowSubtree):
2058         * html/HTMLMeterElement.h:
2059         * html/shadow/MeterShadowElement.cpp: Added.
2060         (WebCore::MeterShadowElement::MeterShadowElement):        
2061         (WebCore::MeterShadowElement::meterElement):
2062         (WebCore::MeterShadowElement::rendererIsNeeded):
2063         (WebCore::MeterBarElement::shadowPseudoId):
2064         (WebCore::MeterValueElement::shadowPseudoId):
2065         (WebCore::MeterValueElement::setWidthPercentage):
2066         * html/shadow/MeterShadowElement.h: Added.
2067         (WebCore::MeterBarElement::MeterBarElement):
2068         (WebCore::MeterBarElement::create):
2069         (WebCore::MeterValueElement::MeterValueElement):
2070         (WebCore::MeterValueElement::create):
2071         * rendering/RenderMeter.cpp:
2072         (WebCore::RenderMeter::RenderMeter):
2073         (WebCore::RenderMeter::~RenderMeter):
2074         (WebCore::RenderMeter::valueRatio):
2075         * rendering/RenderMeter.h:
2076         (WebCore::RenderMeter::renderName):
2077         (WebCore::RenderMeter::isMeter):
2078         (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation):
2079         (WebCore::RenderMeter::canHaveChildren):
2080
2081 2011-04-04  Martin Robinson  <mrobinson@igalia.com>
2082
2083         Reviewed by Gustavo Noronha Silva.
2084
2085         [GTK] WebGL support
2086         https://bugs.webkit.org/show_bug.cgi?id=31517
2087
2088         Add WebGL support for the GTK+ bits of WebCore.
2089
2090         No new tests. This will be covered by the existing WebGL tests once
2091         the bots are capable of running WebGL tests.
2092
2093         * GNUmakefile.am: Added new files required for WebGL support.
2094         * html/HTMLCanvasElement.cpp:
2095         (WebCore::HTMLCanvasElement::getContext): Extend #ifdef to cover GTK+ as well, which does not
2096         yet support accelerated compositing.
2097         * platform/graphics/ANGLEWebKitBridge.h: Update to reflect the fact that ANGLE isn't compiled as
2098         a framework for GTK+.
2099         * platform/graphics/GraphicsContext3D.h:
2100         (WebCore::GraphicsContext3D::platformTexture): Added a declaration of this method for Cairo.
2101         (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer): Ditto.
2102         * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Added.
2103         (WebCore::GraphicsContext3D::getImageData): Added.
2104         (WebCore::GraphicsContext3D::paintToCanvas): Added.
2105         * platform/graphics/cairo/OpenGLShims.cpp: Added. This file controls loading of GL extension
2106         functions dynamically. They have different names across the different vendors' GL implementations.
2107         (WebCore::lookupOpenGLFunctionAddress): Added
2108         (WebCore::openGLFunctionTable): Added
2109         (WebCore::initializeOpenGLShims): Added
2110         * platform/graphics/cairo/OpenGLShims.h: Added.
2111         * platform/graphics/gtk/DrawingBufferGtk.cpp: Added.
2112         (WebCore::DrawingBuffer::DrawingBuffer): Very generic implementation for Cairo.
2113         (WebCore::DrawingBuffer::~DrawingBuffer): Ditto.
2114         (WebCore::DrawingBuffer::didReset): Ditto.
2115         (WebCore::DrawingBuffer::platformColorBuffer): Ditto.
2116         * platform/graphics/gtk/GraphicsContext3DGtk.cpp: Added.
2117         (WebCore::GraphicsContext3D::create): Initial implementation.
2118         (WebCore::GraphicsContext3D::GraphicsContext3D): Ditto.
2119         (WebCore::GraphicsContext3D::~GraphicsContext3D): Ditto.
2120         (WebCore::GraphicsContext3D::makeContextCurrent): Ditto.
2121         (WebCore::GraphicsContext3D::platformGraphicsContext3D): Ditto.
2122         (WebCore::GraphicsContext3D::isGLES2Compliant): Ditto.
2123         * platform/graphics/gtk/GraphicsContext3DInternal.cpp: Added.
2124         (sharedDisplay): Added this shared display which is required by some
2125         display drivers.
2126         (WebCore::activeGraphicsContexts): This method keeps track of all active GraphicsContext3D
2127         contexts, in order to clean them up at exit. This prevents crashes on certain OpenGL drivers.
2128         (WebCore::GraphicsContext3DInternal::addActiveGraphicsContext): Ditto.
2129         (WebCore::GraphicsContext3DInternal::removeActiveGraphicsContext): Ditto.
2130         (WebCore::GraphicsContext3DInternal::cleanupActiveContextsAtExit): Ditto.
2131         (WebCore::GraphicsContext3DInternal::create): Figure out the best way to create an OpenGL
2132         context given the current environment.
2133         (WebCore::GraphicsContext3DInternal::createPbufferContext): Pbuffer context initializer.
2134         (WebCore::GraphicsContext3DInternal::createPixmapContext): Pixmap context initializer.
2135         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): Initial implementation.
2136         (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal): Ditto.
2137         (WebCore::GraphicsContext3DInternal::makeContextCurrent): Ditto.
2138         * platform/graphics/gtk/GraphicsContext3DInternal.h: Added.
2139         * platform/graphics/opengl/Extensions3DOpenGL.cpp: Added generic implementation.
2140         (WebCore::Extensions3DOpenGL::ensureEnabled): Ditto.
2141         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2142         (WebCore::GraphicsContext3D::reshape): Test for the context using the public API rather than
2143         the private bits that are specific to the Apple port.
2144
2145 2011-04-04  Alexey Proskuryakov  <ap@apple.com>
2146
2147         Reviewed by Dan Bernstein.
2148
2149         REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2
2150         https://bugs.webkit.org/show_bug.cgi?id=51230
2151         <rdar://problem/8780989>
2152
2153         <rdar://problem/9015250> REGRESSION (WebKit2): Key events not fired for modifier keys
2154
2155         * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Moved Caps Lock handling from
2156         WebKits to WebCore, because WebKit shouldn't be smart.
2157
2158 2011-04-04  Steve Falkenburg  <sfalken@apple.com>
2159
2160         Fix Windows build warning.
2161
2162         * WebCore.vcproj/WebCore.vcproj: Exclude EventQueue.cpp in Debug_All build.
2163
2164 2011-04-04  Adam Roben  <aroben@apple.com>
2165
2166         Attempted Mac build fix, part III
2167
2168         * WebCore.exp.in: Export PlatformCALayer::setGeometryFlipped. Also resorted some symbols.
2169
2170 2011-04-04  Andy Estes  <aestes@apple.com>
2171
2172         Fix the Mac build.
2173
2174         * WebCore.exp.in:
2175
2176 2011-04-04  David Dorwin  <ddorwin@chromium.org>
2177
2178         Reviewed by David Levin.
2179
2180         Chromium Mac crashes when entering fullscreen
2181         https://bugs.webkit.org/show_bug.cgi?id=57483
2182
2183         Override extraFullScreenStyleSheet in RenderThemeChromiumMac to avoid hitting the ASSERT_NOT_REACHED in RenderThemeMac.
2184
2185         * WebCore.gyp/WebCore.gyp:
2186         * rendering/RenderThemeChromiumMac.h:
2187         * rendering/RenderThemeChromiumMac.mm:
2188         (WebCore::RenderThemeChromiumMac::extraFullScreenStyleSheet):
2189
2190 2011-04-04  Adam Roben  <aroben@apple.com>
2191
2192         Attempted Mac build fix, part II
2193
2194         * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayerClient.h and
2195         PlatformCAAnimation.h as private so that WebKit2 can #include them (transitively).
2196
2197 2011-04-04  Steve Falkenburg  <sfalken@apple.com>
2198
2199         Reviewed by Adam Roben.
2200
2201         Remove unused AnalyzeWithLargeStack code from Windows build files
2202         https://bugs.webkit.org/show_bug.cgi?id=57771
2203         
2204         This was used for us to build with prefast automatically,
2205         but it is out-of-date and hasn't been used for some time.
2206         Removing completely for now.
2207
2208         * WebCore.vcproj/WebCore.vcproj:
2209         * WebCore.vcproj/WebCorePreBuild.cmd:
2210
2211 2011-04-01  Matthew Delaney  <mdelaney@apple.com>
2212
2213         Reviewed by Simon Fraser.
2214
2215         [CG] Do not accelerate small canvases
2216         https://bugs.webkit.org/show_bug.cgi?id=57596
2217
2218         No new tests. No outward behavior changes.
2219
2220         * platform/graphics/cg/ImageBufferCG.cpp:
2221
2222 2011-04-04  Adam Roben  <aroben@apple.com>
2223
2224         Attempted Mac build fix
2225
2226         * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayer.h and GraphicsLayerCA.h private
2227         so that WebKit can #include them.
2228
2229 2011-04-04  Malcolm MacLeod  <mmacleod@webmail.co.za>
2230
2231         Reviewed by Kevin Ollivier.
2232
2233         [wx] Implement support for temporary files.
2234         
2235         https://bugs.webkit.org/show_bug.cgi?id=57772
2236
2237         * platform/FileSystem.h:
2238         * platform/wx/FileSystemWx.cpp:
2239         (WebCore::getFileModificationTime):
2240         (WebCore::openTemporaryFile):
2241         (WebCore::closeFile):
2242         (WebCore::writeToFile):
2243
2244 2011-04-01  Oliver Hunt  <oliver@apple.com>
2245
2246         Reviewed by Geoffrey Garen.
2247
2248         Make StructureChain GC allocated
2249         https://bugs.webkit.org/show_bug.cgi?id=56695
2250
2251         Update for new Structure marking function
2252
2253         * bindings/js/JSDOMGlobalObject.cpp:
2254         (WebCore::JSDOMGlobalObject::markChildren):
2255
2256 2011-04-04  Pavel Feldman  <pfeldman@google.com>
2257
2258         Reviewed by Yury Semikhatsky.
2259
2260         Web Inspector: add support for the enumerated types in the protocol.
2261         https://bugs.webkit.org/show_bug.cgi?id=57761
2262
2263         * inspector/Inspector.json:
2264         * inspector/InspectorDebuggerAgent.cpp:
2265         (WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
2266         * inspector/InspectorDebuggerAgent.h:
2267         * inspector/InspectorInstrumentation.cpp:
2268         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
2269         (WebCore::InspectorInstrumentation::scriptImportedImpl):
2270         * inspector/InspectorResourceAgent.cpp:
2271         (WebCore::cachedResourceTypeString):
2272         (WebCore::InspectorResourceAgent::didReceiveResponse):
2273         (WebCore::InspectorResourceAgent::setInitialScriptContent):
2274         (WebCore::InspectorResourceAgent::setInitialXHRContent):
2275         * inspector/InspectorResourceAgent.h:
2276         * inspector/front-end/ScriptsPanel.js:
2277         * inspector/generate-inspector-idl:
2278
2279 2011-04-04  Yury Semikhatsky  <yurys@chromium.org>
2280
2281         Reviewed by Pavel Feldman.
2282
2283         Web Inspector: InspectorRuntimeAgent should not depend on Page
2284         https://bugs.webkit.org/show_bug.cgi?id=57759
2285
2286         Descendants of InspectorRuntimeAgent should implement a method providing access to the default
2287         inspected state used for console evaluations.
2288
2289         * inspector/InspectorAgent.cpp:
2290         (WebCore::InspectorAgent::InspectorAgent): runtime agent is created and deleted along with other agents.
2291         (WebCore::InspectorAgent::setFrontend):
2292         * inspector/InspectorAgent.h:
2293         * inspector/InspectorRuntimeAgent.cpp:
2294         (WebCore::InspectorRuntimeAgent::create):
2295         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
2296         (WebCore::InspectorRuntimeAgent::evaluate):
2297         * inspector/InspectorRuntimeAgent.h:
2298         (WebCore::InspectorRuntimeAgent::InspectedStateProvider::~InspectedStateProvider):
2299
2300 2011-04-04  Yong Li  <yoli@rim.com>
2301
2302         Reviewed by Antonio Gomes.
2303
2304         https://bugs.webkit.org/show_bug.cgi?id=55969
2305         Fix the issue that document state is not saved when
2306         going backward and ending up with error page.
2307
2308         Test: platform/qt/fast/history/back-to-unreachable-url-then-forward.html
2309
2310         (For manual test, load a non-existent html first, then load
2311         fast/history/resources/check-scroll-position.html, then go
2312         back and go forward. If it doesn't show "SUCCESS" at the bottom
2313         of the page, your browser has failed the test)
2314
2315         * loader/FrameLoader.cpp:
2316         (WebCore::FrameLoader::load):
2317
2318 2011-04-04  Sergio Villar Senin  <svillar@igalia.com>
2319
2320         Reviewed by Martin Robinson.
2321
2322         [GTK] Fix make distcheck for 1.4.0
2323         https://bugs.webkit.org/show_bug.cgi?id=57750
2324
2325         Added a missing header file to the Makefile
2326
2327         * GNUmakefile.am:
2328
2329 2011-04-04  Martin Robinson  <mrobinson@igalia.com>
2330
2331         Reviewed by Xan Lopez.
2332
2333         [GTK] http/tests/plugins/post-url-file.html fails on GTK+
2334         https://bugs.webkit.org/show_bug.cgi?id=55826
2335
2336         Correct the implementation of handlePostReadFile which uses GIO APIs and
2337         actually resizes the buffer to fit the entire size of the file data. This
2338         was likely leading to memory corruption until now.
2339
2340         * plugins/gtk/PluginViewGtk.cpp:
2341         (WebCore::PluginView::handlePostReadFile): Fix this method.
2342
2343 2011-04-04  Andrey Kosyakov  <caseq@chromium.org>
2344
2345         Reviewed by Yury Semikhatsky.
2346
2347         Web Inspector: [Extensions API] add notifications on panels shown/hidden
2348         https://bugs.webkit.org/show_bug.cgi?id=57752
2349
2350         * inspector/front-end/ExtensionAPI.js:
2351         (WebInspector.injectedExtensionAPI.PanelImpl):
2352         * inspector/front-end/ExtensionServer.js:
2353         (WebInspector.ExtensionServer.prototype.notifyPanelShown):
2354         (WebInspector.ExtensionServer.prototype.notifyPanelHidden):
2355         * inspector/front-end/Panel.js:
2356         (WebInspector.Panel.prototype.show):
2357         (WebInspector.Panel.prototype.hide):
2358
2359 2011-04-04  Pavel Podivilov  <podivilov@chromium.org>
2360
2361         Reviewed by Yury Semikhatsky.
2362
2363         Web Inspector: search in resources panel is broken.
2364         https://bugs.webkit.org/show_bug.cgi?id=57631
2365
2366         Search in resources panel should trigger source frame content load.
2367
2368         * inspector/front-end/Panel.js:
2369         (WebInspector.Panel.prototype.jumpToNextSearchResult):
2370         (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
2371         * inspector/front-end/ResourcesPanel.js:
2372         * inspector/front-end/SearchController.js:
2373         (WebInspector.SearchController.prototype.handleShortcut):
2374         (WebInspector.SearchController.prototype.focusSearchField):
2375         * inspector/front-end/SourceFrame.js:
2376         (WebInspector.SourceFrame.prototype.show):
2377         (WebInspector.SourceFrame.prototype._ensureContentLoaded):
2378         (WebInspector.SourceFrame.prototype.performSearch):
2379
2380 2011-04-03  Eric Seidel  <eric@webkit.org>
2381
2382         Reviewed by Ryosuke Niwa.
2383
2384         Split out UnicodeBidi enum into its own header (to allow use in platform)
2385         https://bugs.webkit.org/show_bug.cgi?id=57722
2386
2387         unicode-bidi is a CSS concept.  However the same concept is really needed throughout
2388         the bidi code in platform as well.  So I'm moving the enum to platform.
2389         The only part of the enum which doesn't make much sense to platform/ is "normal".
2390
2391         * WebCore.xcodeproj/project.pbxproj:
2392         * css/CSSPrimitiveValueMappings.h:
2393         * platform/text/UnicodeBidi.h: Added.
2394         * rendering/style/RenderStyle.h:
2395         * rendering/style/RenderStyleConstants.h:
2396
2397 2011-04-04  Andrey Adaikin  <aandrey@google.com>
2398
2399         Reviewed by Yury Semikhatsky.
2400
2401         Web Inspector: Highlighted search tokens would not be shown on long lines in the text viewer
2402         https://bugs.webkit.org/show_bug.cgi?id=57749
2403
2404         * inspector/front-end/TextViewer.js:
2405         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
2406         (WebInspector.TextEditorMainPanel.prototype._paintLine):
2407
2408 2011-04-04  Alexander Pavlov  <apavlov@chromium.org>
2409
2410         Reviewed by Yury Semikhatsky.
2411
2412         Web Inspector: Incorrectly reports warning on missing/incorrect content-type for 304s
2413         https://bugs.webkit.org/show_bug.cgi?id=48525
2414
2415         * inspector/front-end/Resource.js:
2416         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
2417
2418 2011-04-01  Alexander Pavlov  <apavlov@chromium.org>
2419
2420         Reviewed by Yury Semikhatsky.
2421
2422         Web Inspector: appropriateSelectorForNode() invokes the "localName" getter on DOMNode rather than function
2423         https://bugs.webkit.org/show_bug.cgi?id=57632
2424
2425         Moved the affected method onto the DOMNode.prototype as "appropriateSelectorFor".
2426
2427         * inspector/front-end/DOMAgent.js:
2428         (WebInspector.DOMNode.prototype.appropriateSelectorFor):
2429         * inspector/front-end/EventListenersSidebarPane.js:
2430         ():
2431         * inspector/front-end/StylesSidebarPane.js:
2432         (WebInspector.StylesSidebarPane.prototype.addBlankSection):
2433         * inspector/front-end/utilities.js:
2434
2435 2011-04-04  Andrey Kosyakov  <caseq@chromium.org>
2436
2437         Unreviewed. Followup to an incomplete commit in r82806.
2438
2439         * inspector/front-end/ExtensionAPI.js:
2440         (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane):
2441         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl):
2442         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
2443         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression):
2444         (WebInspector.injectedExtensionAPI):
2445         * inspector/front-end/ExtensionPanel.js:
2446         (WebInspector.ExtensionSidebarPane):
2447         (WebInspector.ExtensionSidebarPane.prototype.setPage):
2448         (WebInspector.ExtensionSidebarPane.prototype._setObject):
2449         * inspector/front-end/ExtensionServer.js:
2450         (WebInspector.ExtensionServer):
2451         (WebInspector.ExtensionServer.prototype.notifyExtensionSidebarUpdated):
2452         (WebInspector.ExtensionServer.prototype._onCreatePanel):
2453         (WebInspector.ExtensionServer.prototype._onCreateSidebarPane):
2454         (WebInspector.ExtensionServer.prototype.createClientIframe):
2455         (WebInspector.ExtensionServer.prototype._onSetSidebarContent):
2456
2457 2011-04-04  Yury Semikhatsky  <yurys@chromium.org>
2458
2459         Unreviewed. Fix Qt minimal build.
2460
2461         * inspector/InspectorFrontendChannel.h:
2462
2463 2011-04-01  Sergey Vorobyev  <sergeyvorobyev@google.com>
2464
2465         Reviewed by Yury Semikhatsky.
2466
2467         Web Inspector: Separate sendMessageToFrontend function
2468         from InspectorClient to individual interface.
2469         https://bugs.webkit.org/show_bug.cgi?id=57548
2470
2471         Refactoring - covered with existing inspector tests.
2472
2473         * GNUmakefile.am:
2474         * WebCore.gypi:
2475         * WebCore.vcproj/WebCore.vcproj:
2476         * WebCore.xcodeproj/project.pbxproj:
2477         * inspector/CodeGeneratorInspector.pm:
2478         * inspector/InspectorClient.h:
2479         * inspector/InspectorFrontendChannel.h: Added.
2480         (WebCore::InspectorFrontendChannel::~InspectorFrontendChannel):
2481
2482 2011-04-04  Nico Weber  <thakis@chromium.org>
2483
2484         Reviewed by Eric Seidel.
2485
2486         Prefer a using directive over qualified names in LocalizedNumberICU.cpp
2487         https://bugs.webkit.org/show_bug.cgi?id=57742
2488
2489         Requested by ap in https://bugs.webkit.org/show_bug.cgi?id=57715
2490
2491         * platform/text/LocalizedNumberICU.cpp:
2492         (WebCore::createFormatterForCurrentLocale):
2493         (WebCore::numberFormatter):
2494         (WebCore::parseLocalizedNumber):
2495         (WebCore::formatLocalizedNumber):
2496
2497 2011-04-04  Andrey Adaikin  <aandrey@google.com>
2498
2499         Reviewed by Yury Semikhatsky.
2500
2501         Web Inspector: Breakpoints in the gutter stay static while editing the text
2502         https://bugs.webkit.org/show_bug.cgi?id=57616
2503
2504         * inspector/front-end/SourceFrame.js:
2505         (WebInspector.SourceFrame):
2506         (WebInspector.SourceFrame.prototype._saveViewerState):
2507         (WebInspector.SourceFrame.prototype._restoreViewerState):
2508         (WebInspector.SourceFrame.prototype._endEditing):
2509         (WebInspector.SourceFrame.prototype._lineNumberAfterEditing):
2510         (WebInspector.SourceFrame.prototype.addBreakpoint):
2511         (WebInspector.SourceFrame.prototype.removeBreakpoint):
2512         * inspector/front-end/TextViewer.js:
2513         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
2514         (WebInspector):
2515         (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
2516         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2517         (WebInspector.TextEditorChunkedPanel.prototype._splitChunkOnALine):
2518         (WebInspector.TextEditorMainPanel.prototype._splitChunkOnALine):
2519
2520 2011-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
2521
2522         Reviewed by Yury Semikhatsky.
2523
2524         Web Inspector: remove obsolete doc generating code from CodeGenerator.
2525         https://bugs.webkit.org/show_bug.cgi?id=57748
2526
2527         * inspector/CodeGeneratorInspector.pm:
2528
2529 2011-04-04  Andrey Kosyakov  <caseq@chromium.org>
2530
2531         Reviewed by Yury Semikhatsky.
2532
2533         Web Inspector: [Extensions API] Merge WatchExpressionSidebarPane into ExtensionSidebarPane
2534         https://bugs.webkit.org/show_bug.cgi?id=57622
2535
2536         Merged WatchExpressionSidebarPane into ExtensionSidebarPane, added setPage(url).
2537         Fixed wrong getter in schema (scripts -> elements)
2538
2539         * inspector/front-end/ExtensionAPI.js:
2540         (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setObject):
2541         (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setPage):
2542         * inspector/front-end/ExtensionAPISchema.json:
2543         * inspector/front-end/ExtensionServer.js:
2544         (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
2545
2546 2011-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
2547
2548         Reviewed by Pavel Feldman.
2549
2550         Web Inspector: introduce support of 'optional' flag for command arguments.
2551         https://bugs.webkit.org/show_bug.cgi?id=57698
2552
2553         * inspector/CodeGeneratorInspector.pm:
2554         * inspector/Inspector.json:
2555         * inspector/InspectorDebuggerAgent.cpp:
2556         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2557         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2558         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2559         * inspector/InspectorDebuggerAgent.h:
2560         * inspector/InspectorPageAgent.cpp:
2561         (WebCore::InspectorPageAgent::reloadPage):
2562         * inspector/InspectorPageAgent.h:
2563         * inspector/InspectorResourceAgent.cpp:
2564         (WebCore::InspectorResourceAgent::getResourceContent):
2565         * inspector/InspectorResourceAgent.h:
2566         * inspector/InspectorRuntimeAgent.cpp:
2567         (WebCore::InspectorRuntimeAgent::evaluate):
2568         * inspector/InspectorRuntimeAgent.h:
2569         * inspector/generate-inspector-idl:
2570
2571 2011-04-04  Yury Semikhatsky  <yurys@chromium.org>
2572
2573         Reviewed by Pavel Feldman.
2574
2575         Web Inspector: InjectedScriptManager should not try to access inspected window in case of workers
2576         https://bugs.webkit.org/show_bug.cgi?id=57637
2577
2578         * bindings/js/JSInjectedScriptManager.cpp:
2579         (WebCore::InjectedScriptManager::injectedScriptFor):
2580         * bindings/v8/custom/V8InjectedScriptManager.cpp:
2581         (WebCore::InjectedScriptManager::injectedScriptFor):
2582         * inspector/InjectedScript.cpp:
2583         (WebCore::InjectedScript::InjectedScript):
2584         (WebCore::InjectedScript::canAccessInspectedWindow):
2585         * inspector/InjectedScript.h:
2586         * inspector/InjectedScriptManager.cpp:
2587         (WebCore::InjectedScriptManager::createForPage):
2588         (WebCore::InjectedScriptManager::createForWorker):
2589         (WebCore::InjectedScriptManager::InjectedScriptManager): access check function is passed as a parameter to the constructor
2590         and it depends on which type of context we're inspecting(worker or page).
2591         (WebCore::InjectedScriptManager::canAccessInspectedWorkerContext):
2592         * inspector/InjectedScriptManager.h:
2593         * inspector/InspectorController.cpp:
2594         (WebCore::InspectorController::InspectorController):
2595
2596 2011-04-04  Ryuan Choi  <ryuan.choi@samsung.com>
2597
2598         Reviewed by Eric Seidel.
2599
2600         V8StringCallback.cpp requires V8Binding.h
2601         https://bugs.webkit.org/show_bug.cgi?id=57699
2602
2603         No new tests required because of just adding header file.
2604
2605         * bindings/scripts/CodeGeneratorV8.pm:
2606
2607 2011-04-03  Ryuan Choi  <ryuan.choi@samsung.com>
2608
2609         Reviewed by Eric Seidel.
2610
2611         [CMAKE] Clean duplicated files in WebCore_Sources
2612         https://bugs.webkit.org/show_bug.cgi?id=57741
2613
2614         No new tests, Only duplicated files were removed.
2615
2616         * CMakeLists.txt:
2617
2618 2011-04-03  Luke Macpherson   <macpherson@chromium.org>
2619
2620         Reviewed by Darin Adler.
2621
2622         Fix 2-space indentation introduced in bug 54706.
2623         https://bugs.webkit.org/show_bug.cgi?id=57740
2624
2625         No new tests - whitespace changes only.
2626
2627         * css/CSSStyleSelector.cpp:
2628         (WebCore::CSSStyleSelector::applyProperty):
2629         Convert 2-space indentation to 4-space indentation.
2630
2631 2011-04-03  Luke Macpherson   <macpherson@chromium.org>
2632
2633         Reviewed by Dimitri Glazkov.
2634
2635         Make CSSStyleApplyProperty non-copyable
2636         https://bugs.webkit.org/show_bug.cgi?id=57738
2637
2638         No new functionality added so no new tests required.
2639
2640         * css/CSSStyleApplyProperty.h:
2641         Added WTF_MAKE_NONCOPYABLE(CSSStyleApplyProperty) to ensure singleton stays single.
2642
2643 2011-04-03  Dan Bernstein  <mitz@apple.com>
2644
2645         Reviewed by Maciej Stachowiak.
2646
2647         fast/images/extra-image-in-image-document.html crashes when run after embed-image.html
2648         https://bugs.webkit.org/show_bug.cgi?id=57733
2649
2650         The crash happens because resetting the page scale as part of preparing the WebView for the
2651         next test triggered layout, which in turn caused a plug-in to make a resource request, and
2652         DumpRenderTree's delegate to be dispatched. The delegate doesn’t expect to be called between
2653         tests, and it references the layout test controller, which is null.
2654
2655         * page/Frame.cpp:
2656         (WebCore::Frame::scalePage): Avoid an unnecessary layout if the page scale isn’t changing. This
2657         is more efficient, and has the side effect of avoiding the crash in DumpRenderTree, although
2658         DumpRenderTree could still crash when after a test with disabled plug-ins and a non-1 page scale.
2659         I think there are currently no such tests, so I am not fixing DumpRenderTree.
2660
2661 2011-04-03  Eric Seidel  <eric@webkit.org>
2662
2663         Reviewed by Ryosuke Niwa.
2664
2665         Teach InlineIterator how to work from any root, not just a RenderBlock
2666         https://bugs.webkit.org/show_bug.cgi?id=57726
2667
2668         For implementing bidi-unicode: isolate, we need to be able to run the
2669         bidi algorithm over a subtree of inlines, not just from a block root.
2670         This is the first step in making this possible.
2671
2672         * rendering/InlineIterator.h:
2673         (WebCore::InlineIterator::InlineIterator):
2674         (WebCore::InlineIterator::root):
2675         (WebCore::bidiNext):
2676         (WebCore::bidiFirst):
2677         (WebCore::InlineIterator::increment):
2678         (WebCore::InlineBidiResolver::appendRun):
2679         * rendering/RenderBlockLineLayout.cpp:
2680         (WebCore::RenderBlock::findNextLineBreak):
2681
2682 2011-04-03  Eric Seidel  <eric@webkit.org>
2683
2684         Reviewed by Dan Bernstein.
2685
2686         Split out handling of trailing spaces from layoutInlineChildren
2687         https://bugs.webkit.org/show_bug.cgi?id=57432
2688
2689         There is much more we could split out from this function, but this is a start.
2690
2691         I suspect this is very hot code.  Hopefully the compiler will do the right thing.
2692         If it doesn't the Chromium PLT bots will tell us.
2693
2694         * rendering/RenderBlock.h:
2695         * rendering/RenderBlockLineLayout.cpp:
2696         (WebCore::RenderBlock::handleTrailingSpaces):
2697         (WebCore::RenderBlock::layoutInlineChildren):
2698
2699 2011-03-21  Ryosuke Niwa  <rniwa@webkit.org>
2700
2701         Reviewed by Eric Seidel.
2702
2703         editing commands shouldn't run when there's no body
2704         https://bugs.webkit.org/show_bug.cgi?id=56771
2705
2706         The bug was caused by WebKit's not checking the existence of root editable element
2707         in enabled* functions. Although isContentEditable returns true whenever we're in design mode,
2708         we should not run editing commands in a document without a body element editable because
2709         doing so results in appending a non-body element to the document node.
2710
2711         Fixed the bug by modifying various enabled* functions to ensure we have a root editable element.
2712         New behavior tries to match that of Firefox except StyleWithCSS, which Firefox seems to ignore
2713         when there are no body element. Since StyleWithCSS is a document's state or property, we allow
2714         execCommand('StyleWithCSS') even in a document without a body element.
2715
2716         WebKit's and Firefox's behaviors also deviate in insert-image-with-selecting-document.html.
2717         Whereas WebKit respects selection set by script and ignores execCommand, Firefox modifies
2718         the selection when document.write("x") is ran and successfully inserts image.
2719
2720         Thus, empty-document-delete.html and empty-document-justify-right.html both pass on Firefox
2721         while empty-document-stylewithcss.html and insert-image-with-selecting-document.html both fail.
2722
2723         Since Internet Explorer does not allow execCommand to run under design mode properly, we could
2724         not test its behavior.
2725
2726         Tests: editing/editability/empty-document-delete.html
2727                editing/editability/empty-document-justify-right.html
2728                editing/editability/empty-document-stylewithcss.html
2729                editing/execCommand/insert-image-with-selecting-document.html
2730
2731         * editing/Editor.cpp:
2732         (WebCore::Editor::canEdit): Verify that the root editable element exists
2733         instead of just checking that selection endpoints are editable because
2734         selection endpoints could be document node without a body element in design mode
2735         and we don't want to consider such a document editable.
2736         (WebCore::Editor::canDelete): Ditto.
2737         * editing/EditorCommand.cpp:
2738         (WebCore::enabledInEditableText): Ditto.
2739         (WebCore::enabledInRichlyEditableText): Ditto.
2740         (WebCore::enabledDelete): Call enabledCut and enabledInEditableText instead
2741         of duplicating the code in order to fix the same bug.
2742
2743 2011-04-02  Dan Bernstein  <mitz@apple.com>
2744
2745         Reviewed by Maciej Stachowiak.
2746
2747         REGRESSION (r82786): Media controls render incorrectly on GTK and Qt
2748         https://bugs.webkit.org/show_bug.cgi?id=57719
2749
2750         r82786 exposed an incorrect assumption inRenderMediaControlTimeDisplay::layout()
2751         that the timeline container is the parent of the time display. This is not true
2752         with the GTK media style, where the current time display is an inline box, and
2753         thus wrapped in an anonymous flexible box. The code was incorrectly considering
2754         the width of the anonymous box and deciding to hide the time display. Prior to
2755         r82786, this mistake was corrected by the call to computeLogicalWidth() in line layout.
2756
2757         * rendering/MediaControlElements.cpp:
2758         (WebCore::RenderMediaControlTimeDisplay::layout): Changed to skip past anonymous ancestors.
2759
2760 2011-04-02  Nico Weber  <thakis@chromium.org>
2761
2762         Reviewed by Adam Barth.
2763
2764         Explicitly use icu namespace for ports building with U_USING_ICU_NAMESPACE=0
2765
2766         By default, ICU includes |using namespace icu;| in its header files
2767         for backwards compatibility. Clients can define
2768         U_USING_ICU_NAMESPACE=0 to tell ICU to not do this. Prefixing all ICU
2769         classes with |icu::| makes this file compile no matter what
2770         U_USING_ICU_NAMESPACE is set to.
2771
2772         https://bugs.webkit.org/show_bug.cgi?id=57715
2773
2774         * platform/text/LocalizedNumberICU.cpp:
2775         (WebCore::createFormatterForCurrentLocale):
2776         (WebCore::numberFormatter):
2777         (WebCore::parseLocalizedNumber):
2778         (WebCore::formatLocalizedNumber):
2779
2780 2011-04-02  Dan Bernstein  <mitz@apple.com>
2781
2782         Reviewed by Dave Hyatt.
2783
2784         Remove an unnecessary extra computeLogicalWidth() from line layout
2785         https://bugs.webkit.org/show_bug.cgi?id=57711
2786
2787         Changes in behavior (MathML progression) covered by existing layout tests.
2788
2789         * rendering/RenderBlockLineLayout.cpp:
2790         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
2791         call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this
2792         actually prevents MathML rows from reverting to an incorrect width.
2793
2794 2011-04-02  Dan Bernstein  <mitz@apple.com>
2795
2796         Reviewed by Beth Dakin.
2797
2798         <details> marker loses its margin
2799         https://bugs.webkit.org/show_bug.cgi?id=57713
2800
2801         * rendering/RenderDetails.cpp:
2802         (WebCore::RenderDetails::computePreferredLogicalWidths): Override to update
2803         the marker location.
2804         * rendering/RenderDetails.h:
2805         (WebCore::RenderDetails::renderName): Made private.
2806         (WebCore::RenderDetails::isDetails): Ditto.
2807         * rendering/RenderDetailsMarker.cpp:
2808         (WebCore::RenderDetailsMarker::computePreferredLogicalWidths): Set the margins
2809         in the style, like RenderListMarker does.
2810         (WebCore::RenderDetailsMarker::layout): Set the margins from the style.
2811
2812 2011-04-02  Andy Estes  <aestes@apple.com>
2813
2814         Reviewed by Oliver Hunt.
2815
2816         REGRESSION (r69237): Black border around map elements while using an image map on Mac platform
2817         https://bugs.webkit.org/show_bug.cgi?id=52518
2818
2819         Test: fast/images/imagemap-focus-ring-zero-outline-width.html
2820
2821         * rendering/RenderImage.cpp:
2822         (WebCore::RenderImage::paintAreaElementFocusRing): Return early if outlineWidth is 0.
2823
2824 2011-04-02  Beth Dakin  <bdakin@apple.com>
2825
2826         Reviewed by Sam Weinig.
2827
2828         https://bugs.webkit.org/show_bug.cgi?id=57605
2829         Frame::pageScaleFactor() should not affect getBoundingClientRect() or 
2830         getClientRects()
2831         -and corresponding-
2832         <rdar://problem/9194541>
2833
2834         New functions adjust*ForPageScale() are analogous to adjust*ForAbsoluteZoom().
2835         * dom/Element.cpp:
2836         (WebCore::Element::getClientRects):
2837         (WebCore::Element::getBoundingClientRect):
2838         * dom/Range.cpp:
2839         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
2840         (WebCore::Range::getBorderAndTextQuads):
2841         * rendering/RenderObject.h:
2842         (WebCore::adjustFloatPointForPageScale):
2843         (WebCore::adjustFloatQuadForPageScale):
2844         (WebCore::adjustFloatRectForPageScale):
2845
2846 2011-04-02  Dan Bernstein  <mitz@apple.com>
2847
2848         Reverted r82775 due to changes in <details> test results, which are
2849         likely progressions.
2850
2851         * rendering/RenderBlockLineLayout.cpp:
2852         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
2853
2854 2011-04-02  Dan Bernstein  <mitz@apple.com>
2855
2856         Reviewed by Dave Hyatt.
2857
2858         Remove an unnecessary extra computeLogicalWidth() from line layout
2859         https://bugs.webkit.org/show_bug.cgi?id=57711
2860
2861         Changes in behavior (MathML progression) covered by existing layout tests.
2862
2863         * rendering/RenderBlockLineLayout.cpp:
2864         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
2865         call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this
2866         actually prevents MathML rows from reverting to an incorrect width.
2867
2868 2011-04-02  Ryuan Choi  <ryuan.choi@samsung.com>
2869
2870         Reviewed by Martin Robinson.
2871
2872         [GTK] Fix leaked pointer in FontGtk.cpp
2873         https://bugs.webkit.org/show_bug.cgi?id=57307
2874
2875         Fix a memory leak.
2876
2877         No new functionality, so no new tests.
2878
2879         * platform/graphics/gtk/FontGtk.cpp:
2880         (WebCore::utf16ToUtf8): Rename utf16_to_utf8 and fix indentation.
2881         (WebCore::convertUniCharToUTF8):
2882
2883 2011-04-02  Ilya Tikhonovsky  <loislo@chromium.org>
2884
2885         Reviewed by Pavel Feldman.
2886
2887         Web Inspector: we should be able to have in and out arguments of a command with same name.
2888         https://bugs.webkit.org/show_bug.cgi?id=57701
2889
2890         * inspector/CodeGeneratorInspector.pm:
2891         * inspector/Inspector.json:
2892
2893 2011-04-01  Ilya Tikhonovsky  <loislo@chromium.org>
2894
2895         Not reviewed trivial change.
2896
2897         Web Inspector: The page agent should be enabled even if JAVASCRIPT_DEBUGGER is off.
2898         Followup change for r82281.
2899         https://bugs.webkit.org/show_bug.cgi?id=57327
2900
2901         * inspector/InspectorPageAgent.cpp:
2902         * inspector/InspectorPageAgent.h:
2903
2904 2011-04-01  Michael Saboff  <msaboff@apple.com>
2905
2906         Reviewed by Darin Adler.
2907
2908         Cached Resource Overhead Space Usage and Accounting Inaccurate
2909         https://bugs.webkit.org/show_bug.cgi?id=57488
2910
2911         Fixed windows test failures.
2912         Changed the fixed overhead value for ResourceResponse to 3800 bytes.
2913         Modified ResourceResponse::platformLazyInit() to handle "base" level
2914         attributes or all attributes.  The base attributes, like URL, status
2915         code, mime type and a few header fields (mostly cache related) are
2916         suitable for most resources.  This reduces the per resource memory
2917         needs by over 1K bytes per resource thus saving memory in the cache.
2918         Collectively, these two changes bring the overhead memory calculation
2919         in line with reality.
2920
2921         No new tests added due to existing tests cover areas of change and
2922         there is no functional change.  The change is limited to reducing 
2923         memory usage along existing paths.
2924
2925         * loader/cache/CachedResource.cpp:
2926         (WebCore::CachedResource::canUseCacheValidator):
2927         * platform/network/ResourceResponseBase.cpp:
2928         (WebCore::ResourceResponseBase::adopt):
2929         (WebCore::ResourceResponseBase::isHTTP):
2930         (WebCore::ResourceResponseBase::url):
2931         (WebCore::ResourceResponseBase::setURL):
2932         (WebCore::ResourceResponseBase::mimeType):
2933         (WebCore::ResourceResponseBase::setMimeType):
2934         (WebCore::ResourceResponseBase::expectedContentLength):
2935         (WebCore::ResourceResponseBase::setExpectedContentLength):
2936         (WebCore::ResourceResponseBase::textEncodingName):
2937         (WebCore::ResourceResponseBase::setTextEncodingName):
2938         (WebCore::ResourceResponseBase::suggestedFilename):
2939         (WebCore::ResourceResponseBase::setSuggestedFilename):
2940         (WebCore::ResourceResponseBase::httpStatusCode):
2941         (WebCore::ResourceResponseBase::setHTTPStatusCode):
2942         (WebCore::ResourceResponseBase::httpStatusText):
2943         (WebCore::ResourceResponseBase::setHTTPStatusText):
2944         (WebCore::ResourceResponseBase::httpHeaderField):
2945         (WebCore::ResourceResponseBase::setHTTPHeaderField):
2946         (WebCore::ResourceResponseBase::httpHeaderFields):
2947         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
2948         (WebCore::ResourceResponseBase::hasCacheValidatorFields):
2949         (WebCore::ResourceResponseBase::date):
2950         (WebCore::ResourceResponseBase::age):
2951         (WebCore::ResourceResponseBase::expires):
2952         (WebCore::ResourceResponseBase::lastModified):
2953         (WebCore::ResourceResponseBase::isAttachment):
2954         (WebCore::ResourceResponseBase::setLastModifiedDate):
2955         (WebCore::ResourceResponseBase::lastModifiedDate):
2956         (WebCore::ResourceResponseBase::wasCached):
2957         (WebCore::ResourceResponseBase::connectionReused):
2958         (WebCore::ResourceResponseBase::setConnectionReused):
2959         (WebCore::ResourceResponseBase::connectionID):
2960         (WebCore::ResourceResponseBase::setConnectionID):
2961         (WebCore::ResourceResponseBase::resourceLoadTiming):
2962         (WebCore::ResourceResponseBase::setResourceLoadTiming):
2963         (WebCore::ResourceResponseBase::resourceLoadInfo):
2964         (WebCore::ResourceResponseBase::setResourceLoadInfo):
2965         (WebCore::ResourceResponseBase::lazyInit):
2966         * platform/network/ResourceResponseBase.h:
2967         (WebCore::ResourceResponseBase::platformLazyInit):
2968         * platform/network/cf/ResourceResponse.h:
2969         (WebCore::ResourceResponse::ResourceResponse):
2970         (WebCore::ResourceResponse::memoryUsage):
2971         * platform/network/cf/ResourceResponseCFNet.cpp:
2972         (WebCore::ResourceResponse::platformLazyInit):
2973         * platform/network/mac/ResourceResponseMac.mm:
2974         (WebCore::ResourceResponse::platformLazyInit):
2975
2976 2011-04-01  Anantanarayanan G Iyengar  <ananta@chromium.org>
2977
2978         Reviewed by Adam Barth.
2979
2980         https://bugs.webkit.org/show_bug.cgi?id=45855
2981         Windowless plugins added dynamically to the DOM should receive paint events.
2982         This is done by ensuring that the plugin widget is marked for painting when
2983         it is added.
2984
2985         Test: plugins/windowless_plugin_paint_test.html
2986
2987         * rendering/RenderWidget.cpp:
2988         (WebCore::RenderWidget::setWidget):
2989
2990 2011-04-01  Mike Reed  <reed@google.com>
2991
2992         Reviewed by James Robinson.
2993
2994         always use native font rendering on skia_gpu
2995         fixes a crash when SKIA_GPU is enabled, as we can't call getTopPlatformDevice()
2996         https://bugs.webkit.org/show_bug.cgi?id=57663
2997
2998         No new tests. existing rendering tests will exercise this
2999
3000         * platform/graphics/skia/PlatformContextSkia.cpp:
3001         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
3002
3003 2011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
3004
3005         Unreviewed, rolling out r82712, r82729, and r82746.
3006         http://trac.webkit.org/changeset/82712
3007         http://trac.webkit.org/changeset/82729
3008         http://trac.webkit.org/changeset/82746
3009         https://bugs.webkit.org/show_bug.cgi?id=57682
3010
3011         fast/frames/frame-programmatic-noresize.html is failing on
3012         Windows bots. Will look into this offline. (Requested by dydx
3013         on #webkit).
3014
3015         * html/HTMLFrameElement.cpp:
3016         (WebCore::HTMLFrameElement::HTMLFrameElement):
3017         (WebCore::HTMLFrameElement::attach):
3018         (WebCore::HTMLFrameElement::parseMappedAttribute):
3019         * html/HTMLFrameElement.h:
3020         (WebCore::HTMLFrameElement::noResize):
3021         * rendering/RenderFrame.cpp:
3022         * rendering/RenderFrame.h:
3023         * rendering/RenderFrameSet.cpp:
3024         * rendering/RenderFrameSet.h:
3025
3026 2011-04-01  Adam Barth  <abarth@webkit.org>
3027
3028         Reviewed by Tony Chang.
3029
3030         Valgrind error in _ZN7WebCore8Document11updateTitleERKNS_19StringWithDirectionE
3031         https://bugs.webkit.org/show_bug.cgi?id=57656
3032
3033         We should initialize memory when constructing objects.
3034
3035         * platform/text/StringWithDirection.h:
3036         (WebCore::StringWithDirection::StringWithDirection):
3037
3038 2011-04-01  Jer Noble  <jer.noble@apple.com>
3039
3040         Reviewed by Darin Adler.
3041
3042         WebKit2: Link from PDF opens in a new tab instead of in the same tab
3043         https://bugs.webkit.org/show_bug.cgi?id=57528
3044
3045         * WebCore.exp.in: Export MouseEvent::create().
3046
3047 2011-04-01  John Bauman  <jbauman@chromium.org>
3048
3049         Reviewed by Kenneth Russell.
3050
3051         Avoid decoding images twice in texImage2D
3052         https://bugs.webkit.org/show_bug.cgi?id=51498
3053
3054         Make sure to redecode the image only if it's not opaque and texImage2D
3055         wouldn't premultiply it anyway.
3056
3057         * platform/graphics/BitmapImage.h:
3058         * platform/graphics/cg/GraphicsContext3DCG.cpp:
3059         (WebCore::GraphicsContext3D::getImageData):
3060         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
3061         (WebCore::GraphicsContext3D::getImageData):
3062
3063 2011-04-01  Alexey Proskuryakov  <ap@apple.com>
3064
3065         32-bit Mac build fix.
3066
3067         * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Use 0U to index a String
3068         to avoid ambiguity.
3069
3070 2011-04-01  Alexey Proskuryakov  <ap@apple.com>
3071
3072         Reviewed by Darin Adler.
3073
3074         Make WebKit2 text input handling more like WebKit1
3075         https://bugs.webkit.org/show_bug.cgi?id=57649
3076
3077         * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Put back the assertions
3078         we used to have. It is dangerous to confuse editor commands and selector names - besides the
3079         presence of a semicolon, they sometimes have different names, and WebKit2 failed to map those.
3080
3081 2011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
3082
3083         Unreviewed, rolling out r82711.
3084         http://trac.webkit.org/changeset/82711
3085         https://bugs.webkit.org/show_bug.cgi?id=57657
3086
3087         Made every test crash on XP and Win7 (Requested by
3088         abarth|gardening on #webkit).
3089
3090         * loader/cache/CachedResource.cpp:
3091         (WebCore::CachedResource::canUseCacheValidator):
3092         * platform/network/ResourceResponseBase.cpp:
3093         (WebCore::ResourceResponseBase::adopt):
3094         (WebCore::ResourceResponseBase::isHTTP):
3095         (WebCore::ResourceResponseBase::url):
3096         (WebCore::ResourceResponseBase::setURL):
3097         (WebCore::ResourceResponseBase::mimeType):
3098         (WebCore::ResourceResponseBase::setMimeType):
3099         (WebCore::ResourceResponseBase::expectedContentLength):
3100         (WebCore::ResourceResponseBase::setExpectedContentLength):
3101         (WebCore::ResourceResponseBase::textEncodingName):
3102         (WebCore::ResourceResponseBase::setTextEncodingName):
3103         (WebCore::ResourceResponseBase::suggestedFilename):
3104         (WebCore::ResourceResponseBase::setSuggestedFilename):
3105         (WebCore::ResourceResponseBase::httpStatusCode):
3106         (WebCore::ResourceResponseBase::setHTTPStatusCode):
3107         (WebCore::ResourceResponseBase::httpStatusText):
3108         (WebCore::ResourceResponseBase::setHTTPStatusText):
3109         (WebCore::ResourceResponseBase::httpHeaderField):
3110         (WebCore::ResourceResponseBase::setHTTPHeaderField):
3111         (WebCore::ResourceResponseBase::httpHeaderFields):
3112         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
3113         (WebCore::ResourceResponseBase::date):
3114         (WebCore::ResourceResponseBase::age):
3115         (WebCore::ResourceResponseBase::expires):
3116         (WebCore::ResourceResponseBase::lastModified):
3117         (WebCore::ResourceResponseBase::isAttachment):
3118         (WebCore::ResourceResponseBase::setLastModifiedDate):
3119         (WebCore::ResourceResponseBase::lastModifiedDate):
3120         (WebCore::ResourceResponseBase::wasCached):
3121         (WebCore::ResourceResponseBase::connectionReused):
3122         (WebCore::ResourceResponseBase::setConnectionReused):
3123         (WebCore::ResourceResponseBase::connectionID):
3124         (WebCore::ResourceResponseBase::setConnectionID):
3125         (WebCore::ResourceResponseBase::resourceLoadTiming):
3126         (WebCore::ResourceResponseBase::setResourceLoadTiming):
3127         (WebCore::ResourceResponseBase::resourceLoadInfo):
3128         (WebCore::ResourceResponseBase::setResourceLoadInfo):
3129         (WebCore::ResourceResponseBase::lazyInit):
3130         * platform/network/ResourceResponseBase.h:
3131         (WebCore::ResourceResponseBase::platformLazyInit):
3132         * platform/network/cf/ResourceResponse.h:
3133         (WebCore::ResourceResponse::ResourceResponse):
3134         (WebCore::ResourceResponse::memoryUsage):
3135         * platform/network/cf/ResourceResponseCFNet.cpp:
3136         (WebCore::ResourceResponse::platformLazyInit):
3137         * platform/network/mac/ResourceResponseMac.mm:
3138         (WebCore::ResourceResponse::platformLazyInit):
3139
3140 2011-04-01  Matthew Delaney  <mdelaney@apple.com>
3141
3142         Reviewed by Simon Fraser.
3143
3144         Behavior of isAccelerated() for a IOSurface-backed canvas should be consistent with accelerated status of its ImageBuffer
3145         https://bugs.webkit.org/show_bug.cgi?id=57651
3146
3147         No new tests. This patch does not affect outward behavior.
3148
3149         * html/canvas/CanvasRenderingContext2D.cpp:
3150         (WebCore::CanvasRenderingContext2D::isAccelerated):
3151         * platform/graphics/ImageBuffer.h:
3152         (WebCore::ImageBuffer::isAccelerated):
3153
3154 2011-04-01  Daniel Bates  <dbates@rim.com>
3155
3156         Reviewed by Darin Adler.
3157
3158         Frame's noResize attribute can not be set by JavaScript
3159         https://bugs.webkit.org/show_bug.cgi?id=14845
3160
3161         Tests: fast/frames/frame-inherit-noresize-from-frameset.html
3162                fast/frames/frame-programmatic-noresize.html
3163                fast/frames/frame-with-noresize-can-be-resized-after-removal-of-noresize.html
3164                fast/frames/frame-with-noresize-can-be-resized-after-setting-noResize-to-false.html
3165
3166         Implements support to programmatically allow and disallow frame resizing.
3167
3168         Currently, HTMLFrameElement::parseMappedAttribute() is hardcoded to disallow frame resize (i.e.
3169         m_noResize = true) when either the noresize DOM attribute is specified (or existed at some
3170         point in time) or the value of the noResize attribute is modified. Instead we should allow/disallow
3171         frame resize depending on the presence of the noresize DOM attribute/the value of the noResize
3172         attribute.
3173
3174         * html/HTMLFrameElement.cpp:
3175         (WebCore::HTMLFrameElement::HTMLFrameElement):
3176         (WebCore::HTMLFrameElement::noResize): Made this a non-inline function since this
3177         code path isn't performance critical.
3178         (WebCore::HTMLFrameElement::attach): Removed code to inherit noresize attribute from
3179         parent <frameset> since this functionality is part of RenderFrameSet::computeEdgeInfo().
3180         (WebCore::HTMLFrameElement::parseMappedAttribute):
3181         * html/HTMLFrameElement.h:
3182         * rendering/RenderFrame.cpp:
3183         (WebCore::RenderFrame::updateFromElement): Added.
3184         * rendering/RenderFrame.h:
3185         * rendering/RenderFrameSet.cpp:
3186         (WebCore::RenderFrameSet::notifyFrameEdgeInfoChanged): Added.
3187         * rendering/RenderFrameSet.h:
3188
3189 2011-04-01  Michael Saboff  <msaboff@apple.com>
3190
3191         Reviewed by Darin Adler.
3192
3193         Cached Resource Overhead Space Usage and Accounting Inaccurate
3194         https://bugs.webkit.org/show_bug.cgi?id=57488
3195
3196         Changed the fixed overhead value for ResourceResponse to 3800 bytes.
3197         Modified ResourceResponse::platformLazyInit() to handle "base" level
3198         attributes or all attributes.  The base attributes, like URL, status
3199         code, mime type and a few header fields (mostly cache related) are
3200         suitable for most resources.  This reduces the per resource memory
3201         needs by over 1K bytes per resource thus saving memory in the cache.
3202         Collectively, these two changes bring the overhead memory calculation
3203         in line with reality.
3204
3205         No new tests added due to existing tests cover areas of change and
3206         there is no functional change.  The change is limited to reducing 
3207         memory usage along existing paths.
3208
3209         * loader/cache/CachedResource.cpp:
3210         (WebCore::CachedResource::canUseCacheValidator):
3211         * platform/network/ResourceResponseBase.cpp:
3212         (WebCore::ResourceResponseBase::isHTTP):
3213         (WebCore::ResourceResponseBase::url):
3214         (WebCore::ResourceResponseBase::setURL):
3215         (WebCore::ResourceResponseBase::mimeType):
3216         (WebCore::ResourceResponseBase::setMimeType):
3217         (WebCore::ResourceResponseBase::expectedContentLength):
3218         (WebCore::ResourceResponseBase::setExpectedContentLength):
3219         (WebCore::ResourceResponseBase::textEncodingName):
3220         (WebCore::ResourceResponseBase::setTextEncodingName):
3221         (WebCore::ResourceResponseBase::suggestedFilename):
3222         (WebCore::ResourceResponseBase::setSuggestedFilename):
3223         (WebCore::ResourceResponseBase::httpStatusCode):
3224         (WebCore::ResourceResponseBase::setHTTPStatusCode):
3225         (WebCore::ResourceResponseBase::httpHeaderField):
3226         (WebCore::ResourceResponseBase::setHTTPHeaderField):
3227         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
3228         (WebCore::ResourceResponseBase::hasCacheValidatorFields):
3229         (WebCore::ResourceResponseBase::date):
3230         (WebCore::ResourceResponseBase::age):
3231         (WebCore::ResourceResponseBase::expires):
3232         (WebCore::ResourceResponseBase::lastModified):
3233         (WebCore::ResourceResponseBase::lazyInit):
3234         * platform/network/ResourceResponseBase.h:
3235         (WebCore::ResourceResponseBase::platformLazyInit):
3236         * platform/network/cf/ResourceResponse.h:
3237         (WebCore::ResourceResponse::ResourceResponse):
3238         (WebCore::ResourceResponse::memoryUsage):
3239         * platform/network/cf/ResourceResponseCFNet.cpp:
3240         * platform/network/mac/ResourceResponseMac.mm:
3241         (WebCore::ResourceResponse::platformLazyInit):
3242
3243 2011-04-01  Timothy Hatcher  <timothy@apple.com>
3244
3245         Make momentum scroll event latching work in WebKit2 on Mac.
3246
3247         <rdar://problem/8751861>
3248
3249         Reviewed by Darin Adler.
3250
3251         * WebCore.exp.in: Remove _wkIsLatchingWheelEvent, add _wkGetNSEventMomentumPhase.
3252         * page/EventHandler.cpp:
3253         (WebCore::EventHandler::handleWheelEvent): Set m_useLatchedWheelEventNode based on the
3254         event's momentumPhase.
3255         * page/mac/EventHandlerMac.mm:
3256         (WebCore::EventHandler::wheelEvent): Remove the setting of m_useLatchedWheelEventNode.
3257         It is now done in EventHandler::handleWheelEvent.
3258         * platform/mac/WebCoreSystemInterface.h: Remove wkIsLatchingWheelEvent, add wkGetNSEventMomentumPhase.
3259         * platform/mac/WebCoreSystemInterface.mm: Ditto.
3260         * platform/mac/WheelEventMac.mm:
3261         (WebCore::momentumPhaseForEvent): Return a phase on older Mac system by using wkGetNSEventMomentumPhase.
3262
3263 2011-04-01  Steve Block  <steveblock@google.com>
3264
3265         Reviewed by Jeremy Orlow.
3266
3267         JavaClass should be an interface and free of JNI types
3268         https://bugs.webkit.org/show_bug.cgi?id=57533
3269
3270         This patch fixes JavaClass for V8 only.
3271
3272         It factors out a JavaClass interface which does not use JNI types.
3273         This will allow the Java bridge to be used with objects that
3274         don't use JNI directly. The existing jobject-backed
3275         implementation is moved to a new JavaClassJobject class which
3276         implements the interface.
3277
3278         No new tests, refactoring only.
3279
3280         * Android.v8bindings.mk:
3281         * WebCore.gypi:
3282         * bridge/jni/v8/JavaClassJobjectV8.cpp:
3283         (JavaClassJobject::JavaClassJobject):
3284         (JavaClassJobject::~JavaClassJobject):
3285         (JavaClassJobject::methodsNamed):
3286         (JavaClassJobject::fieldNamed):
3287         * bridge/jni/v8/JavaClassJobjectV8.h: Copied from Source/WebCore/bridge/jni/v8/JavaClassV8.h.
3288         * bridge/jni/v8/JavaClassV8.h:
3289         (JSC::Bindings::JavaClass::~JavaClass):
3290         * bridge/jni/v8/JavaInstanceV8.cpp:
3291         (JavaInstance::getClass):
3292
3293 2011-04-01  Jaehun Lim  <ljaehun.lim@samsung.com>
3294
3295         Unreviewed build fix.
3296
3297         Fix build break when font backend is Pango.
3298         Pango is missed in changeset 80589.
3299
3300         https://bugs.webkit.org/show_bug.cgi?id=57609
3301
3302         * platform/graphics/pango/FontPlatformData.h:
3303         (WebCore::FontPlatformData::setOrientation):
3304
3305 2011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
3306
3307         Unreviewed, rolling out r82687.
3308         http://trac.webkit.org/changeset/82687
3309         https://bugs.webkit.org/show_bug.cgi?id=57643
3310
3311         This patch broke accessibility aria-treegrid test in Mac
3312         (Requested by msanchez on #webkit).
3313
3314         * accessibility/AccessibilityARIAGrid.cpp:
3315         * accessibility/AccessibilityARIAGrid.h:
3316         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3317         (atkRole):
3318         * accessibility/mac/AccessibilityObjectWrapper.mm:
3319
3320 2011-03-31  Abhishek Arya  <inferno@chromium.org>
3321
3322         Reviewed by Andreas Kling.
3323
3324         Whenever a relayout is trigger for SVGPath, make sure
3325         to clear its previous marker layout info. This helps
3326         to prevent removed markers from being used.
3327         https://bugs.webkit.org/show_bug.cgi?id=57492
3328
3329         Test: svg/dom/path-marker-removed-crash.svg
3330
3331         * rendering/svg/RenderSVGPath.cpp:
3332         (WebCore::RenderSVGPath::layout):
3333         * rendering/svg/SVGMarkerLayoutInfo.cpp:
3334         (WebCore::SVGMarkerLayoutInfo::clear):
3335         * rendering/svg/SVGMarkerLayoutInfo.h:
3336
3337 2011-04-01  Rob Buis  <rwlbuis@gmail.com>
3338
3339         Reviewed by Nikolas Zimmermann.
3340
3341         https://bugs.webkit.org/show_bug.cgi?id=55750
3342         SVG <image> referenced by <use> is displayed incorrectly
3343
3344         Reintroduce old behaviour for valid base URI, for invalid
3345         keep using document base URI.
3346         Fixes regression of W3C-SVG-1.1/struct-image-07-t.svg.
3347
3348         Test: svg/custom/image-base-uri.svg
3349
3350         * svg/SVGImageLoader.cpp:
3351         (WebCore::SVGImageLoader::sourceURI):
3352
3353 2011-04-01  Mario Sanchez Prada  <msanchez@igalia.com>
3354
3355         Reviewed by Chris Fleizach.
3356
3357         ARIA Grid tables should return GridRole in roleValue() method
3358         https://bugs.webkit.org/show_bug.cgi?id=57614
3359
3360         This change does not need any test since it doesn't change anything
3361         from the point of view of the consumers (Assistive Technoglogies).
3362         It's just an internal change to simplify identifying HTML and ARIA
3363         tables by calling to the AccessibilityObject::roleValue method.
3364
3365         * accessibility/AccessibilityARIAGrid.h:
3366         * accessibility/AccessibilityARIAGrid.cpp:
3367         (WebCore::AccessibilityARIAGrid::roleValue): Return GridRole.
3368
3369         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3370         (atkRole): Removed unneeded comment.
3371
3372         * accessibility/mac/AccessibilityObjectWrapper.mm: Map GridRole to
3373         NSAccessibilityTableRole, to keep the same behaviour.
3374
3375 2011-04-01  MORITA Hajime  <morrita@google.com>
3376
3377         Reviewed by Dimitri Glazkov.
3378
3379         <meter> can only support horizontal indicator
3380         https://bugs.webkit.org/show_bug.cgi?id=56001
3381
3382         - Removed code which deals with the direction and
3383           left the horizontal path.
3384         - Removed "horizontal" from related names which is now
3385           redundant.
3386         
3387         * css/CSSSelector.cpp:
3388         (WebCore::CSSSelector::pseudoId):
3389         (WebCore::nameToPseudoTypeMap):
3390         (WebCore::CSSSelector::extractPseudoType):
3391         * css/CSSSelector.h:
3392         * css/html.css:
3393         (meter::-webkit-meter-bar):
3394         (meter::-webkit-meter-optimum-value):
3395         (meter::-webkit-meter-suboptimal-value):
3396         (meter::-webkit-meter-even-less-good-value):
3397         * rendering/RenderMeter.cpp:
3398         (WebCore::RenderMeter::~RenderMeter):
3399         (WebCore::RenderMeter::createPart):
3400         (WebCore::RenderMeter::updateFromElement):
3401         (WebCore::RenderMeter::layoutParts):
3402         (WebCore::RenderMeter::styleDidChange):
3403         (WebCore::RenderMeter::shouldHaveParts):
3404         (WebCore::RenderMeter::valuePartRect):
3405         (WebCore::RenderMeter::valuePseudoId):
3406         (WebCore::RenderMeter::barPseudoId):
3407         (WebCore::RenderMeter::detachShadows):
3408         (WebCore::RenderMeter::updateShadows):
3409         * rendering/RenderMeter.h:
3410         (WebCore::RenderMeter::shadowAttached):
3411         * rendering/RenderTheme.cpp:
3412         (WebCore::RenderTheme::supportsMeter):
3413         * rendering/RenderTheme.h:
3414         * rendering/RenderThemeMac.h:
3415         * rendering/RenderThemeMac.mm:
3416         (WebCore::RenderThemeMac::paintMeter):
3417         (WebCore::RenderThemeMac::supportsMeter):
3418         * rendering/style/RenderStyleConstants.h:
3419
3420 2011-03-23  Pavel Podivilov  <podivilov@chromium.org>
3421
3422         Reviewed by Pavel Feldman.
3423
3424         Web Inspector: fix reveal line in formatted script.
3425         https://bugs.webkit.org/show_bug.cgi?id=56941
3426
3427         * inspector/front-end/BreakpointsSidebarPane.js:
3428         (WebInspector.JavaScriptBreakpointsSidebarPane):
3429         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
3430         * inspector/front-end/DebuggerPresentationModel.js:
3431         (WebInspector.DebuggerPresentationModel.prototype.sourceFileForScriptURL):
3432         * inspector/front-end/NetworkPanel.js:
3433         (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
3434         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
3435         * inspector/front-end/Panel.js:
3436         (WebInspector.Panel.prototype.canShowAnchorLocation):
3437         (WebInspector.Panel.prototype.showAnchorLocation):
3438         * inspector/front-end/ResourcesPanel.js:
3439         (WebInspector.ResourcesPanel.prototype.canShowAnchorLocation):
3440         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
3441         (WebInspector.ResourcesPanel.prototype.showResource):
3442         * inspector/front-end/ScriptsPanel.js:
3443         (WebInspector.ScriptsPanel):
3444         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
3445         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
3446         (WebInspector.ScriptsPanel.prototype._showSourceLine):
3447         * inspector/front-end/SourceFrame.js:
3448         (WebInspector.SourceFrame.prototype.highlightLine):
3449         (WebInspector.SourceFrame.prototype._createTextViewer):
3450         * inspector/front-end/inspector.js:
3451         (WebInspector.documentClick.followLink):
3452         (WebInspector.documentClick):
3453         (WebInspector._showAnchorLocation):
3454
3455 2011-04-01  Pavel Podivilov  <podivilov@chromium.org>
3456
3457         Reviewed by Yury Semikhatsky.
3458
3459         Web Inspector: make editScriptSource a Script's method.
3460         https://bugs.webkit.org/show_bug.cgi?id=57615
3461
3462         * inspector/front-end/DebuggerModel.js:
3463         (WebInspector.DebuggerModel.prototype.editScriptSource):
3464         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
3465         * inspector/front-end/Script.js:
3466         (WebInspector.Script.prototype.requestSource):
3467         (WebInspector.Script.prototype.editSource):
3468
3469 2011-04-01  Pavel Feldman  <pfeldman@google.com>
3470
3471         Reviewed by Yury Semikhatsky.
3472
3473         Web Inspector: event should have "data" attribute, not "body"
3474         https://bugs.webkit.org/show_bug.cgi?id=57628
3475
3476         * inspector/CodeGeneratorInspector.pm:
3477
3478 2011-04-01  Pavel Podivilov  <podivilov@chromium.org>
3479
3480         Reviewed by Yury Semikhatsky.
3481
3482         Web Inspector: checkboxes are broken in xhr breakpoints sidebar pane.
3483         https://bugs.webkit.org/show_bug.cgi?id=57610
3484
3485         * inspector/front-end/BreakpointsSidebarPane.js:
3486         (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
3487
3488 2011-04-01  Alexander Pavlov  <apavlov@chromium.org>
3489
3490         Reviewed by Yury Semikhatsky.
3491
3492         Web Inspector: up/down keys are not treating hex numbers properly while editing styles.
3493         https://bugs.webkit.org/show_bug.cgi?id=40522
3494
3495         Drive-by: fix inc/dec for numbers like ".5"
3496
3497         Test: inspector/styles/up-down-numerics-and-colors.html
3498
3499         * inspector/front-end/StylesSidebarPane.js:
3500         (WebInspector.StylePropertyTreeElement.prototype):
3501
3502 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
3503
3504         Reviewed by Pavel Feldman.
3505
3506         Web Inspector: remove dead code from Script.js.
3507         https://bugs.webkit.org/show_bug.cgi?id=57454
3508
3509         * inspector/front-end/DebuggerModel.js:
3510         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
3511         (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):