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