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