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