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