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