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