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