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