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