1 2011-04-12 Ilya Tikhonovsky <loislo@chromium.org>
3 Reviewed by Yury Semikhatsky.
5 Web Inspector: there was incorrect value of id property of responses for malformed json-rpc 2.0 requests.
6 https://bugs.webkit.org/show_bug.cgi?id=58305
8 It was 0 if the message is not a json object or it has no id property. But according to spec it must be null.
10 * inspector/CodeGeneratorInspector.pm:
12 2011-04-11 Pavel Podivilov <podivilov@chromium.org>
14 Reviewed by Pavel Feldman.
16 Web Inspector: [chromium] script formatting doesn't work when chromium is built with debug_devtools=1.
17 https://bugs.webkit.org/show_bug.cgi?id=58232
21 2011-04-12 Pavel Podivilov <podivilov@chromium.org>
23 Reviewed by Pavel Feldman.
25 Web Inspector: REGRESSION: Most resources in the Network panel show a blank panel when clicked.
26 https://bugs.webkit.org/show_bug.cgi?id=58273
28 * inspector/front-end/SourceFrame.js:
29 (WebInspector.SourceFrame):
30 (WebInspector.SourceFrame.prototype.get visible):
31 (WebInspector.SourceFrame.prototype.set visible):
32 (WebInspector.SourceFrame.prototype.show):
33 (WebInspector.SourceFrame.prototype.hide):
34 (WebInspector.SourceFrame.prototype.detach):
35 (WebInspector.SourceFrame.prototype._ensureContentLoaded):
36 (WebInspector.SourceFrame.prototype.markDiff):
37 (WebInspector.SourceFrame.prototype.addMessage):
38 (WebInspector.SourceFrame.prototype.clearMessages):
39 (WebInspector.SourceFrame.prototype.get scrollTop):
40 (WebInspector.SourceFrame.prototype.set scrollTop):
41 (WebInspector.SourceFrame.prototype.highlightLine):
42 (WebInspector.SourceFrame.prototype._clearLineHighlight):
43 (WebInspector.SourceFrame.prototype._initializeTextViewer):
44 (WebInspector.SourceFrame.prototype.performSearch):
45 (WebInspector.SourceFrame.prototype.searchCanceled):
46 (WebInspector.SourceFrame.prototype._jumpToSearchResult):
47 (WebInspector.SourceFrame.prototype.setExecutionLine):
48 (WebInspector.SourceFrame.prototype.clearExecutionLine):
49 (WebInspector.SourceFrame.prototype.resize):
51 2011-04-12 Pavel Feldman <pfeldman@google.com>
53 Reviewed by Yury Semikhatsky.
55 Web Inspector: document runtime agent, share remote object definition between domains.
56 https://bugs.webkit.org/show_bug.cgi?id=58246
58 * inspector/Inspector.json:
60 2011-04-12 Pavel Feldman <pfeldman@google.com>
62 Reviewed by Yury Semikhatsky.
64 Web Inspector: document console domain, support cross-domain type references.
65 https://bugs.webkit.org/show_bug.cgi?id=58240
67 * inspector/ConsoleMessage.cpp:
68 (WebCore::messageSourceValue):
69 (WebCore::messageTypeValue):
70 (WebCore::messageLevelValue):
71 (WebCore::ConsoleMessage::addToFrontend):
72 * inspector/Inspector.json:
73 * inspector/ScriptCallFrame.cpp:
74 (WebCore::ScriptCallFrame::buildInspectorObject):
75 * inspector/front-end/ConsoleView.js:
76 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
77 (WebInspector.ConsoleMessage):
78 (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
79 (WebInspector.ConsoleMessage.prototype.isEqual):
80 * inspector/front-end/NetworkManager.js:
81 (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
82 * inspector/generate-inspector-idl:
85 2011-04-06 Philippe Normand <pnormand@igalia.com>
87 Reviewed by Martin Robinson.
89 [GStreamer] RTSP playback broken
90 https://bugs.webkit.org/show_bug.cgi?id=56930
92 Rely on {audio,video}-changed playbin2 signals instead of the
93 -tags-changed signals because some media don't provide tags and
94 then can trick the media-player to not paint video, for instance.
96 Also trigger a video size calculation after the video sink
97 negotiated its caps. This is useful in the cases where
98 audio-changed signal is emitted but the video sink takes more time
99 to negociate caps with its peer.
101 This patch also fixes the rtsp manual-test with a new stream url
102 which seems to be more permanent than the previous WWDC keynote
105 * manual-tests/video-rtsp.html:
106 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
107 (WebCore::mediaPlayerPrivateVideoChangedCallback):
108 (WebCore::mediaPlayerPrivateAudioChangedCallback):
109 (WebCore::mediaPlayerPrivateAudioChangeTimeoutCallback):
110 (WebCore::mediaPlayerPrivateVideoChangeTimeoutCallback):
111 (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
112 (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
113 (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
114 (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
115 (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
116 (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
117 (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
118 (WebCore::MediaPlayerPrivateGStreamer::paint):
119 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
120 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
122 2011-04-12 Vsevolod Vlasov <vsevik@chromium.org>
124 Reviewed by Pavel Feldman.
126 Web Inspector: Failed/canceled resource requests kept showing as Pending in network panel.
127 https://bugs.webkit.org/show_bug.cgi?id=58135
129 Added statuses for failed/canceled resource loading.
131 * English.lproj/localizedStrings.js:
132 * inspector/Inspector.json:
133 * inspector/InspectorResourceAgent.cpp:
134 (WebCore::InspectorResourceAgent::didFailLoading):
135 * inspector/front-end/NetworkManager.js:
136 * inspector/front-end/NetworkPanel.js:
137 * inspector/front-end/Resource.js:
139 2011-04-12 Steve Block <steveblock@google.com>
141 Reviewed by Oliver Hunt.
143 Callable objects created via JavaScriptCore API cannot be used as Geolocation callbacks
144 https://bugs.webkit.org/show_bug.cgi?id=40012
146 Covered by fast/dom/Geolocation/argument-types.html
148 * bindings/js/CallbackFunction.cpp:
149 (WebCore::checkFunctionOnlyCallback):
151 2011-04-07 Philippe Normand <pnormand@igalia.com>
153 Reviewed by Martin Robinson.
155 [GStreamer] report playback statistics
156 https://bugs.webkit.org/show_bug.cgi?id=58033
158 Provide media playback statistics using fpsdisplaysink and
161 * manual-tests/video-statistics.html: Added.
162 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
163 (WebCore::MediaPlayerPrivateGStreamer::decodedFrameCount):
164 (WebCore::MediaPlayerPrivateGStreamer::droppedFrameCount):
165 (WebCore::MediaPlayerPrivateGStreamer::audioDecodedByteCount):
166 (WebCore::MediaPlayerPrivateGStreamer::videoDecodedByteCount):
167 (WebCore::MediaPlayerPrivateGStreamer::updateAudioSink):
168 (WebCore::MediaPlayerPrivateGStreamer::updateStates):
169 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
170 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
172 2011-04-11 Philippe Normand <pnormand@igalia.com>
174 Reviewed by Martin Robinson.
176 [GStreamer] warnings in media/video-set-rate-from-pause.html
177 https://bugs.webkit.org/show_bug.cgi?id=58220
179 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
180 (WebCore::MediaPlayerPrivateGStreamer::setRate): Pause the
181 pipeline if new rate is zero, like advised in the GStreamer
182 documentation of gst_event_new_seek().
184 2011-04-11 Vangelis Kokkevis <vangelis@chromium.org>
186 Reviewed by James Robinson.
188 [chromium] Properly invalidate the contents of ImageLayerChromium's
189 when the actual image contents change.
190 https://bugs.webkit.org/show_bug.cgi?id=58181
192 Test: compositing/images/content-image-change.html
194 * platform/graphics/chromium/ContentLayerChromium.cpp:
195 (WebCore::ContentLayerChromium::updateTexture):
196 * platform/graphics/chromium/ImageLayerChromium.cpp:
197 (WebCore::ImageLayerChromium::ImageLayerChromium):
198 (WebCore::ImageLayerChromium::setContents):
199 (WebCore::ImageLayerChromium::paintContentsIfDirty):
200 * platform/graphics/chromium/ImageLayerChromium.h:
202 2011-04-11 Simon Fraser <simon.fraser@apple.com>
204 Reviewed by Dan Bernstein.
206 -webkit-box-shadow:inset does not animate transform as an inset shadow
207 https://bugs.webkit.org/show_bug.cgi?id=45176
210 1. Don't run transitions between different shadow styles (normal vs. inset).
211 2. When either source or destination is null, use a default shadow with a
212 matching style so that the transition runs.
214 Test: transitions/mismatched-shadow-styles.html
216 * page/animation/AnimationBase.cpp:
217 (WebCore::blendFunc):
218 (WebCore::PropertyWrapperShadow::blend):
220 2011-04-11 John Bates <jbates@google.com>
222 Reviewed by Kenneth Russell.
224 chromium support for glSetLatch and glWaitLatch between 3D contexts
225 https://bugs.webkit.org/show_bug.cgi?id=58003
227 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
228 (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
229 (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
230 (WebCore::Canvas2DLayerChromium::setLayerRenderer):
231 * platform/graphics/chromium/Canvas2DLayerChromium.h:
232 * platform/graphics/chromium/Extensions3DChromium.h:
233 * platform/graphics/chromium/GLES2Canvas.cpp:
234 (WebCore::Cubic::Cubic):
235 * platform/graphics/chromium/LayerRendererChromium.cpp:
236 (WebCore::LayerRendererChromium::LayerRendererChromium):
237 (WebCore::LayerRendererChromium::updateAndDrawLayers):
238 (WebCore::LayerRendererChromium::updateLayers):
239 (WebCore::LayerRendererChromium::addChildContext):
240 (WebCore::LayerRendererChromium::removeChildContext):
241 * platform/graphics/chromium/LayerRendererChromium.h:
242 * platform/graphics/chromium/WebGLLayerChromium.cpp:
243 (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
244 (WebCore::WebGLLayerChromium::updateCompositorResources):
245 (WebCore::WebGLLayerChromium::setContext):
246 (WebCore::WebGLLayerChromium::setLayerRenderer):
247 * platform/graphics/chromium/WebGLLayerChromium.h:
249 2011-04-11 Alexey Marinichev <amarinichev@chromium.org>
251 Reviewed by James Robinson.
253 LayerChromium/CCLayerImpl ownership fix
254 https://bugs.webkit.org/show_bug.cgi?id=58283
256 CCLayerImpl's m_owner field lifetime should match the lifetime of the
257 corresponding LayerChromium. This change moves resetting of m_owner
258 into LayerChromium's destructor.
260 Tested similarly to bug 57577.
262 * platform/graphics/chromium/LayerChromium.cpp:
263 (WebCore::LayerChromium::~LayerChromium):
264 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
265 (WebCore::CCLayerImpl::cleanupResources):
266 * platform/graphics/chromium/cc/CCLayerImpl.h:
267 (WebCore::CCLayerImpl::resetOwner):
269 2011-04-11 Daniel Bates <dbates@rim.com>
271 Attempt to fix the GTK build after changeset 83527 <http://trac.webkit.org/changeset/83527>
272 (https://bugs.webkit.org/show_bug.cgi?id=53556).
274 * GNUmakefile.list.am: Append files HTMLTrackElement.{h, cpp} to the list webcore_sources.
276 2011-04-11 Brady Eidson <beidson@apple.com>
278 Reviewed by Maciej Stachowiak.
280 <rdar://problem/9251515> and https://bugs.webkit.org/show_bug.cgi?id=58072
281 URLs accessed as a result of pushState/replaceState should count as "visited" and be in the global history
283 Test: fast/loader/stateobjects/state-url-sets-links-visited.html
285 * loader/HistoryController.cpp:
286 (WebCore::HistoryController::pushState): Notify the history client and add the visited link.
287 (WebCore::HistoryController::replaceState): Ditto.
289 2011-04-11 Dimitri Glazkov <dglazkov@chromium.org>
291 Reviewed by Eric Carlson.
293 Rename MediaControls to MediaControlRootElement.
294 https://bugs.webkit.org/show_bug.cgi?id=58250
296 Mechanical move using do-webcore-rename.
298 2011-04-11 Dean Jackson <dino@apple.com>
300 Reviewed by Simon Fraser.
302 https://bugs.webkit.org/show_bug.cgi?id=58285
303 CompositeAnimation is cleared while an AnimationBase is waiting for notification
305 Occasionally hardware animations would trigger a state where
306 they would tell the AnimationControllerPrivate that it should notify
307 any waiting animations that they are ready to start, even though
308 the RenderObject had gone away and hence the CompositeAnimation
309 had been destroyed. The fix is to zero the pointer from AnimationBase
310 when the CompositeAnimation destructor runs (or its animations are
311 cleared) and test the validity of the CompositeAnimation before it
312 is used in AnimationBase.
314 * page/animation/AnimationBase.cpp:
315 (WebCore::AnimationBase::updateStateMachine):
316 (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
317 (WebCore::AnimationBase::updatePlayState):
318 (WebCore::AnimationBase::freezeAtTime):
319 (WebCore::AnimationBase::beginAnimationUpdateTime):
320 - test that the CompositeAnimation exists
321 * page/animation/AnimationBase.h:
322 (WebCore::AnimationBase::clear):
323 - rename clearRenderer() to clear() as it now also clears the CompositeAnimation
324 * page/animation/CompositeAnimation.cpp:
325 (WebCore::CompositeAnimation::clearRenderer):
326 (WebCore::CompositeAnimation::updateKeyframeAnimations):
327 - call clear() rather than clearRenderer()
329 2011-04-11 Justin Novosad <junov@chromium.org>
331 Reviewed by Kenneth Russell.
333 [Chromium] Text anti-aliasing fails when rendering text with shadow
334 https://bugs.webkit.org/show_bug.cgi?id=57584
336 * platform/graphics/chromium/FontChromiumWin.cpp:
337 (WebCore::drawGlyphsWin): new static function, code factored-out
338 from WebCore::Font::drawGlyphs
339 (WebCore::Font::drawGlyphs): may separate font rendering into two
340 passes to allow foreground glyphs to be rendered with GDI when Skia
341 is required for rendering shadows
342 * platform/graphics/skia/SkiaFontWin.cpp:
343 (WebCore::windowsCanHandleDrawTextShadow):
344 Modified method so that it does not assume a shadow is present, and
345 returns true if there is no shadow (GDI can draw 'no shadow')
346 (WebCore::windowsCanHandleTextDrawing):
347 Factored out into sub methods so that the the shadow and foregound
348 glyph properties can be tested separately independently.
349 (WebCore::windowsCanHandleTextDrawingWithoutShadow):
350 New method returns true if the foreground glyph only has effect
351 that can be draw with GDI
352 (WebCore::paintSkiaText):
353 * platform/graphics/skia/SkiaFontWin.h:
355 2011-04-11 Ryosuke Niwa <rniwa@webkit.org>
357 Unreviewed, rolling out r83515.
358 http://trac.webkit.org/changeset/83515
359 https://bugs.webkit.org/show_bug.cgi?id=57178
361 Broke GTK builds. nextOnLineExists and prevOnLineExists are still used in AccessibilityObjectWrapperAtk.cpp.
363 * rendering/InlineBox.cpp:
364 (WebCore::InlineBox::nextOnLineExists):
365 (WebCore::InlineBox::prevOnLineExists):
366 * rendering/InlineBox.h:
367 (WebCore::InlineBox::InlineBox):
369 2011-04-11 Brady Eidson <beidson@apple.com>
371 Reverting, seeing something else still broken. Sorry.
373 * html/HTMLTrackElement.cpp:
375 2011-04-11 Brady Eidson <beidson@apple.com>
379 * html/HTMLTrackElement.cpp: Case-sensitive, please.
381 2011-04-11 Alexis Menard <alexis.menard@openbossa.org>
383 Unreviewed build fix for Mac.
385 An idl file was added in the wrong place.
387 * WebCore.xcodeproj/project.pbxproj:
389 2011-04-11 Chris Marrin <cmarrin@apple.com>
391 Rubberstamped by Dan Bernstein.
393 xhr.responseType = 'arraybuffer' works on Mac but not on Windows
394 https://bugs.webkit.org/show_bug.cgi?id=50334
396 Got rid of guards around arraybuffer logic in XHR. ArrayBuffer and friends
397 are always turned on now, so there's not need for the guard. I reenabled the
398 test that was Skipped on Windows and it works now.
400 * bindings/js/JSXMLHttpRequestCustom.cpp:
401 (WebCore::JSXMLHttpRequest::markChildren):
402 (WebCore::JSXMLHttpRequest::send):
403 (WebCore::JSXMLHttpRequest::response):
404 * xml/XMLHttpRequest.cpp:
405 (WebCore::XMLHttpRequest::responseArrayBuffer):
406 (WebCore::XMLHttpRequest::setResponseType):
407 (WebCore::XMLHttpRequest::send):
408 (WebCore::XMLHttpRequest::clearResponseBuffers):
409 (WebCore::XMLHttpRequest::didReceiveData):
410 * xml/XMLHttpRequest.h:
411 (WebCore::XMLHttpRequest::optionalResponseArrayBuffer):
413 2011-04-11 Anna Cavender <annacc@chromium.org>
415 Reviewed by Eric Carlson.
417 Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
418 https://bugs.webkit.org/show_bug.cgi?id=53556
420 No new tests. No real functionality added just yet.
423 * CodeGenerators.pri:
424 * Configurations/FeatureDefines.xcconfig:
425 * DerivedSources.make:
427 * GNUmakefile.list.am:
429 * WebCore.xcodeproj/project.pbxproj:
431 * html/HTMLAttributeNames.in:
432 * html/HTMLTagNames.in:
433 * html/HTMLTrackElement.cpp: Added.
434 (WebCore::HTMLTrackElement::HTMLTrackElement):
435 (WebCore::HTMLTrackElement::create):
436 (WebCore::HTMLTrackElement::insertedIntoTree):
437 (WebCore::HTMLTrackElement::willRemove):
438 (WebCore::HTMLTrackElement::src):
439 (WebCore::HTMLTrackElement::setSrc):
440 (WebCore::HTMLTrackElement::kind):
441 (WebCore::HTMLTrackElement::setKind):
442 (WebCore::HTMLTrackElement::srclang):
443 (WebCore::HTMLTrackElement::setSrclang):
444 (WebCore::HTMLTrackElement::label):
445 (WebCore::HTMLTrackElement::setLabel):
446 (WebCore::HTMLTrackElement::isDefault):
447 (WebCore::HTMLTrackElement::setIsDefault):
448 (WebCore::HTMLTrackElement::isURLAttribute):
449 * html/HTMLTrackElement.h: Added.
450 * html/HTMLTrackElement.idl: Added.
452 2011-04-11 Ben Taylor <bentaylor.solx86@gmail.com>
454 Reviewed by David Levin.
456 https://bugs.webkit.org/show_bug.cgi?id=57535
458 Better compile fix for Solaris 10/Sun Studio 12 CC
461 * loader/icon/IconRecord.h:
463 * platform/network/ResourceResponseBase.h:
465 2011-04-11 Alexey Proskuryakov <ap@apple.com>
467 Reviewed by Maciej Stachowiak.
469 WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut
470 https://bugs.webkit.org/show_bug.cgi?id=58265
471 <rdar://problem/9221468>
473 * page/EventHandler.cpp:
474 (WebCore::EventHandler::defaultKeyboardEventHandler): Handle Backspace.
475 (WebCore::EventHandler::defaultSpaceEventHandler): Enabled this on Mac, and added checks for
476 other modifiers - no one wants to scroll on Ctrl+Alt+Space and such.
477 (WebCore::EventHandler::defaultBackspaceEventHandler): Backspace goes back, Shift-backspace
478 goes forward. All browsers do it.
479 (WebCore::EventHandler::defaultArrowEventHandler): Assert that this function was called
481 (WebCore::EventHandler::defaultTabEventHandler): Ditto.
483 * page/EventHandler.h: Added defaultBackspaceEventHandler.
485 2011-04-11 Matthew Delaney <mdelaney@apple.com>
487 Reviewed by Dan Bernstein.
489 [CG] drawImage with a subimage bleeds pixel data at borders
490 https://bugs.webkit.org/show_bug.cgi?id=58267
492 Test: fast/canvas/DrawImageSinglePixelStretch.html
494 * platform/graphics/cg/ImageCG.cpp:
495 (WebCore::BitmapImage::draw): Any interpolation quality other than 'none' will graft out the subimage first now.
497 2011-04-11 Chris Marrin <cmarrin@apple.com>
499 Reviewed by Simon Fraser.
501 iframe/compositing propagation should also work for <object> and framesets
502 https://bugs.webkit.org/show_bug.cgi?id=39037
504 Generalized the code that handles the parenting of composited <iframe> elements
505 to include <frame> and <object> elements. This includes forcing the parent
506 element to be composited and constructing the layer tree in the child document
507 and properly parenting it. Much of the change is giving the function calls more
508 generic names (from ...IFrame... to ...Frame...)
510 Compositing tests that were done in RenderIFrame have been moved to RenderPart
511 since this is the highest base class common to all 3 elements.
513 I also renamed several ...IFrame... functions to
514 ...Frame... and changed them so they work on a RenderPart for determining
515 if the renderer is composited. One other detail is that <iframe> and
516 <object> never share style since they might be composited. I had to add
517 <frame> to that list.
519 Tests: compositing/framesets/composited-frame-alignment.html
520 compositing/objects/composited-object-alignment.html
522 * css/CSSStyleSelector.cpp: Add <frame> to list of element types that should never share style since it might be composited.
523 (WebCore::CSSStyleSelector::canShareStyleWithElement):
524 * page/FrameView.cpp:
525 (WebCore::FrameView::hasCompositedContentIncludingDescendants):
526 (WebCore::FrameView::setIsOverlapped):
527 * rendering/RenderIFrame.cpp: Moved methods to RenderPart
528 * rendering/RenderIFrame.h:
529 * rendering/RenderLayerBacking.cpp:
530 (WebCore::RenderLayerBacking::updateAfterWidgetResize):
531 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
532 (WebCore::RenderLayerBacking::paintingGoesToWindow):
533 * rendering/RenderLayerCompositor.cpp:
534 (WebCore::RenderLayerCompositor::updateBacking):
535 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
536 (WebCore::RenderLayerCompositor::frameContentsCompositor):
537 (WebCore::RenderLayerCompositor::parentFrameContentLayers):
538 (WebCore::RenderLayerCompositor::didMoveOnscreen):
539 (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames):
540 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
541 (WebCore::RenderLayerCompositor::enclosingFrameElement):
542 (WebCore::RenderLayerCompositor::requiresCompositingLayer):
543 (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
544 (WebCore::RenderLayerCompositor::requiresScrollLayer):
545 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
546 (WebCore::RenderLayerCompositor::attachRootPlatformLayer):
547 (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
548 * rendering/RenderLayerCompositor.h:
549 * rendering/RenderPart.cpp: Functions moved from RenderIFrame
550 (WebCore::RenderPart::requiresLayer):
551 (WebCore::RenderPart::requiresAcceleratedCompositing):
552 * rendering/RenderPart.h:
554 2011-04-11 Yael Aharon <yael.aharon@nokia.com>
556 Reviewed by Eric Seidel.
558 InlineBox::prevOnline and InlineBox::prevOnlineExists() are confusing and should be renamed
559 https://bugs.webkit.org/show_bug.cgi?id=57178
561 Remove prevOnLineExists() and nextOnLineExists() as they are not used anymore.
562 No new tests needed because this is cleanup only.
564 * rendering/InlineBox.cpp:
565 * rendering/InlineBox.h:
566 (WebCore::InlineBox::InlineBox):
567 (WebCore::InlineBox::setPrevOnLine):
569 2011-04-11 David Hyatt <hyatt@apple.com>
571 Reviewed by Dan Bernstein.
573 https://bugs.webkit.org/show_bug.cgi?id=58261
575 Fix for layout regression on marketwatch.com. When I converted TrailingFloatsRootInlineBox over
576 to the new overflow model, I messed up the math and passed a bottom value where I should have
577 passed a height value. This patch fixes the code to be logically equivalent to the way it
578 was prior to my changes.
580 Added fast/overflow/trailing-float-linebox.html.
582 * rendering/RenderBlockLineLayout.cpp:
583 (WebCore::RenderBlock::layoutInlineChildren):
585 2011-04-11 Adrienne Walker <enne@google.com>
587 Unreviewed, rolling out r83500.
588 http://trac.webkit.org/changeset/83500
589 https://bugs.webkit.org/show_bug.cgi?id=57113
591 Regresses huge-layer-rotated test
593 * platform/graphics/chromium/ContentLayerChromium.cpp:
594 (WebCore::ContentLayerChromium::ContentLayerChromium):
595 (WebCore::ContentLayerChromium::~ContentLayerChromium):
596 (WebCore::ContentLayerChromium::cleanupResources):
597 (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
598 (WebCore::ContentLayerChromium::paintContentsIfDirty):
599 (WebCore::ContentLayerChromium::resizeUploadBuffer):
600 (WebCore::ContentLayerChromium::updateTextureIfNeeded):
601 (WebCore::ContentLayerChromium::updateTexture):
602 (WebCore::ContentLayerChromium::draw):
603 (WebCore::ContentLayerChromium::updateCompositorResources):
604 (WebCore::ContentLayerChromium::unreserveContentsTexture):
605 (WebCore::ContentLayerChromium::bindContentsTexture):
606 (WebCore::ContentLayerChromium::dumpLayerProperties):
607 * platform/graphics/chromium/ContentLayerChromium.h:
608 (WebCore::ContentLayerChromium::drawsContent):
609 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
610 (WebCore::GraphicsLayerChromium::setMaskLayer):
611 * platform/graphics/chromium/ImageLayerChromium.cpp:
612 (WebCore::ImageLayerChromium::paintContentsIfDirty):
613 (WebCore::ImageLayerChromium::updateTextureIfNeeded):
614 * platform/graphics/chromium/ImageLayerChromium.h:
615 * platform/graphics/chromium/LayerChromium.h:
616 (WebCore::LayerChromium::draw):
617 * platform/graphics/chromium/LayerRendererChromium.cpp:
618 (WebCore::LayerRendererChromium::drawRootLayer):
619 (WebCore::LayerRendererChromium::drawLayers):
620 (WebCore::LayerRendererChromium::paintContentsRecursive):
621 (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
622 (WebCore::LayerRendererChromium::drawLayer):
623 (WebCore::LayerRendererChromium::initializeSharedObjects):
624 (WebCore::LayerRendererChromium::cleanupSharedObjects):
625 * platform/graphics/chromium/LayerRendererChromium.h:
626 (WebCore::LayerRendererChromium::contentLayerProgram):
627 * platform/graphics/chromium/LayerTilerChromium.cpp:
628 (WebCore::LayerTilerChromium::invalidateRect):
629 (WebCore::LayerTilerChromium::update):
630 (WebCore::LayerTilerChromium::updateFromPixels):
631 (WebCore::LayerTilerChromium::draw):
632 * platform/graphics/chromium/LayerTilerChromium.h:
633 * platform/graphics/chromium/PlatformCanvas.cpp:
634 (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
635 (WebCore::PlatformCanvas::Painter::Painter):
636 * platform/graphics/chromium/PlatformCanvas.h:
637 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
638 (WebCore::RenderSurfaceChromium::draw):
639 * platform/graphics/chromium/RenderSurfaceChromium.h:
640 * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
641 (WebCore::CCCanvasLayerImpl::draw):
642 * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
643 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
644 (WebCore::CCHeadsUpDisplay::draw):
645 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
646 (WebCore::CCLayerImpl::draw):
647 * platform/graphics/chromium/cc/CCLayerImpl.h:
648 * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
649 (WebCore::CCPluginLayerImpl::draw):
650 * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
651 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
652 (WebCore::CCVideoLayerImpl::draw):
653 * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
655 2011-04-11 Jon Honeycutt <jhoneycutt@apple.com>
657 <rdar://problem/9267042> Assertion failure on launch in
658 LayerChangesFlusher::setHook().
660 https://bugs.webkit.org/show_bug.cgi?id=58270
662 Reviewed by Adam Roben.
664 * platform/graphics/ca/win/LayerChangesFlusher.cpp:
665 (WebCore::LayerChangesFlusher::setHook):
666 MSDN says that the HINSTANCE passed in must be null if the thread ID
667 passed is a thread created by this process and the hook procedure is
670 2011-04-11 MORITA Hajime <morrita@google.com>
672 Unreviewed build fix.
674 Changeset 83492 broke Leopard build.
675 https://bugs.webkit.org/show_bug.cgi?id=58268
677 * editing/Editor.cpp:
678 (WebCore::Editor::markMisspellingsAfterTypingToWord):
680 2011-03-25 Adrienne Walker <enne@google.com>
682 Reviewed by James Robinson.
684 [chromium] Tile content and image layers
685 https://bugs.webkit.org/show_bug.cgi?id=57113
687 Layers tile by default if any dimension is larger than 512. Smaller
688 layers are contained within a single texture but still use the tiler
689 infrastructure so that there's only one code path.
691 Remove large layer support from content layers. Content layers no
692 longer own a platform canvas--they own a tiler. Refactor tiler to
693 allow for better separation of update/upload/paint. Add rect
694 parameter to update and draw functions on layers for the layer-space
695 rect of interest. This is necessary to know which tiles need to be
698 * platform/graphics/chromium/ContentLayerChromium.cpp:
699 (WebCore::ContentLayerChromium::ContentLayerChromium):
700 (WebCore::ContentLayerChromium::~ContentLayerChromium):
701 (WebCore::ContentLayerPainter::ContentLayerPainter):
702 (WebCore::ContentLayerPainter::paint):
703 (WebCore::ContentLayerChromium::paintContentsIfDirty):
704 (WebCore::ContentLayerChromium::setLayerRenderer):
705 (WebCore::ContentLayerChromium::tilingTransform):
706 (WebCore::ContentLayerChromium::visibleLayerRect):
707 (WebCore::ContentLayerChromium::layerBounds):
708 (WebCore::ContentLayerChromium::updateLayerSize):
709 (WebCore::ContentLayerChromium::draw):
710 (WebCore::ContentLayerChromium::createTilerIfNeeded):
711 (WebCore::ContentLayerChromium::updateCompositorResources):
712 (WebCore::ContentLayerChromium::setTilingOption):
713 (WebCore::ContentLayerChromium::bindContentsTexture):
714 (WebCore::ContentLayerChromium::unreserveContentsTexture):
715 (WebCore::ContentLayerChromium::setIsMask):
716 (WebCore::ContentLayerChromium::dumpLayerProperties):
717 * platform/graphics/chromium/ContentLayerChromium.h:
718 (WebCore::ContentLayerChromium::drawsContent):
719 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
720 (WebCore::GraphicsLayerChromium::setMaskLayer):
721 * platform/graphics/chromium/ImageLayerChromium.cpp:
722 (WebCore::ImageLayerChromium::paintContentsIfDirty):
723 (WebCore::ImageLayerChromium::updateCompositorResources):
724 (WebCore::ImageLayerChromium::layerBounds):
725 (WebCore::ImageLayerChromium::tilingTransform):
726 * platform/graphics/chromium/ImageLayerChromium.h:
727 * platform/graphics/chromium/LayerChromium.h:
728 (WebCore::LayerChromium::invalidateRect):
729 (WebCore::LayerChromium::paintContentsIfDirty):
730 (WebCore::LayerChromium::setIsMask):
731 (WebCore::LayerChromium::draw):
732 * platform/graphics/chromium/LayerRendererChromium.cpp:
733 (WebCore::LayerRendererChromium::drawRootLayer):
734 (WebCore::LayerRendererChromium::drawLayers):
735 (WebCore::LayerRendererChromium::paintContentsRecursive):
736 (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
737 (WebCore::LayerRendererChromium::drawLayer):
738 (WebCore::LayerRendererChromium::initializeSharedObjects):
739 (WebCore::LayerRendererChromium::cleanupSharedObjects):
740 * platform/graphics/chromium/LayerRendererChromium.h:
741 * platform/graphics/chromium/LayerTilerChromium.cpp:
742 (WebCore::LayerTilerChromium::getSingleTexture):
743 (WebCore::LayerTilerChromium::invalidateRect):
744 (WebCore::LayerTilerChromium::update):
745 (WebCore::LayerTilerChromium::uploadCanvas):
746 (WebCore::LayerTilerChromium::updateFromPixels):
747 (WebCore::LayerTilerChromium::draw):
748 (WebCore::LayerTilerChromium::unreserveTextures):
749 * platform/graphics/chromium/LayerTilerChromium.h:
750 (WebCore::LayerTilerChromium::setLayerRenderer):
751 (WebCore::LayerTilerChromium::skipsDraw):
752 * platform/graphics/chromium/PlatformCanvas.cpp:
753 (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
754 (WebCore::PlatformCanvas::Painter::Painter):
755 * platform/graphics/chromium/PlatformCanvas.h:
756 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
757 (WebCore::RenderSurfaceChromium::draw):
758 * platform/graphics/chromium/RenderSurfaceChromium.h:
759 * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
760 (WebCore::CCCanvasLayerImpl::draw):
761 * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
762 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
763 (WebCore::CCHeadsUpDisplay::draw):
764 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
765 (WebCore::CCLayerImpl::draw):
766 * platform/graphics/chromium/cc/CCLayerImpl.h:
767 * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
768 (WebCore::CCPluginLayerImpl::draw):
769 * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
770 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
771 (WebCore::CCVideoLayerImpl::draw):
772 * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
774 2011-04-11 Eric Carlson <eric.carlson@apple.com>
776 Reviewed by Simon Fraser.
778 Ignore context change callbacks when not on the main thread
779 https://bugs.webkit.org/show_bug.cgi?id=58256
780 <rdar://problem/9266090>
782 * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
783 (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Do nothing when not called
784 on the main thread. This should only happen when no changes have actually
785 been committed to the context, eg. when a video frame has been added to an image
786 queue, so return without triggering animations etc.
788 2011-04-11 Daniel Cheng <dcheng@chromium.org>
790 Reviewed by Dmitry Titov.
792 [chromium] Implement image/png support in DataTransferItems
793 https://bugs.webkit.org/show_bug.cgi?id=58106
795 This patch implements DataTransferItem::getAsFile() using Blobs. In
796 addition, plumbing for image/png has been added so image paste will be
797 supported as long as the renderer makes that data available.
799 Tests: editing/pasteboard/data-transfer-items-image-png.html
801 * dom/DataTransferItem.h:
802 * dom/DataTransferItem.idl:
803 * platform/chromium/ClipboardMimeTypes.cpp:
804 * platform/chromium/ClipboardMimeTypes.h:
805 * platform/chromium/DataTransferItemChromium.cpp:
806 (WebCore::DataTransferItemChromium::getAsString):
807 (WebCore::DataTransferItemChromium::getAsFile):
808 * platform/chromium/DataTransferItemChromium.h:
809 * platform/chromium/PlatformBridge.h:
811 2011-04-11 Mario Sanchez Prada <msanchez@igalia.com>
813 Reviewed by Chris Fleizach.
815 [Gtk] Implement support for Embedded Objects
816 https://bugs.webkit.org/show_bug.cgi?id=52148
818 Expose special OBJECT character for replaced elements, implementing
819 AtkText and AtkHyperlink when required.
821 * accessibility/AccessibilityRenderObject.cpp:
822 (WebCore::textIteratorBehaviorForTextRange): New helper function,
823 to return the right behavior, depending on the platform, so it
824 ensures that object replacement characters get emitted for GTK.
825 (WebCore::AccessibilityRenderObject::textUnderElement): Use the
826 new helper function textIteratorBehaviorForTextRange.
827 (WebCore::AccessibilityRenderObject::stringValue): Ditto.
828 (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
829 Consider replaced elements when calculating range length in GTK.
831 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
832 (textForRenderer): Ouput the 'object replacement character' for
834 (getSelectionOffsetsForObject): Consider replaced elements when
835 calculating range length in GTK.
836 (webkitAccessibleHypertextGetLink): Remove wrong extra check that
837 were causing only links to be considered.
838 (webkitAccessibleHypertextGetNLinks): Replace wrong 'isLink()'
839 check with the right one, by checking that the right ATK interface
840 is being implemented by the AtkObject.
841 (getInterfaceMaskFromObject): Implement the Hyperlink interface
842 both for links and replaced objects.
843 (objectAndOffsetUnignored): Consider replaced elements when
844 calculating range length in GTK.
846 * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
847 (getRangeLengthForObject): Ensure spaces are used for replaced
848 elements when calling to TextIterator::rangeLength().
850 * editing/TextIterator.h: New value in the TextIteratorBehavior
851 enumeration (TextIteratorEmitsObjectReplacementCharacters) and new
852 private variable to consider that new option internally.
853 * editing/TextIterator.cpp:
854 (WebCore::TextIterator::TextIterator): Initialize the new private
855 attribute m_emitsObjectReplacementCharacters in constructors.
856 (WebCore::TextIterator::handleReplacedElement): Emit the 'object
857 replacement character' when m_emitsObjectReplacementCharacters.
859 2011-04-11 Jia Pu <jpu@apple.com>
861 Reviewed by Adele Peterson.
863 Shouldn't carry out autocorrection when start typing a new word
864 https://bugs.webkit.org/show_bug.cgi?id=58241
865 <rdar://problem/9264736>
867 Tests: platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1.html
868 platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2.html
870 In TypingCommand::markMisspellingsAfterTyping(), we want to call Editor::markMisspellingsAfterTypingToWord()
871 only when the typing command is an insertion command, and preceding word contains at least one non-whitespace
874 * editing/Editor.cpp:
875 (WebCore::Editor::markMisspellingsAfterTypingToWord):
877 * editing/TypingCommand.cpp:
878 (WebCore::TypingCommand::markMisspellingsAfterTyping):
880 2011-04-11 Vsevolod Vlasov <vsevik@chromium.org>
882 Reviewed by Pavel Feldman.
884 PerformanceTiming returns inconsistent values when timing is null.
885 https://bugs.webkit.org/show_bug.cgi?id=58143
887 Made PerformanceTiming returned values consistent when there is no timing object.
889 * page/PerformanceTiming.cpp:
890 (WebCore::PerformanceTiming::domainLookupStart):
891 (WebCore::PerformanceTiming::domainLookupEnd):
892 (WebCore::PerformanceTiming::connectStart):
893 (WebCore::PerformanceTiming::connectEnd):
894 (WebCore::PerformanceTiming::requestStart):
895 (WebCore::PerformanceTiming::responseStart):
896 (WebCore::PerformanceTiming::domLoading):
898 2011-04-05 Stephen White <senorblanco@chromium.org>
900 Fix for jittering when animating a rotated image.
901 https://bugs.webkit.org/show_bug.cgi?id=50775
903 Make GraphicsContext::roundToDevicePixels a no-op on Chrome/Mac.
905 * platform/graphics/cg/GraphicsContextCG.cpp:
906 (WebCore::GraphicsContext::roundToDevicePixels):
908 2011-04-06 Xiaomei Ji <xji@chromium.org>
910 Reviewed by Ryosuke Niwa.
912 Continue experiment with moving caret by word in visual order.
913 https://bugs.webkit.org/show_bug.cgi?id=57806
915 This is the 2nd patch, which adds implementation when caret is inside box
916 (not at boundaries). If the word break is inside the same box and not at the boundaries
917 either, the word break will be returned. If need to search the adjacent boxes for word
918 breaks, then, only the cases implemented in bug 57336 work.
920 * editing/visible_units.cpp:
921 (WebCore::leftmostPositionInRTLBoxInLTRBlock):
922 (WebCore::rightmostPositionInLTRBoxInRTLBlock):
923 (WebCore::lastWordBreakInBox):
924 (WebCore::positionIsVisuallyOrderedInBoxInBlockWithDifferentDirectionality):
925 (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
926 (WebCore::WordBoundaryEntry::WordBoundaryEntry):
927 (WebCore::collectWordBreaksInBoxInsideBlockWithSameDirectionality):
928 (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
929 (WebCore::greatestValueUnder):
930 (WebCore::smallestOffsetAbove):
931 (WebCore::positionIsInsideBox):
932 (WebCore::positionBeforeNextWord):
933 (WebCore::positionAfterPreviousWord):
934 (WebCore::leftWordPosition):
935 (WebCore::rightWordPosition):
937 2011-04-11 Mario Sanchez Prada <msanchez@igalia.com>
939 Reviewed by Chris Fleizach.
941 [GTK] Unskip accessibility/input-slider.html and accessibility/media-element.html
942 https://bugs.webkit.org/show_bug.cgi?id=58040
944 Don't expose objects of role SliderThumbRoles in GTK.
946 * accessibility/AccessibilitySlider.cpp:
947 (WebCore::AccessibilitySlider::addChildren): Allow the platform
948 make a final decision before including children in the hierarchy.
949 (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
950 Implemented by relying on accessibilityPlatformIncludesObject().
952 * accessibility/gtk/AccessibilityObjectAtk.cpp:
953 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
954 Ignore accessibility objects with role SliderThumbRole.
956 2011-04-11 Simon Fraser <simon.fraser@apple.com>
958 Reviewed by Dan Bernstein.
960 Divide by zero in calcColumnWidth
961 https://bugs.webkit.org/show_bug.cgi?id=58230
963 Test: fast/multicol/huge-column-count.html
965 Make sure we have at least one column, to avoid divide by zero.
967 * rendering/RenderBlock.cpp:
968 (WebCore::RenderBlock::calcColumnWidth):
970 2011-04-09 Gavin Barraclough <barraclough@apple.com>
972 Reviewed by Sam Weinig.
974 Bug 58198 - Clean up JSValue implementation for JSVALUE64
976 JSNumberCell.h has been deprecated.
978 * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
979 * bindings/scripts/CodeGeneratorJS.pm:
980 * bridge/c/c_instance.cpp:
982 2011-04-11 Dan Bernstein <mitz@apple.com>
986 * html/canvas/CanvasRenderingContext2D.cpp:
987 (WebCore::CanvasRenderingContext2D::State::State):
989 2011-04-11 Antti Koivisto <antti@apple.com>
991 Reviewed by Tony Gentilcore.
993 Document source preload scanned repeatedly
994 https://bugs.webkit.org/show_bug.cgi?id=58123
996 Don't clear the preload scanner after execution resumes. This would lose the current
997 scanning point and lead to rescanning when the preload scanner would get reconstructed
998 due to main parser blocking again.
1000 Instead clear the scanner only in the specific case of receiving new data while the main
1001 parser has already reached the end of the current input.
1003 Also switched to using isWaitingForScripts() instead of m_treeBuilder->isPaused() for consistency.
1005 The case the clearing in resumeParsingAfterScriptExecution() was added for is covered by
1006 http/tests/loading/preload-slow-loading.php.
1008 * html/parser/HTMLDocumentParser.cpp:
1009 (WebCore::HTMLDocumentParser::insert):
1010 (WebCore::HTMLDocumentParser::append):
1011 (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
1013 2011-04-11 Dan Bernstein <mitz@apple.com>
1017 * html/canvas/CanvasRenderingContext2D.cpp:
1018 (WebCore::CanvasRenderingContext2D::State::State):
1020 2011-04-11 Dan Bernstein <mitz@apple.com>
1022 Reviewed by Alexey Proskuryakov.
1024 Assertion failure in CanvasRenderingContext2D::State::fontsNeedUpdate when invalidating the font cache after opening canvas/philip/tests/initial.reset.2dstate.html (occurs on Qt debug test bot)
1025 https://bugs.webkit.org/show_bug.cgi?id=58229
1027 * html/canvas/CanvasRenderingContext2D.cpp:
1028 (WebCore::CanvasRenderingContext2D::State::State): Added copy constructor, to register the copy with
1029 the font selector if needed.
1030 (WebCore::CanvasRenderingContext2D::State::operator=): Added assignment constructor, to handle
1031 registration with the font selector as needed.
1032 * html/canvas/CanvasRenderingContext2D.h:
1034 2011-04-11 Mario Sanchez Prada <msanchez@igalia.com>
1036 Reviewed by Chris Fleizach.
1038 [GTK] ARIA tables not exposing cells as HTML tables do
1039 https://bugs.webkit.org/show_bug.cgi?id=57463
1041 Expose cells for ARIA grids consistently with HTML tables in GTK,
1042 keeping the same behaviour for the other platforms.
1044 * accessibility/AccessibilityARIAGrid.cpp:
1045 (WebCore::AccessibilityARIAGrid::addChild): Add the row's children
1046 to the accessibility hierarchy when accessibility objects for rows
1047 are ignoring accessibility, otherwise add the row.
1048 (WebCore::AccessibilityARIAGrid::addChildren): Do not check at
1049 this point whether every child of the table ignores or not
1050 accessibility, letting addChild() make the proper decision later.
1052 * accessibility/AccessibilityARIAGridCell.cpp:
1053 (WebCore::AccessibilityARIAGridCell::parentTable): Consider that
1054 rows could be ignoring accessibility, hence the parent could be
1055 retrieved in the first call to parentObjectUnignored().
1056 (WebCore::AccessibilityARIAGridCell::rowIndexRange): Ditto.
1057 (WebCore::AccessibilityARIAGridCell::columnIndexRange): Ditto..
1059 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1060 (atkRole): Map ColumnHeader and RowHeader to ATK_ROLE_TABLE_CELL.
1062 2011-04-11 Sergio Villar Senin <svillar@igalia.com>
1064 Reviewed by Martin Robinson.
1066 [GTK] Fix make distcheck
1067 https://bugs.webkit.org/show_bug.cgi?id=58224
1069 Removed a file that is no longer in the source tree.
1071 * GNUmakefile.list.am:
1073 2011-04-11 Dimitri Glazkov <dglazkov@chromium.org>
1075 Reviewed by Martin Robinson.
1077 REGRESSION(r83397): Most GTK media controls are hidden when no valid source is specified
1078 https://bugs.webkit.org/show_bug.cgi?id=58204
1080 Covered by existing tests.
1082 * platform/gtk/RenderThemeGtk.h:
1083 (WebCore::RenderThemeGtk::hasOwnDisabledStateHandlingFor): Let GTK handle
1084 the the state of media controls.
1086 2011-04-11 Dimitri Glazkov <dglazkov@chromium.org>
1088 Remove obsolete comment, which was mistakenly landed in r83397.
1090 Though potentially a work of art, the comment lost its functional meaning a long time ago.
1092 * html/shadow/MediaControls.cpp:
1093 (WebCore::MediaControls::create): Removed comment.
1095 2011-04-05 Hans Wennborg <hans@chromium.org>
1097 Reviewed by Steve Block.
1099 IndexedDB: Introduce skeleton for LevelDB backend
1100 https://bugs.webkit.org/show_bug.cgi?id=57827
1102 No new tests: no new functionality (yet).
1104 * WebCore.gyp/WebCore.gyp:
1105 Add dependency on leveldb when ENABLE_LEVELDB=1 in feature_defines.
1108 * storage/IDBBackingStore.h:
1109 (WebCore::IDBBackingStore::ObjectStoreRecordIdentifier::~ObjectStoreRecordIdentifier):
1110 Introduce abstract type ObjectStoreRecordIdentifier. The SQLite
1111 backend uses integers to refer to a specific row in a table, but
1112 the LevelDB backend will use something else.
1113 * storage/IDBDatabaseBackendImpl.cpp:
1114 (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1115 (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
1116 (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
1117 (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
1118 Change functions to pass along the database id for operations that
1119 concern object stores. We want to be able to group object stores
1121 * storage/IDBFactoryBackendImpl.cpp:
1122 (WebCore::IDBFactoryBackendImpl::open):
1123 Decide which backend to use based on the backingStoreType
1125 * storage/IDBIndexBackendImpl.cpp:
1126 (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
1127 (WebCore::IDBIndexBackendImpl::openCursorInternal):
1128 (WebCore::IDBIndexBackendImpl::getInternal):
1129 (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
1130 * storage/IDBIndexBackendImpl.h:
1131 (WebCore::IDBIndexBackendImpl::create):
1132 Pass database and object store id to backend functions concerning
1134 * storage/IDBLevelDBBackingStore.cpp: Added.
1135 (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
1136 (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore):
1137 (WebCore::IDBLevelDBBackingStore::open):
1138 (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
1139 (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
1140 (WebCore::IDBLevelDBBackingStore::getObjectStores):
1141 (WebCore::IDBLevelDBBackingStore::createObjectStore):
1142 (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
1143 (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
1144 (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
1145 (WebCore::IDBLevelDBBackingStore::clearObjectStore):
1146 (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
1147 (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
1148 (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
1149 (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
1150 (WebCore::IDBLevelDBBackingStore::getIndexes):
1151 (WebCore::IDBLevelDBBackingStore::createIndex):
1152 (WebCore::IDBLevelDBBackingStore::deleteIndex):
1153 (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
1154 (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
1155 (WebCore::IDBLevelDBBackingStore::getObjectViaIndex):
1156 (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
1157 (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
1158 (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
1159 (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
1160 (WebCore::IDBLevelDBBackingStore::openIndexCursor):
1161 (WebCore::IDBLevelDBBackingStore::createTransaction):
1162 * storage/IDBLevelDBBackingStore.h: Added.
1163 Add an empty implementation of the LevelDB backend.
1164 * storage/IDBObjectStoreBackendImpl.cpp:
1165 Keep track of database id, use the new RecordIdentifier.
1166 (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
1167 (WebCore::IDBObjectStoreBackendImpl::getInternal):
1168 (WebCore::IDBObjectStoreBackendImpl::putInternal):
1169 (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
1170 (WebCore::IDBObjectStoreBackendImpl::clearInternal):
1171 (WebCore::populateIndex):
1172 (WebCore::IDBObjectStoreBackendImpl::createIndex):
1173 (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
1174 (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
1175 (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
1176 (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
1177 (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
1178 * storage/IDBObjectStoreBackendImpl.h:
1179 (WebCore::IDBObjectStoreBackendImpl::create):
1180 (WebCore::IDBObjectStoreBackendImpl::databaseId):
1181 * storage/IDBSQLiteBackingStore.cpp:
1182 (WebCore::IDBSQLiteBackingStore::open):
1183 (WebCore::IDBSQLiteBackingStore::createObjectStore):
1184 (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
1185 (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord):
1186 (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord):
1187 (WebCore::IDBSQLiteBackingStore::clearObjectStore):
1188 (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord):
1189 (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber):
1190 (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore):
1191 (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord):
1192 (WebCore::IDBSQLiteBackingStore::getIndexes):
1193 (WebCore::IDBSQLiteBackingStore::createIndex):
1194 (WebCore::IDBSQLiteBackingStore::deleteIndex):
1195 (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord):
1196 (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord):
1197 (WebCore::IDBSQLiteBackingStore::getObjectViaIndex):
1198 (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex):
1199 (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
1200 (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor):
1201 (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor):
1202 (WebCore::IDBSQLiteBackingStore::openIndexCursor):
1203 * storage/IDBSQLiteBackingStore.h:
1205 2011-04-11 Alexander Pavlov <apavlov@chromium.org>
1207 Reviewed by Yury Semikhatsky.
1209 Web Inspector: Duplicate CSS properties are reported for non-lowercase property names in the Styles sidebar
1210 https://bugs.webkit.org/show_bug.cgi?id=58226
1212 * inspector/InspectorStyleSheet.cpp:
1213 (WebCore::InspectorStyle::populateAllProperties):
1215 2011-04-07 Pavel Podivilov <podivilov@chromium.org>
1217 Reviewed by Pavel Feldman.
1219 Web Inspector: get rid of source frame delegates for resources panel.
1220 https://bugs.webkit.org/show_bug.cgi?id=58041
1222 Use TextViewer configured with a domain-specific delegate to show/edit resource contents in resources panel.
1224 * inspector/front-end/ResourceView.js:
1225 (WebInspector.ResourceView.createResourceView):
1226 (WebInspector.ResourceView.resourceViewTypeMatchesResource):
1227 (WebInspector.ResourceSourceFrame):
1228 (WebInspector.ResourceSourceFrame.prototype.get resource):
1229 (WebInspector.ResourceSourceFrame.prototype.contentEditable):
1230 (WebInspector.ResourceSourceFrame.prototype._requestContent):
1231 (WebInspector.CSSSourceFrame):
1232 (WebInspector.CSSSourceFrame.prototype.contentEditable):
1233 (WebInspector.CSSSourceFrame.prototype._editContent):
1234 (WebInspector.CSSSourceFrame.prototype._editContent.handleInfos):
1235 (WebInspector.CSSSourceFrame.prototype._saveStyleSheet):
1236 * inspector/front-end/SourceFrame.js:
1237 (WebInspector.SourceFrame.prototype._ensureContentLoaded):
1238 (WebInspector.SourceFrame.prototype._requestContent):
1239 (WebInspector.SourceFrame.prototype._handleSave):
1240 (WebInspector.SourceFrame.prototype._editContent):
1242 2011-04-11 Alexis Menard <alexis.menard@openbossa.org>
1244 Reviewed by Andreas Kling.
1246 [Qt] Regression : r83051 Oxygen's lineedits are not rendered properly
1247 https://bugs.webkit.org/show_bug.cgi?id=58076
1249 State_Sunken is more generic than pressed. It is used by items such as frames or
1250 line edits because they are "sunken" frames (e.g. QLineEdit). It can be required
1251 by some style like Oxygen. Therefore only in the mobile theme we check if the object
1254 * platform/qt/RenderThemeQt.cpp:
1255 (WebCore::RenderThemeQt::paintTextField):
1257 2011-04-11 Pavel Feldman <pfeldman@chromium.org>
1259 Reviewed by Yury Semikhatsky.
1261 Web Inspector: add support for optional output parameters.
1262 https://bugs.webkit.org/show_bug.cgi?id=58207
1264 Output parameters such as "redirectResponse" are optional, but
1265 do not allow specifying them as such.
1267 * inspector/CodeGeneratorInspector.pm:
1268 * inspector/Inspector.json:
1269 * inspector/InspectorResourceAgent.cpp:
1270 (WebCore::buildObjectForResourceResponse):
1271 (WebCore::buildObjectForCachedResource):
1272 * inspector/front-end/NetworkManager.js:
1273 (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
1274 * inspector/generate-inspector-idl:
1276 2011-04-11 Pavel Feldman <pfeldman@chromium.org>
1278 Reviewed by Yury Semikhatsky.
1280 Web Inspector: refactor / document call frames in debugger domain.
1281 https://bugs.webkit.org/show_bug.cgi?id=58187
1283 Note that we are not special casing with(element) and with(document) anymore
1284 and do not tell user that it is "Event target" and "Event document". Strictly speaking,
1285 we should not have done it for with(element) not necessarily being related to an event.
1287 * English.lproj/localizedStrings.js:
1288 * inspector/InjectedScriptSource.js:
1289 * inspector/Inspector.json:
1290 * inspector/front-end/ScopeChainSidebarPane.js:
1291 (WebInspector.ScopeChainSidebarPane.prototype.update):
1293 2011-04-10 ChangSeok Oh <shivamidow@gmail.com>
1295 Reviewed by Eric Seidel.
1297 Make correspondence of file name related with event to other port.
1298 https://bugs.webkit.org/show_bug.cgi?id=57416
1300 Some file names are changed to make correspondence naming rule.
1301 Keyboard, mouse and wheel event file names for GTK port have been different from other ports.
1302 This has made user hard to find a specific file related with event for GTK port.
1304 No test required. This patch just changes some file names.
1306 * GNUmakefile.list.am:
1307 * platform/gtk/KeyEventGtk.cpp: Removed.
1308 * platform/gtk/MouseEventGtk.cpp: Removed.
1309 * platform/gtk/PlatformKeyboardEventGtk.cpp: Added.
1310 * platform/gtk/PlatformMouseEventGtk.cpp: Added.
1311 * platform/gtk/PlatformWheelEventGtk.cpp: Added.
1312 * platform/gtk/WheelEventGtk.cpp: Removed.
1314 2011-04-10 Simon Fraser <simon.fraser@apple.com>
1316 Revert the FloatRect.cpp part of r83422, since
1317 clampToInteger() is broken for some inputs. I filed
1318 https://bugs.webkit.org/show_bug.cgi?id=58216
1320 * platform/graphics/FloatRect.cpp:
1321 (WebCore::safeFloatToInt):
1322 (WebCore::enclosingIntRect):
1324 2011-04-10 Simon Fraser <simon.fraser@apple.com>
1326 Reviewed by Maciej Stachowiak.
1328 Car model dropdowns at audiusa.com lay out incorrectly with compositing enabled
1329 https://bugs.webkit.org/show_bug.cgi?id=56660
1331 When overflow on an element changes, we need to inform compositing
1332 layers which create and position an "ancestor clipping" layer based
1333 on that overflow. Do this by triggering a rebuild of compositing layers
1334 when overflow changes on a layer whose stacking context has compositing
1335 descendants. (We can't just check whether the layer itself has compositing
1336 descendants, because overflow follows the render tree, but compositing
1337 follows the z-order tree.)
1339 Test: compositing/geometry/ancestor-overflow-change.html
1341 * rendering/RenderLayer.cpp:
1342 (WebCore::RenderLayer::styleChanged):
1343 * rendering/RenderLayer.h:
1344 * rendering/RenderLayerBacking.cpp:
1345 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1347 2011-04-10 Simon Fraser <simon.fraser@apple.com>
1349 Reviewed by Ariya Hidayat.
1351 Allow ShadowBlur to re-use the last buffer if it already contains the correct shadow
1352 https://bugs.webkit.org/show_bug.cgi?id=58161
1354 ShadowBlur already has a singleton scratch buffer that is re-used
1355 between shadows. Enhance use of this scratch buffer to avoid drawing
1356 and blurring the shadow if the results will match what is already
1359 Cleaned up ShadowBlur code to remove beginShadowLayer() and endShadowLayer(),
1360 which ended up with little reusable code after adding the re-use logic.
1362 * platform/graphics/FloatRect.cpp:
1363 (WebCore::enclosingIntRect): Replace safeFloatToInt() with the existing
1364 clampToInteger() from MathExtras.h
1366 * platform/graphics/FloatSize.h:
1367 (WebCore::expandedIntSize): New method to safely ceil() the size.
1369 * platform/graphics/RoundedIntRect.h:
1370 Add operator== for Radii and RoundedIntRect.
1372 * platform/graphics/ShadowBlur.cpp:
1373 (WebCore::ScratchBuffer::ScratchBuffer):
1374 (WebCore::ScratchBuffer::setLastShadowValues):
1375 (WebCore::ScratchBuffer::setLastInsetShadowValues):
1376 (WebCore::ScratchBuffer::matchesLastShadow):
1377 (WebCore::ScratchBuffer::matchesLastInsetShadow):
1378 (WebCore::ScratchBuffer::clearScratchBuffer):
1379 Have the scratch buffer remember what shadow parameters were used
1380 to render the buffer contents.
1382 (WebCore::ShadowBlur::drawShadowBuffer):
1383 Renamed from endShadowLayer(), and only contains the drawing
1386 (WebCore::ShadowBlur::drawRectShadow):
1387 Promote some code from beginShadowLayer().
1389 (WebCore::ShadowBlur::drawInsetShadow):
1390 Promote some code from beginShadowLayer().
1392 (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
1393 (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
1394 (WebCore::ShadowBlur::drawInsetShadowWithTiling):
1395 (WebCore::ShadowBlur::drawRectShadowWithTiling):
1396 These methods now check to see if the buffer already matches
1397 their required parameters, and avoid work if it does.
1399 (WebCore::ShadowBlur::blurShadowBuffer):
1400 Factored some code into this new method.
1402 (WebCore::ShadowBlur::blurAndColorShadowBuffer):
1405 * platform/graphics/ShadowBlur.h:
1407 2011-04-10 Geoffrey Garen <ggaren@apple.com>
1409 Build fix: Updated for file move.
1411 * bindings/js/GCController.cpp:
1412 * bindings/js/ScriptGCEvent.cpp:
1414 2011-04-10 Geoffrey Garen <ggaren@apple.com>
1416 Rubber-stamped by Beth Dakin.
1418 Moved Heap.h and Heap.cpp to the heap folder, because anything less
1419 would be uncivilized.
1421 * ForwardingHeaders/heap/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Heap.h.
1422 * ForwardingHeaders/runtime/Heap.h: Removed.
1424 2011-04-10 Luke Macpherson <macpherson@chromium.org>
1426 Reviewed by Simon Fraser.
1428 Rename CSSStyleApplyProperty::inherit,initial,value applyInheritValue,applyInitialValue,applyValue
1429 https://bugs.webkit.org/show_bug.cgi?id=58212
1431 No new tests - function renaming only / no functionality changes.
1433 * css/CSSStyleApplyProperty.cpp:
1434 Rename all instances of inherit, initial and value.
1435 * css/CSSStyleApplyProperty.h:
1436 Rename all instances of inherit, initial and value.
1437 * css/CSSStyleSelector.cpp:
1438 Rename all instances of inherit, initial and value.
1440 2011-04-10 Mike Lawther <mikelawther@chromium.org>
1442 Reviewed by Ojan Vafai.
1444 flex/bison tokens and grammar for CSS calc
1445 https://bugs.webkit.org/show_bug.cgi?id=54412
1447 Tests: css3/calc/calc-errors.html
1448 css3/calc/lexer-regression-57581-2.html
1449 css3/calc/lexer-regression-57581-3.html
1450 css3/calc/lexer-regression-57581.html
1451 css3/calc/minmax-errors.html
1452 css3/calc/nested-rounded-corners.html
1453 css3/calc/simple-calcs.html
1454 css3/calc/simple-minmax.html
1457 * css/CSSParserValues.cpp:
1458 (WebCore::CSSParserValueList::insertValueAt):
1459 (WebCore::CSSParserValueList::extend):
1460 * css/CSSParserValues.h:
1461 * css/tokenizer.flex:
1463 2011-04-10 Alice Boxhall <aboxhall@chromium.org>
1465 Reviewed by Ryosuke Niwa.
1467 Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult only.
1468 https://bugs.webkit.org/show_bug.cgi?id=57923
1470 Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult
1471 rather than a Node* and an IntPoint&, as the selection may actually not
1472 extend into the Node found by the HitTest.
1474 No new tests. Refactoring only.
1476 * page/EventHandler.cpp:
1477 (WebCore::EventHandler::handleMouseDraggedEvent):
1478 (WebCore::EventHandler::updateSelectionForMouseDrag):
1479 * page/EventHandler.h:
1481 2011-04-10 Kent Tamura <tkent@chromium.org>
1483 Unreviewed, rolling out r83353.
1484 http://trac.webkit.org/changeset/83353
1485 https://bugs.webkit.org/show_bug.cgi?id=58106
1487 The new test doesn't pass on all Chromium platforms.
1489 * dom/DataTransferItem.h:
1490 * dom/DataTransferItem.idl:
1491 * platform/chromium/ClipboardMimeTypes.cpp:
1492 * platform/chromium/ClipboardMimeTypes.h:
1493 * platform/chromium/DataTransferItemChromium.cpp:
1494 (WebCore::DataTransferItemChromium::getAsString):
1495 * platform/chromium/DataTransferItemChromium.h:
1496 * platform/chromium/PlatformBridge.h:
1498 2011-04-10 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1500 Reviewed by Eric Carlson.
1502 [EFL] Add seek forward / backward buttons to MediaControl UI.
1503 https://bugs.webkit.org/show_bug.cgi?id=56810
1505 Add seek forward / backward buttons to media control. And, change formType name
1508 * platform/efl/RenderThemeEfl.cpp:
1509 (WebCore::RenderThemeEfl::edjeGroupFromFormType):
1510 (WebCore::RenderThemeEfl::emitMediaButtonSignal):
1511 (WebCore::RenderThemeEfl::paintMediaMuteButton):
1512 (WebCore::RenderThemeEfl::paintMediaPlayButton):
1513 (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
1514 (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
1515 * platform/efl/RenderThemeEfl.h:
1517 2011-04-10 Chris Guillory <chris.guillory@google.com>
1519 Reviewed by Eric Seidel.
1521 Remove unused function declaration in PlatformContextSkia.h.
1522 https://bugs.webkit.org/show_bug.cgi?id=55983
1524 * platform/graphics/skia/PlatformContextSkia.h:
1526 2011-04-10 Patrick Gansterer <paroga@webkit.org>
1528 Unreviewed build fix for !ENABLE(XSLT) after r82562.
1530 * dom/XMLDocumentParserLibxml2.cpp:
1531 (WebCore::XMLDocumentParser::doEnd):
1533 2011-04-10 Patrick Gansterer <paroga@webkit.org>
1535 Unreviewed build fix for !ENABLE(XSLT) after r82562.
1537 * xml/XMLTreeViewer.cpp: Readded #if ENABLE(XSLT).
1539 2011-04-10 Dimitri Glazkov <dglazkov@chromium.org>
1541 Reviewed by Anders Carlsson.
1543 REGRESSION(r83256): Text-decoration bleeds into shadow DOM
1544 https://bugs.webkit.org/show_bug.cgi?id=58205
1546 Now that the shadow root is a never-styled element, we need to walk to
1547 parent to find out if we're inside of a shadow DOM subtree.
1549 Test: media/controls-styling.html
1551 * css/CSSStyleSelector.cpp:
1552 (WebCore::isAtShadowBoundary): Added helper function.
1553 (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to use the helper.
1555 2011-04-07 Dimitri Glazkov <dglazkov@chromium.org>
1557 Reviewed by Eric Carlson.
1559 [Meta] Convert HTMLMediaElement to use the new shadow DOM
1560 https://bugs.webkit.org/show_bug.cgi?id=53020
1562 This conversion is non-trivial, for several reasons:
1564 1) Since HTMLMediaElement now hosts the shadow DOM for controls, hiding
1565 and showing controls does not result in destroying and re-creating the
1566 shadow DOM tree. Instead, the tree is created as needed and shown/hidden
1567 using inline styles.
1569 2) Instead of detaching/attaching on each style change, the control parts
1570 are now using a set of higher fidelity callbacks that notify MediaControls
1571 about changes to which it should react. Each reaction results in hiding,
1572 showing, or changing the state of the control parts using inline styles
1575 3) Hiding and showing controls is accomplished using inline styles, rather
1576 than wiring rendererIsNeeded, because renderers are now re-created less
1579 4) Instead of constantly querying RenderTheme about visibility of a particular
1580 control part, we let the theme determine which parts are supported and
1581 which parts are visible in certain conditions.
1583 5) Custom hit-testing, event forwarding, and style updates are completely
1584 removed, since they are now unnecessary.
1586 6) Fading controls in/out is now done as CSS animation, since shadow DOM
1589 Test: manual-tests/media-controls.html
1591 2011-04-09 Dan Bernstein <mitz@apple.com>
1593 Reviewed by Beth Dakin.
1595 <rdar://problem/9215280> Detached canvas draws with incorrect font
1597 Test: fast/canvas/font-update.html
1599 The existing mechanism for updating the font in a canvas 2D context was lacking in at least
1600 two ways: it neglected to update fonts in all but the topmost state in the stack, and since it
1601 was based on HTMLCanvasElemen's attach() and recalcStyle(), it did not work when the element
1604 This change takes the responsibility for font updates away from the canvas element and gives it
1605 to the canvas context and its graphics state.
1607 * css/CSSFontSelector.cpp:
1608 (WebCore::CSSFontSelector::registerForInvalidationCallbacks): Added. Adds to the set of registered
1609 font selector clients.
1610 (WebCore::CSSFontSelector::unregisterForInvalidationCallbacks): Added. Removes from the set of
1611 registered font selector clients.
1612 (WebCore::CSSFontSelector::dispatchInvalidationCallbacks): Calls fontsNeedUpdate() on all registered
1613 clients and forces a style recalc on the document.
1614 (WebCore::CSSFontSelector::fontLoaded): Changed to call dispatchInvalidationCallbacks().
1615 (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
1616 * css/CSSFontSelector.h:
1617 * html/HTMLCanvasElement.cpp: Removed overrides of attach() and recalcStyle().
1618 * html/HTMLCanvasElement.h:
1619 * html/canvas/CanvasRenderingContext2D.cpp:
1620 (WebCore::CanvasRenderingContext2D::State::~State): Added. Unregisters with the font selector.
1621 (WebCore::CanvasRenderingContext2D::State::fontsNeedUpdate): Added. Called by the font selector
1622 when its fonts need to be updated. Updates the font.
1623 (WebCore::CanvasRenderingContext2D::setFont): Registers the state with the font selector.
1624 * html/canvas/CanvasRenderingContext2D.h:
1625 * platform/graphics/FontSelector.h:
1626 (WebCore::FontSelectorClient::~FontSelectorClient):
1628 2011-04-09 Geoffrey Garen <ggaren@apple.com>
1632 Try recommitting some things svn left out of my last commit.
1634 * bridge/qt/qt_runtime.h:
1636 2011-04-09 Geoffrey Garen <ggaren@apple.com>
1640 Try recommitting some things svn left out of my last commit.
1642 * ForwardingHeaders/collector: Removed.
1643 * ForwardingHeaders/collector/handles: Removed.
1644 * ForwardingHeaders/collector/handles/Global.h: Removed.
1646 2011-04-08 Dimitri Glazkov <dglazkov@chromium.org>
1648 Reviewed by Ojan Vafai.
1650 Implement proper handling of mouseover/mouseout events in regard to shadow DOM boundaries.
1651 https://bugs.webkit.org/show_bug.cgi?id=55515
1653 This implements XBL 2.0's specified handling of mouseover/mouseout events:
1654 http://dev.w3.org/2006/xbl2/Overview.html#the-mouseover-and-mouseout-events
1657 1) calculate lowest common ancestor between relatedTarget and target, and
1658 the nearest boundaries around them: the outer (common) boundary, and the
1659 inner (specific to relatedTarget) boundary. Then, we
1660 2) ensure that events only propagate up to the common boundary (or
1661 all the way if boundary is not found), while
1662 3) updating relatedTarget be the inner boundary.
1664 We also detect the most common case when no common boundary could exist
1665 and provide a fast path to short-circuit most of the boundary detection
1668 Test: fast/events/shadow-boundary-crossing.html
1670 * dom/EventDispatcher.cpp:
1671 (WebCore::EventDispatcher::adjustToShadowBoundaries): Added a helper to determine lowest
1672 common ancestor, the boundaries around it, and compute adjustments
1673 to relatedTarget and event target ancestor chain.
1674 (WebCore::ancestorsCrossShadowBoundaries): Added.
1675 (WebCore::EventDispatcher::adjustRelatedTarget): Changed to calculate
1676 inner/outer shadow DOM boundaries and adjust ancestors chain accordingly.
1677 (WebCore::EventDispatcher::EventDispatcher): Added flag initializer
1678 (WebCore::EventDispatcher::ensureEventAncestors): Renamed from getEventAncestors,
1679 converted to use initialization flag, rather than testing for empty.
1680 * dom/EventDispatcher.h: Adjusted decls.
1681 * dom/MouseEvent.cpp:
1682 (WebCore::MouseEventDispatchMediator::dispatchEvent): Changed to send event
1683 to adjustRelatedTarget.
1685 2011-04-08 Geoffrey Garen <ggaren@apple.com>
1687 Reviewed by Oliver Hunt.
1689 A few heap-related renames and file moves.
1691 WeakGCPtr<T> => Weak<T>
1692 Global<T> => Strong<T>
1694 collector/* => heap/*
1695 runtime/WeakGCPtr.h => heap/Weak.h
1697 (Eventually, even more files should move into the heap directory. Like
1698 Heap.h and Heap.cpp, for example.)
1701 * ForwardingHeaders/collector: Removed.
1702 * ForwardingHeaders/heap: Copied from ForwardingHeaders/collector.
1703 * ForwardingHeaders/heap/Strong.h: Copied from ForwardingHeaders/collector/handles/Global.h.
1704 * ForwardingHeaders/heap/Weak.h: Copied from ForwardingHeaders/runtime/WeakGCPtr.h.
1705 * ForwardingHeaders/runtime/WeakGCPtr.h: Removed.
1706 * WebCore.vcproj/WebCore.vcproj:
1707 * WebCore.vcproj/copyForwardingHeaders.cmd:
1708 * bindings/js/JSCallbackData.h:
1709 * bindings/js/JSCustomVoidCallback.h:
1710 * bindings/js/JSDOMWindowBase.h:
1711 * bindings/js/JSDOMWindowShell.cpp:
1712 (WebCore::JSDOMWindowShell::setWindow):
1713 * bindings/js/JSDataGridDataSource.h:
1714 * bindings/js/JSEventListener.h:
1715 * bindings/js/ScheduledAction.cpp:
1716 (WebCore::ScheduledAction::ScheduledAction):
1717 * bindings/js/ScheduledAction.h:
1718 * bindings/js/ScriptCachedFrameData.cpp:
1719 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1720 * bindings/js/ScriptCachedFrameData.h:
1721 * bindings/js/ScriptController.cpp:
1722 (WebCore::ScriptController::createWindowShell):
1723 * bindings/js/ScriptController.h:
1724 * bindings/js/ScriptObject.h:
1725 * bindings/js/ScriptState.h:
1726 * bindings/js/ScriptValue.cpp:
1727 * bindings/js/ScriptValue.h:
1728 * bindings/js/ScriptWrappable.h:
1729 * bindings/js/WorkerScriptController.cpp:
1730 (WebCore::WorkerScriptController::initScript):
1731 * bindings/js/WorkerScriptController.h:
1732 * bridge/jsc/BridgeJSC.h:
1733 * bridge/qt/qt_runtime.h:
1734 * bridge/runtime_root.h:
1735 * xml/XMLHttpRequest.cpp:
1737 2011-04-09 Keith Kyzivat <keith.kyzivat@nokia.com>
1739 Reviewed by Laszlo Gombos.
1741 [Qt] Don't link against fontconfig or X11 if embedded
1742 https://bugs.webkit.org/show_bug.cgi?id=58104
1744 No functional change so no new tests.
1746 * WebCore.pri: qpa=>embedded should be done very early so all cases of embedded are uniform.
1748 2011-04-09 Csaba Osztrogonác <ossy@webkit.org>
1750 [Qt] Unreviewed trivial fix after r83344.
1752 * WebCore.pro: Update HEADERS list.
1754 2011-04-09 Jon Lee <jonlee@apple.com>
1756 Reviewed by Beth Dakin.
1758 Overlay scrollbar flashes in scrollable <textarea> with each keystroke (58180)
1759 https://bugs.webkit.org/show_bug.cgi?id=58180
1760 <rdar://problem/9047984>
1762 * platform/mac/ScrollAnimatorMac.mm:
1763 (WebCore::ScrollAnimatorMac::immediateScrollToPoint): Check that there is a change before submitting
1764 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
1765 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
1767 2011-04-09 Sreeram Ramachandran <sreeram@google.com>
1769 Reviewed by Ryosuke Niwa.
1771 Gather data on modal dialogs shown during unload events
1772 https://bugs.webkit.org/show_bug.cgi?id=58115
1774 Add a new method to the ChromeClient API to allow clients to receive
1775 notifications of modal dialogs dispatched during page dismissal events.
1776 The new method has a default empty definition; only chromium overrides
1777 it to keep track of histograms.
1779 No tests because this is a no-op for all ports except chromium (and it's
1780 not clear how to test chromium histograms from webkit).
1783 (WebCore::isDuringPageDismissal):
1784 (WebCore::willRunModalDialog):
1785 (WebCore::Chrome::runJavaScriptAlert):
1786 (WebCore::Chrome::runJavaScriptConfirm):
1787 (WebCore::Chrome::runJavaScriptPrompt):
1788 (WebCore::Chrome::willRunModalHTMLDialog):
1790 * page/ChromeClient.h:
1791 (WebCore::ChromeClient::willRunModalDialogDuringPageDismissal):
1792 * page/DOMWindow.cpp:
1793 (WebCore::DOMWindow::showModalDialog):
1795 2011-04-08 David Humphrey <david.humphrey@senecac.on.ca>
1797 Reviewed by Eric Carlson.
1799 Fix call order of media element muted and play(), such that setting muted before play() works.
1800 https://bugs.webkit.org/show_bug.cgi?id=57673
1801 https://code.google.com/p/chromium/issues/detail?id=70777
1803 Manual test added: manual-tests/media-muted.html
1805 * html/HTMLMediaElement.cpp:
1806 (WebCore::HTMLMediaElement::updatePlayState):
1807 * manual-tests/media-muted.html: Added.
1809 2011-04-08 Nat Duca <nduca@chromium.org>
1811 Reviewed by David Levin.
1813 [chromium] Fix windows assertion on ~CCThread
1814 https://bugs.webkit.org/show_bug.cgi?id=58153
1816 Because ~CCThread uses waitForThreadCompletion,
1817 calling detachThread is not necessary.
1819 * platform/graphics/chromium/cc/CCThread.cpp:
1820 (WebCore::CCThread::runLoop):
1822 2011-04-08 Jian Li <jianli@chromium.org>
1824 Unreviewed, rolling out r83348.
1825 http://trac.webkit.org/changeset/83348
1826 https://bugs.webkit.org/show_bug.cgi?id=49508
1828 Breaks layout tests in QT, Win7 and Chromium.
1830 * rendering/RenderText.cpp:
1831 (WebCore::RenderText::localCaretRect):
1833 2011-04-08 MORITA Hajime <morrita@google.com>
1835 Reviewed by Simon Fraser.
1837 Negative spread should not make a sharp corner rounded
1838 https://bugs.webkit.org/show_bug.cgi?id=58162
1840 Handled inset shadow path for rounded and non-rounded rect
1841 differently as normal shadow path is doing.
1843 * rendering/RenderBoxModelObject.cpp:
1844 (WebCore::RenderBoxModelObject::paintBoxShadow):
1846 2011-04-07 Simon Fraser <simon.fraser@apple.com>
1848 Reviewed by Martin Robinson.
1850 REGRESSION (r77034-r77220): CSS box-shadow no longer renders on PowerPC
1851 https://bugs.webkit.org/show_bug.cgi?id=55180
1853 The endianness #ifdef in ShadowBlur was unnecessary and harmful. The
1854 data we get back from ImageBuffer::getImageData() do not vary in
1857 * platform/graphics/ShadowBlur.cpp:
1858 (WebCore::ShadowBlur::blurLayerImage):
1860 2011-04-08 Erik Arvidsson <arv@chromium.org>
1862 Reviewed by Dimitri Glazkov.
1864 IFrame is getting the focus even though it is hidden
1865 https://bugs.webkit.org/show_bug.cgi?id=55861
1867 Test: fast/dom/hidden-iframe-no-focus.html
1869 * html/HTMLFrameOwnerElement.cpp:
1870 (WebCore::HTMLFrameOwnerElement::isKeyboardFocusable):
1871 * html/HTMLFrameOwnerElement.h:
1873 2011-04-08 Jeff Timanus <twiz@chromium.org>
1875 Reviewed by Kenneth Russell.
1877 Fall back to software rendering for Canvas2D when requesting a DrawingBuffer larger than supported by the GL environment.
1878 https://bugs.webkit.org/show_bug.cgi?id=57768
1880 * html/canvas/CanvasRenderingContext2D.cpp:
1881 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1882 (WebCore::CanvasRenderingContext2D::reset):
1883 * platform/graphics/gpu/DrawingBuffer.cpp:
1884 (WebCore::DrawingBuffer::reset):
1885 * platform/graphics/gpu/DrawingBuffer.h:
1887 2011-04-08 Daniel Cheng <dcheng@chromium.org>
1889 Reviewed by Dmitry Titov.
1891 [chromium] Implement image/png support in DataTransferItems
1892 https://bugs.webkit.org/show_bug.cgi?id=58106
1894 This patch implements DataTransferItem::getAsFile() using Blobs. In
1895 addition, plumbing for image/png has been added so image paste will be
1896 supported as long as the renderer makes that data available.
1898 Tests: editing/pasteboard/data-transfer-items-image-png.html
1900 * dom/DataTransferItem.h:
1901 * dom/DataTransferItem.idl:
1902 * platform/chromium/ClipboardMimeTypes.cpp:
1903 * platform/chromium/ClipboardMimeTypes.h:
1904 * platform/chromium/DataTransferItemChromium.cpp:
1905 (WebCore::DataTransferItemChromium::getAsString):
1906 (WebCore::DataTransferItemChromium::getAsFile):
1907 * platform/chromium/DataTransferItemChromium.h:
1908 * platform/chromium/PlatformBridge.h:
1910 2011-04-08 MORITA Hajime <morrita@google.com>
1912 Unreviewed windows build fix.
1914 * editing/SpellingCorrectionController.h:
1915 (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
1917 2011-04-08 Enrica Casucci <enrica@apple.com>
1919 Reviewed by Maciej Stachowiak.
1921 Improve lifetime management of nodes in ReplaceNodeWithSpanCommand.
1922 https://bugs.webkit.org/show_bug.cgi?id=57595
1923 <rdar://problem/9222122>
1925 Test: editing/style/bold-with-dom-changes.html
1927 * editing/ReplaceNodeWithSpanCommand.cpp:
1928 (WebCore::swapInNodePreservingAttributesAndChildren):
1930 2011-04-07 Roland Steiner <rolandsteiner@chromium.org>
1932 Reviewed by Dimitri Glazkov.
1934 Bug 58060 - Prepare access to TreeScope from Node, using NodeRareData
1935 https://bugs.webkit.org/show_bug.cgi?id=58060
1937 Add a TreeScope pointer to NodeRareData to allow direct access to the containing tree scope.
1938 However, in case the containing scope is the document, this is not set, and the
1939 document pointer within Node is used instead.
1941 In an object derived from TreeScope (currently Document), the tree scope pointer
1942 points to itself. Such objects also contain a parent tree scope pointer that
1943 points to the containing scope. For Document, this is 0.
1945 Add new functions setTreeScope[Recursively] that replace setDocument[Recursively]
1946 in public usage. setDocument[Recursively] are now only used internally and are
1947 thererfore protected.
1949 No new tests. (no new functionality)
1951 * dom/ContainerNode.cpp: change DOM manipulation methods to update scope of inserted nodes
1952 (WebCore::ContainerNode::insertBefore):
1953 (WebCore::ContainerNode::replaceChild):
1954 (WebCore::ContainerNode::appendChild):
1956 (WebCore::Document::~Document):
1957 (WebCore::Document::setDocType): Ditto
1958 (WebCore::Document::adoptNode): Ditto
1961 (WebCore::Node::treeScope): use NodeRareData to check if a non-Document scope is set
1962 (WebCore::Node::setTreeScope): update NodeRareData depending on whether scope is a document
1963 (WebCore::Node::setTreeScopeRecursively):
1964 (WebCore::Node::setDocumentRecursively):
1966 * dom/NodeRareData.h: add scope pointer
1967 (WebCore::NodeRareData::NodeRareData):
1968 (WebCore::NodeRareData::treeScope):
1969 (WebCore::NodeRareData::setTreeScope):
1970 * dom/TreeScope.cpp: add parentTreeScope pointer
1971 (WebCore::TreeScope::TreeScope):
1972 (WebCore::TreeScope::setParentTreeScope):
1974 (WebCore::TreeScope::parentTreeScope):
1976 2011-04-08 Xiaomei Ji <xji@chromium.org>
1978 Reviewed by David Hyatt.
1980 Local caret rectangle calculation should be relative to its containing block.
1981 https://bugs.webkit.org/show_bug.cgi?id=49508.
1983 InlineBox and caret rectangle are positioned relative to its containing block.
1984 So its left and right edge value should be relative to its containing block as well.
1986 Test: fast/forms/cursor-at-editable-content-boundary.html
1988 * rendering/RenderText.cpp:
1989 (WebCore::RenderText::localCaretRect):
1991 2011-04-08 MORITA Hajime <morrita@google.com>
1993 Unreviewed build fix.
1995 * editing/Editor.cpp:
1996 (WebCore::Editor::markMisspellingsAfterTypingToWord):
1998 2011-04-08 David Hyatt <hyatt@apple.com>
2000 Reviewed by Simon Fraser.
2002 https://bugs.webkit.org/show_bug.cgi?id=57971
2004 Rework visited/unvisited links for before/after content. Propagate the bits earlier so that we don't lose
2005 them when we throw away the visited style. Don't throw away the visited link style for pseudo elements
2006 either, so that the styles are consistent.
2008 Added fast/history/visited-generated-content-test.html
2010 * css/CSSStyleSelector.cpp:
2011 (WebCore::CSSStyleSelector::styleForElement):
2012 (WebCore::CSSStyleSelector::pseudoStyleForElement):
2014 2011-04-06 MORITA Hajime <morrita@google.com>
2016 Reviewed by Darin Adler.
2018 [Refactoring] Auto correction panel should be handled by its own class.
2019 https://bugs.webkit.org/show_bug.cgi?id=55571
2021 Extracted code inside SUPPORT_AUTOCORRECTION_PANEL into
2022 SpellingCorrectionController class.
2023 This change also remove some SUPPORT_AUTOCORRECTION_PANEL guard if
2024 code paths inside the never reached without autocorrection support.
2025 Removing guards reduces unintentional build breakage.
2027 No new tests, no behavior chagne.
2033 * WebCore.vcproj/WebCore.vcproj:
2034 * WebCore.xcodeproj/project.pbxproj:
2035 * editing/CorrectionPanelInfo.h: Removed.
2036 * editing/EditingAllInOne.cpp:
2037 * editing/Editor.cpp:
2038 (WebCore::Editor::respondToChangedSelection):
2039 (WebCore::Editor::respondToChangedContents):
2040 (WebCore::Editor::appliedEditing):
2041 (WebCore::Editor::Editor):
2042 (WebCore::Editor::~Editor):
2043 (WebCore::Editor::insertTextWithoutSendingTextEvent):
2044 (WebCore::Editor::insertLineBreak):
2045 (WebCore::Editor::insertParagraphSeparator):
2046 (WebCore::Editor::cut):
2047 (WebCore::Editor::paste):
2048 (WebCore::Editor::pasteAsPlainText):
2049 (WebCore::Editor::isAutomaticSpellingCorrectionEnabled):
2050 (WebCore::Editor::markMisspellingsAfterTypingToWord):
2051 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
2052 (WebCore::Editor::changeBackToReplacedString):
2053 (WebCore::Editor::unappliedSpellCorrection):
2054 (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
2055 (WebCore::Editor::startCorrectionPanelTimer):
2056 (WebCore::Editor::handleCorrectionPanelResult):
2057 (WebCore::Editor::dismissCorrectionPanelAsIgnored):
2059 * editing/SpellingCorrectionCommand.cpp:
2060 * editing/SpellingCorrectionController.cpp: Added.
2061 (WebCore::markerTypesForAutocorrection):
2062 (WebCore::markerTypesForReplacement):
2063 (WebCore::markersHaveIdenticalDescription):
2064 (WebCore::SpellingCorrectionController::SpellingCorrectionController):
2065 (WebCore::SpellingCorrectionController::~SpellingCorrectionController):
2066 (WebCore::SpellingCorrectionController::startCorrectionPanelTimer):
2067 (WebCore::SpellingCorrectionController::stopCorrectionPanelTimer):
2068 (WebCore::SpellingCorrectionController::stopPendingCorrection):
2069 (WebCore::SpellingCorrectionController::applyPendingCorrection):
2070 (WebCore::SpellingCorrectionController::hasPendingCorrection):
2071 (WebCore::SpellingCorrectionController::isSpellingMarkerAllowed):
2072 (WebCore::SpellingCorrectionController::show):
2073 (WebCore::SpellingCorrectionController::handleCancelOperation):
2074 (WebCore::SpellingCorrectionController::dismiss):
2075 (WebCore::SpellingCorrectionController::dismissSoon):
2076 (WebCore::SpellingCorrectionController::applyCorrectionPanelInfo):
2077 (WebCore::SpellingCorrectionController::applyAutocorrectionBeforeTypingIfAppropriate):
2078 (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection):
2079 (WebCore::SpellingCorrectionController::correctionPanelTimerFired):
2080 (WebCore::SpellingCorrectionController::handleCorrectionPanelResult):
2081 (WebCore::SpellingCorrectionController::isAutomaticSpellingCorrectionEnabled):
2082 (WebCore::SpellingCorrectionController::windowRectForRange):
2083 (WebCore::SpellingCorrectionController::respondToChangedSelection):
2084 (WebCore::SpellingCorrectionController::respondToAppliedEditing):
2085 (WebCore::SpellingCorrectionController::client):
2086 (WebCore::SpellingCorrectionController::textChecker):
2087 (WebCore::SpellingCorrectionController::recordAutocorrectionResponseReversed):
2088 (WebCore::SpellingCorrectionController::markReversed):
2089 (WebCore::SpellingCorrectionController::markCorrection):
2090 (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
2091 * editing/SpellingCorrectionController.h: Added.
2092 (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
2093 (WebCore::SpellingCorrectionController::shouldStartTimeFor):
2094 (WebCore::SpellingCorrectionController::shouldRemoveMarkersUponEditing):
2095 * editing/TypingCommand.cpp:
2096 (WebCore::TypingCommand::insertText):
2097 (WebCore::TypingCommand::markMisspellingsAfterTyping):
2098 (WebCore::TypingCommand::deleteKeyPressed):
2099 (WebCore::TypingCommand::forwardDeleteKeyPressed):
2100 * editing/htmlediting.h:
2101 (WebCore::isAmbiguousBoundaryCharacter):
2102 * page/EditorClient.h:
2104 (WebCore::Frame::setPageAndTextZoomFactors):
2106 2011-04-08 Alpha Lam <hclam@chromium.org>
2108 Unreviewed, rolling out r83335.
2109 http://trac.webkit.org/changeset/83335
2110 https://bugs.webkit.org/show_bug.cgi?id=53556
2112 GTK and QT bots are broken
2115 * Configurations/FeatureDefines.xcconfig:
2116 * DerivedSources.make:
2119 * WebCore.xcodeproj/project.pbxproj:
2121 * html/HTMLAttributeNames.in:
2122 * html/HTMLTagNames.in:
2123 * html/HTMLTrackElement.cpp: Removed.
2124 * html/HTMLTrackElement.h: Removed.
2125 * html/HTMLTrackElement.idl: Removed.
2127 2011-04-08 Brady Eidson <beidson@apple.com>
2129 Reviewed by Adam Roben.
2131 https://bugs.webkit.org/show_bug.cgi?id=58155 and part of <rdar://problem/9251767>
2132 BitmapImage::getFirstCGImageRefOfSize fails if the frameCount hasn't been initialized from the image source.
2134 * platform/graphics/cg/ImageCG.cpp:
2135 (WebCore::BitmapImage::getFirstCGImageRefOfSize): Call frameCount() instead of accessing m_frames.size() to
2136 make sure the frames are properly tallied first.
2138 2011-04-08 Benjamin Poulain <benjamin.poulain@nokia.com>
2140 Reviewed by Andreas Kling.
2142 [Qt] Dragging and dropping an image in edit mode does not work
2143 https://bugs.webkit.org/show_bug.cgi?id=19385
2145 When adding an image to the clipboard, we should also include the HTML code of that image so
2146 it can be used for internal drag and drop.
2148 This HTML is expected by all clients of drop events so a fragment can be moved from one browser to
2149 another, or inside the same browser.
2151 * platform/qt/ClipboardQt.cpp:
2152 (WebCore::ClipboardQt::declareAndWriteDragImage):
2154 2011-04-07 Anna Cavender <annacc@chromium.org>
2156 Reviewed by Eric Carlson.
2158 Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
2159 https://bugs.webkit.org/show_bug.cgi?id=53556
2161 No new tests. No real functionality added just yet.
2164 * Configurations/FeatureDefines.xcconfig:
2165 * DerivedSources.make:
2168 * WebCore.xcodeproj/project.pbxproj:
2170 * html/HTMLAttributeNames.in:
2171 * html/HTMLTagNames.in:
2172 * html/HTMLTrackElement.cpp: Added.
2173 (WebCore::HTMLTrackElement::HTMLTrackElement):
2174 (WebCore::HTMLTrackElement::create):
2175 (WebCore::HTMLTrackElement::insertedIntoTree):
2176 (WebCore::HTMLTrackElement::willRemove):
2177 (WebCore::HTMLTrackElement::src):
2178 (WebCore::HTMLTrackElement::setSrc):
2179 (WebCore::HTMLTrackElement::kind):
2180 (WebCore::HTMLTrackElement::setKind):
2181 (WebCore::HTMLTrackElement::srclang):
2182 (WebCore::HTMLTrackElement::setSrclang):
2183 (WebCore::HTMLTrackElement::label):
2184 (WebCore::HTMLTrackElement::setLabel):
2185 (WebCore::HTMLTrackElement::isDefault):
2186 (WebCore::HTMLTrackElement::setIsDefault):
2187 (WebCore::HTMLTrackElement::isURLAttribute):
2188 * html/HTMLTrackElement.h: Added.
2189 * html/HTMLTrackElement.idl: Added.
2191 2011-04-07 Jer Noble <jer.noble@apple.com>
2193 Reviewed by Eric Carlson.
2195 Logic error in HTMLMediaElement::exitFullscreen()
2196 https://bugs.webkit.org/show_bug.cgi?id=58085
2198 The new full screen API case could fall through to the legacy API case
2199 unintentionally if a script calls exitFullscreen on an element which is
2200 not the current full screen element.
2202 * html/HTMLMediaElement.cpp:
2203 (WebCore::HTMLMediaElement::enterFullscreen):
2204 (WebCore::HTMLMediaElement::exitFullscreen):
2206 2011-04-08 Mike Reed <reed@google.com>
2208 Reviewed by Eric Seidel.
2210 Replace SKIA_TEXT with isNativeFontRenderingAllowed() for print-preview to work
2211 https://bugs.webkit.org/show_bug.cgi?id=57782
2213 No new tests. This change only affects print-preview and build option SKIA_GPU
2215 * platform/graphics/skia/SkiaFontWin.cpp:
2216 (WebCore::paintSkiaText):
2218 2011-04-08 Ryosuke Niwa <rniwa@webkit.org>
2220 Reviewed by Tony Chang, Darin Adler, and Enrica Casucci.
2222 REGRESSION(r81887): Crash in SplitElement
2223 https://bugs.webkit.org/show_bug.cgi?id=57743
2225 The crash was caused by ReplaceSelectionCommand::doApply's calling splitElement with computeNodeAfterPosition
2226 even when the position was after the last node in it container. Since all we are doing here is to splitting tree
2227 up until the highest ancestor with isInlineNodeWithStyle, replaced the while loop by calls to splitTreeToNode
2228 and highestEnclosingNodeOfType.
2230 Also fixed a bug in splitTreeToNode not to check the difference in visible position when splitting the ancestor,
2231 which would have introduced unnecessary nodes when splitting tree and a bug in highestEnclosingNodeOfType that
2232 it incorrectly called deprecatedNode instead of containerNode.
2234 Test: editing/inserting/insert-images-in-pre-x-crash.html
2236 * editing/CompositeEditCommand.cpp:
2237 (WebCore::CompositeEditCommand::splitTreeToNode):
2238 * editing/ReplaceSelectionCommand.cpp:
2239 (WebCore::ReplaceSelectionCommand::doApply):
2240 * editing/htmlediting.cpp:
2241 (WebCore::highestEnclosingNodeOfType):
2243 2011-04-08 Antti Koivisto <antti@apple.com>
2245 Reviewed by Tony Gentilcore.
2247 Incoming source should be preload scanned when the parser is blocked
2248 https://bugs.webkit.org/show_bug.cgi?id=58117
2250 Scan the appended source if parser is blocked.
2252 Test: http/tests/loading/preload-append-scan.php
2254 * html/parser/HTMLDocumentParser.cpp:
2255 (WebCore::HTMLDocumentParser::append):
2257 2011-04-08 Martin Robinson <mrobinson@igalia.com>
2259 Reviewed by Xan Lopez.
2261 [GTK] Fix the WebKit2 build for older versions of GTK+
2262 https://bugs.webkit.org/show_bug.cgi?id=58095
2264 No new tests. This is just a build fix.
2266 * platform/gtk/GtkVersioning.c:
2267 (gdk_window_create_similar_surface): Reimplement this method for older versions of GDK.
2268 * platform/gtk/GtkVersioning.h: Add the new method to the header.
2270 2011-04-08 Misha Tyutyunik <michael.tyutyunik@nokia.com>
2272 Reviewed by Laszlo Gombos.
2274 [Qt] Plugin is not scrolled together with page content or jumping
2275 when content is rendered using cache (backing store).
2276 https://bugs.webkit.org/show_bug.cgi?id=56130
2278 This is a Symbian portion of the fix. For Linux it looks like
2279 it's enough to call set geometry which should be addressed in
2280 https://bugs.webkit.org/show_bug.cgi?id=57179
2282 No new tests required. This can be tested with manual tests from
2283 WebCore/manual-tests/qt and WebCore/manual-tests/plugins
2285 * plugins/symbian/PluginViewSymbian.cpp:
2286 (WebCore::PluginView::updatePluginWidget):
2288 2011-04-08 Abhishek Arya <inferno@chromium.org>
2290 Unreviewed. Remove accidental printf added in r83306.
2292 * page/EventHandler.cpp:
2293 (WebCore::EventHandler::sendContextMenuEvent):
2295 2011-04-08 Enrica Casucci <enrica@apple.com>
2297 Reviewed by Darin Adler.
2299 Dragging text in a WebKit2 window results in a copy instead of a move.
2300 https://bugs.webkit.org/show_bug.cgi?id=56772
2301 <rdar://problem/9165140>
2303 cleanupAfterSystemDrag cannot call dragEnd in WebKit2, since
2304 the call to startDrag is asynchronous.
2306 * page/mac/DragControllerMac.mm:
2307 (WebCore::DragController::cleanupAfterSystemDrag):
2309 2011-04-05 Dimitri Glazkov <dglazkov@chromium.org>
2311 Reviewed by Darin Adler.
2313 Move WheelEvent-dispatching logic into WheelEventDispatchMediator.
2314 https://bugs.webkit.org/show_bug.cgi?id=57642
2316 Covered by existing tests, no functional change.
2320 (WebCore::EventDispatchMediator::EventDispatchMediator): Added default
2322 (WebCore::EventDispatchMediator::event): Inlined.
2323 (WebCore::EventDispatchMediator::setEvent): Added.
2324 * dom/EventDispatcher.cpp: Removed dispatchWheelEvent.
2325 * dom/EventDispatcher.h: Updated decls.
2327 (WebCore::Node::dispatchWheelEvent): Changed to use the mediator and
2328 return a bool, like other dispatch event functions.
2329 * dom/Node.h: Changed decl.
2330 * dom/WheelEvent.cpp:
2331 (WebCore::granularity): Moved from EventDispatcher.
2332 (WebCore::WheelEventDispatchMediator::WheelEventDisatchMediator): Added.
2333 (WebCore::WheelEventDispatchMediator::event): Added.
2334 (WebCore::WheelEventDispatchMediator::dispatchEvent): Added.
2335 * dom/WheelEvent.h: Updated decls.
2336 * page/EventHandler.cpp:
2337 (WebCore::EventHandler::handleWheelEvent): Changed to receive and react
2338 to the return value.
2340 2011-04-08 Jessie Berlin <jberlin@apple.com>
2342 Windows build warning fix.
2344 * WebCore.vcproj/WebCore.vcproj:
2345 Since ShadowRoot.cpp is included in the DOMAllInOne.cpp file, it should be excluded from
2348 2011-04-07 Pavel Podivilov <podivilov@chromium.org>
2350 Reviewed by Pavel Feldman.
2352 Web Inspector: update breakpoints according to source frame decorations after live edit.
2353 https://bugs.webkit.org/show_bug.cgi?id=58029
2355 * inspector/front-end/DebuggerPresentationModel.js:
2356 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
2357 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
2358 (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent.didEditScriptSource):
2359 (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent):
2360 * inspector/front-end/SourceFile.js:
2361 (WebInspector.SourceFile.prototype.set content):
2362 * inspector/front-end/SourceFrame.js:
2363 (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
2364 (WebInspector.SourceFrame.prototype._handleSave):
2366 2011-04-08 Pavel Podivilov <podivilov@chromium.org>
2368 Reviewed by Pavel Feldman.
2370 Web Inspector: fix scripts concatenation in scripts panel.
2371 https://bugs.webkit.org/show_bug.cgi?id=58138
2373 When there is just one script starting at 0:0 it should not be surrounded by <script> framing.
2375 * inspector/front-end/SourceFile.js:
2376 (WebInspector.SourceFile.prototype._loadResourceContent):
2377 (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
2379 2011-04-08 Pavel Feldman <pfeldman@chromium.org>
2381 Reviewed by Yury Semikhatsky.
2383 Web Inspector: use "locations" for debugger scripts, "lineNumbers" for the UI elements.
2384 https://bugs.webkit.org/show_bug.cgi?id=58118
2386 This change reuses location for call frames in the protocol + structures script
2387 location <-> source lines interaction better. When we need UI columns, we will add
2388 them, but we should distinguish between script and UI terms on the type level, not naming.
2390 * English.lproj/localizedStrings.js:
2391 * bindings/v8/DebuggerScript.js:
2392 * inspector/InjectedScriptSource.js:
2393 * inspector/Inspector.json:
2394 * inspector/front-end/CallStackSidebarPane.js:
2395 (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLine):
2396 (WebInspector.CallStackSidebarPane.prototype.update):
2397 * inspector/front-end/DebuggerPresentationModel.js:
2398 (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestSourceMapping):
2399 (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage):
2400 (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
2401 (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
2402 (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
2403 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
2404 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
2405 (WebInspector.PresenationCallFrame):
2406 (WebInspector.PresenationCallFrame.prototype.sourceLine.didRequestSourceMapping):
2407 (WebInspector.PresenationCallFrame.prototype.sourceLine):
2408 * inspector/front-end/ScriptFormatter.js:
2409 (WebInspector.ScriptFormatter.locationToPosition):
2410 (WebInspector.ScriptFormatter.lineToPosition):
2411 * inspector/front-end/ScriptsPanel.js:
2412 (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
2413 (WebInspector.ScriptsPanel.prototype._debuggerPaused):
2414 (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
2415 (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
2416 (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2417 * inspector/front-end/SourceFile.js:
2418 (WebInspector.SourceMapping.prototype.scriptLocationToSourceLine):
2419 (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation):
2420 (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
2421 (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
2423 2011-04-08 Pavel Podivilov <podivilov@chromium.org>
2425 Reviewed by Pavel Feldman.
2427 Web Inspector: distinguish breakpoints set on de-obfuscated sources from breakponts set on original sources.
2428 https://bugs.webkit.org/show_bug.cgi?id=58133
2430 * inspector/front-end/DebuggerPresentationModel.js:
2431 (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
2432 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
2433 (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
2434 (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
2435 (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
2436 (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
2437 (WebInspector.DebuggerPresentationModel.prototype._reset):
2439 2011-04-07 Pavel Podivilov <podivilov@chromium.org>
2441 Reviewed by Pavel Feldman.
2443 Web Inspector: make SourceFrame TextViewer's delegate for editing operations.
2444 https://bugs.webkit.org/show_bug.cgi?id=58026
2446 This is the first step of decoupling TextViewer from SourceFrame.
2448 * inspector/front-end/SourceFrame.js:
2449 (WebInspector.SourceFrame):
2450 (WebInspector.SourceFrame.prototype.show):
2451 (WebInspector.SourceFrame.prototype.hide):
2452 (WebInspector.SourceFrame.prototype._ensureContentLoaded):
2453 (WebInspector.SourceFrame.prototype.contentEditable):
2454 (WebInspector.SourceFrame.prototype.startEditing):
2455 (WebInspector.SourceFrame.prototype.endEditing):
2456 (WebInspector.SourceFrame.prototype._createTextViewer):
2457 (WebInspector.SourceFrame.prototype._handleSave):
2458 (WebInspector.SourceFrame.prototype._handleRevertEditing):
2459 * inspector/front-end/TextViewer.js:
2460 (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
2461 (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
2462 (WebInspector.TextViewer.prototype._syncDecorationsForLine):
2463 (WebInspector.TextViewer.prototype._doubleClick):
2464 (WebInspector.TextViewerDelegate):
2465 (WebInspector.TextViewerDelegate.prototype.contentEditable):
2466 (WebInspector.TextViewerDelegate.prototype.startEditing):
2467 (WebInspector.TextViewerDelegate.prototype.endEditing):
2468 (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
2469 (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
2470 * inspector/front-end/inspector.html:
2472 2011-04-08 Leandro Gracia Gil <leandrogracia@chromium.org>
2474 Reviewed by Steve Block.
2476 Media Stream API: add the getUserMedia method and the Javascript bindings.
2477 https://bugs.webkit.org/show_bug.cgi?id=56586
2479 Add the getUserMedia method to the navigator and its new Javascript types.
2480 Current specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication
2482 Tests: fast/dom/MediaStream/argument-types.html
2483 fast/dom/MediaStream/enabled.html
2484 fast/dom/MediaStream/no-interface-object.html
2486 * Android.derived.jscbindings.mk:
2487 * Android.derived.v8bindings.mk:
2488 * Android.v8bindings.mk:
2490 * CodeGenerators.pri:
2491 * DerivedSources.cpp:
2492 * DerivedSources.make:
2493 * GNUmakefile.list.am:
2496 * WebCore.vcproj/WebCore.vcproj:
2497 * WebCore.xcodeproj/project.pbxproj:
2498 * bindings/js/JSNavigatorCustom.cpp:
2499 (WebCore::JSNavigator::webkitGetUserMedia):
2500 * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
2501 (WebCore::V8Navigator::webkitGetUserMediaCallback):
2502 * page/Navigator.cpp:
2503 (WebCore::Navigator::webkitGetUserMedia):
2505 * page/Navigator.idl:
2506 * page/NavigatorUserMediaError.h: Added.
2507 (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
2508 (WebCore::NavigatorUserMediaError::~NavigatorUserMediaError):
2509 (WebCore::NavigatorUserMediaError::code):
2510 * page/NavigatorUserMediaError.idl: Added.
2511 * page/NavigatorUserMediaErrorCallback.h: Added.
2512 (WebCore::NavigatorUserMediaErrorCallback::~NavigatorUserMediaErrorCallback):
2513 * page/NavigatorUserMediaErrorCallback.idl: Added.
2514 * page/NavigatorUserMediaSuccessCallback.h: Added.
2515 (WebCore::NavigatorUserMediaSuccessCallback::~NavigatorUserMediaSuccessCallback):
2516 * page/NavigatorUserMediaSuccessCallback.idl: Added.
2518 2011-04-08 Mikhail Naganov <mnaganov@chromium.org>
2520 Reviewed by Pavel Feldman.
2522 Web Inspector: [Chromium] Add more tests for detailed heap snapshots UI.
2523 https://bugs.webkit.org/show_bug.cgi?id=58010
2524 https://bugs.webkit.org/show_bug.cgi?id=58011
2526 Added tests for "Containment" view. Minor refactorings, bugs fixed.
2527 Split one large tests into smaller ones to avoid timing out in debug mode.
2529 Tests: inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting.html
2530 inspector/profiler/detailed-heapshots-containment-show-all.html
2531 inspector/profiler/detailed-heapshots-containment-show-next.html
2532 inspector/profiler/detailed-heapshots-containment-sorting.html
2533 inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting.html
2534 inspector/profiler/detailed-heapshots-summary-show-all.html
2535 inspector/profiler/detailed-heapshots-summary-show-next.html
2536 inspector/profiler/detailed-heapshots-summary-sorting.html
2538 * inspector/front-end/DetailedHeapshotGridNodes.js:
2539 (WebInspector.HeapSnapshotGridNode):
2540 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
2541 (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
2542 (WebInspector.HeapSnapshotGridNode.prototype.sort):
2543 (WebInspector.HeapSnapshotGenericObjectNode):
2544 (WebInspector.HeapSnapshotObjectNode):
2545 (WebInspector.HeapSnapshotInstanceNode):
2546 (WebInspector.HeapSnapshotConstructorNode):
2547 (WebInspector.HeapSnapshotDiffNode):
2548 (WebInspector.HeapSnapshotDominatorObjectNode):
2549 * inspector/front-end/DetailedHeapshotView.js:
2550 (WebInspector.HeapSnapshotContainmentDataGrid):
2551 (WebInspector.HeapSnapshotDominatorsDataGrid):
2553 2011-04-08 Andrey Adaikin <aandrey@google.com>
2555 Reviewed by Pavel Feldman.
2557 Web Inspector: Bugs in some corner cases in the text editor
2558 https://bugs.webkit.org/show_bug.cgi?id=58025
2560 This solves the following bugs:
2561 1) The very last _empty_ line would not be deleted if you hit a Backspace on it, or the selection text to be deleted is extended to the very bottom of the editor.
2562 2) An odd corner case: delete all source code from the editor, hit backspace on the only empty line, then add a character. In this case the browser will insert a TEXT node instead of a DIV node for a lineRow.
2564 * inspector/front-end/TextViewer.js:
2565 (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2566 (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf):
2567 (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
2568 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2569 (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
2571 2011-04-07 Pavel Podivilov <podivilov@chromium.org>
2573 Reviewed by Pavel Feldman.
2575 Web Inspector: add test for script formatter worker.
2576 https://bugs.webkit.org/show_bug.cgi?id=57447
2578 Test: inspector/debugger/script-formatter.html
2581 * WebCore.xcodeproj/project.pbxproj:
2582 * gyp/streamline-inspector-source.sh:
2583 * inspector/front-end/DebuggerPresentationModel.js:
2584 (WebInspector.DebuggerPresentationModel.prototype._addScript):
2585 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
2586 (WebInspector.DebuggerPresentationModel.prototype._formatter):
2587 * inspector/front-end/ScriptFormatterWorker.js:
2589 2011-04-08 Andrey Adaikin <aandrey@google.com>
2591 Reviewed by Pavel Feldman.
2593 Web Inspector: Tweak dynamically constants for the async highlighting in text editor
2594 https://bugs.webkit.org/show_bug.cgi?id=58035
2596 * inspector/front-end/TextViewer.js:
2597 (WebInspector.TextEditorMainPanel.prototype._expandChunks):
2598 (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
2599 (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
2600 (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit):
2601 (WebInspector.TextEditorMainPanel.prototype._adjustPaintLinesOperationsRefreshValue):
2603 2011-04-08 Andrey Kosyakov <caseq@chromium.org>
2605 Reviewed by Yury Semikhatsky.
2607 Web Inspector: HAR compliance fixes
2608 https://bugs.webkit.org/show_bug.cgi?id=58124
2610 - Always provide some values for queryString and cookies, even though arrays may be empty
2611 - Always provide an empty cache object
2612 - Added entire HARLog to test
2613 - Workaround in test to avoid custom expectations (favicon.ico appears in log on certain platforms)
2615 * inspector/front-end/HAREntry.js:
2616 (WebInspector.HAREntry.prototype.build):
2617 (WebInspector.HAREntry.prototype._buildRequest):
2618 (WebInspector.HAREntry.prototype._buildResponse):
2620 2011-04-08 Adam Barth <abarth@webkit.org>
2622 Attempt to fix the Qt build.
2624 * css/CSSStyleApplyProperty.cpp:
2626 2011-04-07 Adam Barth <abarth@webkit.org>
2628 Reviewed by Eric Seidel.
2630 Refactor WebCore/GNUMakefile.am to separate list of files
2631 https://bugs.webkit.org/show_bug.cgi?id=58116
2633 This change is similar to the cooresponding to change to
2634 JavaScriptCore. We hope to generate GNUmakefile.list.am automatically
2638 * GNUmakefile.list.am: Added.
2640 2011-04-07 Geoffrey Garen <ggaren@apple.com>
2644 Rolled out some accidentally-committed changes in my last commit.
2646 * dom/EventTarget.cpp:
2647 (WebCore::EventTarget::addEventListener):
2648 (WebCore::EventTarget::removeEventListener):
2649 * dom/EventTarget.h:
2651 2011-04-07 Julien Chaffraix <jchaffraix@codeaurora.org>
2653 Reviewed by Alexey Proskuryakov.
2655 EventSource should only accept UTF-8 charset
2656 https://bugs.webkit.org/show_bug.cgi?id=56942
2658 Following the discussion on bug 45372, this change implements the recommended
2659 way of handling "charset". We only accept UTF-8 but no other encoding. This matches
2660 the encoding of the EventSource and also may fix TomCat that automatically send this
2663 * page/EventSource.cpp:
2664 (WebCore::EventSource::didReceiveResponse): We now check the charset attribute and if it is
2665 not UTF-8, abort the connection and log the error to the console. Also we log if the MIME type
2666 is wrong to the console to help debugging (only in the case of an HTTP 200 response though).
2668 2011-04-07 Geoffrey Garen <ggaren@apple.com>
2670 Reviewed by Maciej Stachowiak.
2672 Some Handle<T> cleanup
2673 https://bugs.webkit.org/show_bug.cgi?id=58109
2675 * bindings/js/ScriptValue.h:
2676 (WebCore::ScriptValue::ScriptValue): Updated for new null constructor.
2677 (WebCore::ScriptValue::hasNoValue): Updated for removal of isEmpty().
2679 2011-04-07 Dominic Cooney <dominicc@google.com>
2681 Reviewed by Dimitri Glazkov.
2683 Let shadow DOM have a list of nodes at the top level of a shadow.
2684 https://bugs.webkit.org/show_bug.cgi?id=57813
2686 Adds ShadowRoot, a list of nodes, to be a parent for top-level
2687 shadow children. Forwards rendering through the root and into the
2690 Covered by existing tests of elements that use this style of shadow.
2692 * Android.mk: add ShadowRoot.h/cpp
2698 * WebCore.vcproj/WebCore.vcproj:
2699 * WebCore.xcodeproj/project.pbxproj:
2700 * css/CSSStyleSelector.cpp:
2701 (WebCore::CSSStyleSelector::initForStyleResolve): proxy style to host
2702 * dom/ContainerNode.cpp: parent nodes that are shadow roots are alive
2703 (WebCore::ContainerNode::insertBefore):
2704 (WebCore::ContainerNode::replaceChild):
2705 (WebCore::ContainerNode::removeChild):
2706 (WebCore::ContainerNode::appendChild):
2707 * dom/DocumentFragment.cpp:
2708 (WebCore::DocumentFragment::DocumentFragment):
2709 * dom/DocumentFragment.h:
2711 (WebCore::Element::recalcStyle): look through ShadowRoots for host's style
2712 (WebCore::Element::shadowRoot): should be const
2713 (WebCore::Element::ensureShadowRoot): simpler than setShadowRoot
2715 * dom/ElementRareData.h:
2717 (WebCore::Node::parentNodeForRenderingAndStyle): indirection so
2718 ShadowRoot can forward to the host's renderer
2719 (WebCore::Node::createRendererAndStyle):
2720 (WebCore::Node::createRendererIfNeeded):
2722 (WebCore::Node::isShadowBoundary): temporary, to differentiate
2723 old- and new-style, until all roots are ShadowRoot instances
2724 * dom/ShadowRoot.cpp: Added.
2725 (WebCore::ShadowRoot::ShadowRoot):
2726 (WebCore::ShadowRoot::recalcStyle): forward recalc to children
2727 * dom/ShadowRoot.h: Added.
2728 (WebCore::ShadowRoot::isShadowBoundary):
2729 (WebCore::ShadowRoot::create):
2730 * html/HTMLKeygenElement.cpp: use ensureShadowRoot
2731 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2732 (WebCore::HTMLKeygenElement::parseMappedAttribute):
2733 (WebCore::HTMLKeygenElement::appendFormData):
2734 (WebCore::HTMLKeygenElement::reset):
2735 (WebCore::HTMLKeygenElement::shadowSelect):
2736 * html/HTMLKeygenElement.h:
2737 * html/HTMLMeterElement.cpp: use ensureShadowRoot
2738 (WebCore::HTMLMeterElement::createShadowSubtree):
2739 * html/HTMLProgressElement.cpp: use ensureShadowRoot
2740 (WebCore::HTMLProgressElement::createShadowSubtree):
2741 * html/InputType.cpp: use ensureShadowRoot
2742 (WebCore::InputType::destroyShadowSubtree):
2743 * html/RangeInputType.cpp: use ensureShadowRoot
2744 (WebCore::RangeInputType::handleMouseDownEvent):
2745 (WebCore::RangeInputType::createShadowSubtree):
2746 (WebCore::RangeInputType::valueChanged):
2747 (WebCore::RangeInputType::shadowSliderThumb):
2748 * html/RangeInputType.h:
2749 * html/ValidationMessage.cpp: use ensureShadowRoot
2750 (WebCore::ValidationMessage::buildBubbleTree):
2751 (WebCore::ValidationMessage::deleteBubbleTree):
2752 * html/shadow/SliderThumbElement.cpp:
2753 (WebCore::SliderThumbElement::setPositionFromPoint):
2754 (WebCore::SliderThumbElement::hostInput):
2755 * html/shadow/SliderThumbElement.h:
2756 * rendering/MediaControlElements.cpp: use ensureShadowRoot
2757 (WebCore::MediaControlInputElement::attach):
2758 (WebCore::MediaControlInputElement::updateStyle):
2759 * rendering/RenderSlider.cpp: use ensureShadowRoot
2760 (WebCore::RenderSlider::thumbRect):
2761 (WebCore::RenderSlider::layout):
2762 (WebCore::RenderSlider::shadowSliderThumb):
2763 (WebCore::RenderSlider::inDragMode):
2764 * rendering/RenderSlider.h:
2766 2011-04-07 Maciej Stachowiak <mjs@apple.com>
2768 Reviewed by Simon Fraser.
2770 REGRESSION (r80871): Crash when visiting http://broadband.biglobe.ne.jp/
2771 https://bugs.webkit.org/show_bug.cgi?id=56297
2772 <rdar://problem/9131597>
2774 Test: fast/css-generated-content/table-row-after-no-crash.html
2776 * rendering/RenderTableRow.cpp:
2777 (WebCore::RenderTableRow::styleDidChange): Factor out generation of before/after
2778 content, and only do it if the row already has a parent. For construction of
2779 anonymous cells to work correctly, the row needs to already have a parent, so
2780 in that case wait a bit.
2781 (WebCore::RenderTableRow::updateBeforeAndAfterContent): Factored out to here.
2782 * rendering/RenderTableRow.h:
2783 * rendering/RenderTableSection.cpp:
2784 (WebCore::RenderTableSection::addChild): When adding a row, update its
2785 before/after content, in case it had any.
2787 2011-04-07 Beth Dakin <bdakin@apple.com>
2789 Reviewed by Simon Fraser.
2791 Probable fix for <rdar://problem/9251443> Crashing on exception: -
2792 [ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]: unrecognized
2793 selector sent to instance ADDRESS.
2795 Need to implement new delegate method.
2796 * platform/mac/ScrollAnimatorMac.mm:
2797 (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
2799 2011-04-07 Ian Henderson <ianh@apple.com>
2801 Reviewed by Simon Fraser.
2803 Optimize filling rounded rects that are actually ellipses
2804 https://bugs.webkit.org/show_bug.cgi?id=58098
2806 In CG, drawing an ellipse directly is faster than constructing and
2807 filling a rounded rect path. Detect when the given rounded rect is
2808 actually an ellipse and draw it directly in this case.
2810 * platform/graphics/cg/GraphicsContextCG.cpp:
2811 (WebCore::GraphicsContext::fillRoundedRect):
2813 2011-04-07 Ned Holbrook <nholbrook@apple.com>
2815 Reviewed by Dan Bernstein.
2817 CTLine objects should outlive their CTRuns
2818 https://bugs.webkit.org/show_bug.cgi?id=58063
2820 * platform/graphics/mac/ComplexTextController.h: Add m_coreTextLines, to be destroyed after m_complexTextRuns.
2821 * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
2822 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Moot m_coreTextRun.
2823 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Append line to m_coreTextLines.
2825 2011-04-07 Nat Duca <nduca@chromium.org>
2827 Reviewed by David Levin.
2829 [chromium] Compositor thread infrastructure
2830 https://bugs.webkit.org/show_bug.cgi?id=56131
2832 Introduce chrome compositor thread and related
2836 * platform/graphics/chromium/cc/CCMainThread.cpp: Added.
2837 (WebCore::CCMainThread::performTask):
2838 (WebCore::CCMainThread::postTask):
2839 * platform/graphics/chromium/cc/CCMainThread.h: Added.
2840 (WebCore::CCMainThread::Task::~Task):
2841 (WebCore::CCMainThread::Task::instance):
2842 (WebCore::CCMainThread::Task::Task):
2843 * platform/graphics/chromium/cc/CCMainThreadTask.h: Added.
2844 (WebCore::MainThreadTask0::create):
2845 (WebCore::MainThreadTask0::MainThreadTask0):
2846 (WebCore::MainThreadTask0::performTask):
2847 (WebCore::MainThreadTask1::create):
2848 (WebCore::MainThreadTask1::MainThreadTask1):
2849 (WebCore::MainThreadTask1::performTask):
2850 (WebCore::MainThreadTask2::create):
2851 (WebCore::MainThreadTask2::MainThreadTask2):
2852 (WebCore::MainThreadTask2::performTask):
2853 (WebCore::MainThreadTask3::create):
2854 (WebCore::MainThreadTask3::MainThreadTask3):
2855 (WebCore::MainThreadTask3::performTask):
2856 (WebCore::createMainThreadTask):
2857 * platform/graphics/chromium/cc/CCThread.cpp: Added.
2858 (WebCore::CCThread::create):
2859 (WebCore::CCThread::CCThread):
2860 (WebCore::CCThread::~CCThread):
2861 (WebCore::CCThread::postTask):
2862 (WebCore::CCThread::compositorThreadStart):
2863 (WebCore::CCThread::runLoop):
2864 * platform/graphics/chromium/cc/CCThread.h: Added.
2865 (WebCore::CCThread::Task::~Task):
2866 (WebCore::CCThread::Task::instance):
2867 (WebCore::CCThread::Task::Task):
2868 (WebCore::CCThread::threadID):
2869 (WebCore::CCCompletionEvent::CCCompletionEvent):
2870 (WebCore::CCCompletionEvent::~CCCompletionEvent):
2871 (WebCore::CCCompletionEvent::wait):
2872 (WebCore::CCCompletionEvent::signal):
2873 * platform/graphics/chromium/cc/CCThreadTask.h: Added.
2874 (WebCore::CCThreadTask0::create):
2875 (WebCore::CCThreadTask0::CCThreadTask0):
2876 (WebCore::CCThreadTask0::performTask):
2877 (WebCore::CCThreadTask1::create):
2878 (WebCore::CCThreadTask1::CCThreadTask1):
2879 (WebCore::CCThreadTask1::performTask):
2880 (WebCore::CCThreadTask2::create):
2881 (WebCore::CCThreadTask2::CCThreadTask2):
2882 (WebCore::CCThreadTask2::performTask):
2883 (WebCore::CCThreadTask3::create):
2884 (WebCore::CCThreadTask3::CCThreadTask3):
2885 (WebCore::CCThreadTask3::performTask):
2886 (WebCore::createCCThreadTask):
2888 2011-04-07 Ryosuke Niwa <rniwa@webkit.org>
2890 Reviewed by Eric Seidel.
2892 REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
2893 https://bugs.webkit.org/show_bug.cgi?id=57872
2895 r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
2896 because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.
2898 r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
2899 avoiding the tab span.
2901 Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
2902 Also reverted r46914 for the general code path because re-creating node hierarchy duplicates nodes when
2903 we're moving nodes after the paragraph separator. Instead, we now split the tree up until the start block
2904 before moving the nodes.
2906 Tests: editing/inserting/insert-paragraph-after-tab-span-and-text.html
2907 editing/inserting/insert-paragraph-separator-tab-span.html
2909 * editing/DeleteSelectionCommand.cpp:
2910 (WebCore::DeleteSelectionCommand::saveTypingStyleState): Since EditingStyle's constructor avoids a tab span,
2911 no longer calls positionBeforeTabSpan on the position passed to EditingStyle's constructor.
2912 * editing/EditingStyle.cpp:
2913 (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
2914 * editing/InsertParagraphSeparatorCommand.cpp:
2915 (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
2916 separator into a paragraph separator.
2917 * editing/htmlediting.cpp:
2918 (WebCore::positionOutsideTabSpan): Renamed from positionBeforeTabSpan. Also returns the position in the parent
2919 node after the tab span if the position was at the end of the tab span.
2920 * editing/htmlediting.h:
2922 2011-04-07 Jia Pu <jpu@apple.com>
2924 Reviewed by Darin Adler.
2926 [Mac] Editor::setComposition() should not trigger correction panel timer.
2927 https://bugs.webkit.org/show_bug.cgi?id=58049
2928 <rdar://problem/9226305>
2930 On Mac OS X that supports autocorrection panel, typing unconfirmed composition (i.e. unconfirmed Japanese or Chinese input)
2931 should not start autocorrection timer. We added a member variable, m_shouldPreventSpellChecking, to TypingCommand.
2932 When this value is true, markMisspellingsAfterTyping() will not be called in TypingCommand::typingAddedToOpenCommand().
2933 m_shouldPreventSpellChecking is set to true in the TypingCommand objects created by Editor::setComposition().
2935 No new tests. No deterministically reproducible test case. Patch is based on static code analysis. Testing this also requires firing
2936 autocorrection panel timer, which can not be easily done in automated fashion.
2938 * editing/Editor.cpp:
2939 (WebCore::Editor::deleteWithDirection):
2940 (WebCore::Editor::insertTextWithoutSendingTextEvent):
2941 (WebCore::Editor::confirmComposition):
2942 (WebCore::Editor::setComposition):
2943 * editing/EditorCommand.cpp:
2944 (WebCore::executeDelete):
2945 * editing/TypingCommand.cpp:
2946 (WebCore::TypingCommand::TypingCommand):
2947 (WebCore::TypingCommand::deleteSelection):
2948 (WebCore::TypingCommand::deleteKeyPressed):
2949 (WebCore::TypingCommand::forwardDeleteKeyPressed):
2950 (WebCore::TypingCommand::insertText):
2951 (WebCore::TypingCommand::insertLineBreak):
2952 (WebCore::TypingCommand::insertParagraphSeparator):
2953 (WebCore::TypingCommand::typingAddedToOpenCommand):
2954 * editing/TypingCommand.h:
2955 (WebCore::TypingCommand::create):
2956 (WebCore::TypingCommand::setShouldPreventSpellChecking):
2958 2011-04-07 John Bauman <jbauman@chromium.org>
2960 Reviewed by Kenneth Russell.
2962 clearIfComposited call is really slow
2963 https://bugs.webkit.org/show_bug.cgi?id=57999
2965 Move getContextAttributes call after the if, so it isn't called nearly as often.
2969 * html/canvas/WebGLRenderingContext.cpp:
2970 (WebCore::WebGLRenderingContext::clearIfComposited):
2972 2011-04-07 Luke Macpherson <macpherson@chromium.org>
2974 Reviewed by Dimitri Glazkov.
2976 Implement Backgroun and Mask properties in CSSStyleApplyProperty
2977 https://bugs.webkit.org/show_bug.cgi?id=57922
2979 No tests added as no behavioral changes.
2981 * css/CSSStyleApplyProperty.cpp:
2982 Added ApplyPropertyFillLayer test to handle Background and Mask CSS Properties.
2983 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2984 Added constructor calls to set up:
2985 CSSPropertyBackgroundAttachment
2986 CSSPropertyBackgroundClip
2987 CSSPropertyWebkitBackgroundClip
2988 CSSPropertyWebkitBackgroundComposite
2989 CSSPropertyBackgroundOrigin
2990 CSSPropertyWebkitBackgroundOrigin
2991 CSSPropertyBackgroundSize
2992 CSSPropertyWebkitBackgroundSize
2993 CSSPropertyWebkitMaskAttachment
2994 CSSPropertyWebkitMaskClip
2995 CSSPropertyWebkitMaskComposite
2996 CSSPropertyWebkitMaskOrigin
2997 CSSPropertyWebkitMaskSize
2998 * css/CSSStyleApplyProperty.h:
2999 (WebCore::CSSStyleApplyProperty::setPropertyValue):
3000 Add function to specify an equivalent property value in the lookup table.
3001 * css/CSSStyleSelector.cpp:
3002 (WebCore::CSSStyleSelector::applyProperty):
3003 Remove sections now implemented by CSSStyleApplyProperty.
3004 * css/CSSStyleSelector.h:
3005 Make CSSStyleApplyProperty a friend class so that the mapFill* functions are accessible.
3007 2011-04-04 Eric Seidel <eric@webkit.org>
3009 Reviewed by Ryosuke Niwa.
3011 Split run storage out from BidiResolver into a new BidiRunList class
3012 https://bugs.webkit.org/show_bug.cgi?id=57764
3014 Part of what makes BidiResolver and InlineIterator so difficult to understand
3015 (and bug 50912 so difficult to fix) is that BidiResolver is both a state machine
3016 for the Unicode Bidi Algorithm (UBA) as well as storage for the resulting
3017 BidiRuns from the algorithm. This patch breaks the storage aspect off
3018 into its own class BidiRunList.
3020 This patch is only a start. It does not actually fix the problematic ownership
3021 relationship, but it does make it possible to fix such in a second patch.
3023 The run pointers and addRun/prependRun, etc. were already a tightly coupled
3024 logical subset of the BidiResolver class, so moving them into their own class
3025 was both obvious and easy. The only piece of logic I had to move was that
3026 deleteRuns() had a side-effect of setting the m_emptyRun bit on the resolver.
3028 I believe this deleteRuns side-effect was only ever used for one place
3029 (right after findNextLineBreak) and that it's only needed because
3030 findNextLineBreak can sometimes create bidi runs. Run creation appears to be
3031 an unintentional side-effect of how InlineIterator calls through to BidiResolver
3032 as part of bidiNext and not a desired effect of the code. I have added the call
3033 to markCurrentRunEmpty to both places deleteRuns was called (where the resolver
3034 could get re-used) as a safety precaution. We could replace both with ASSERTs
3037 I suspect there may be a small performance win from further refactoring so that
3038 findNextLineBreak does not need to create BidiRuns.
3040 As I commented in the code, callers should own their own BidiRunList which they
3041 pass to BidiResolver::createBidiRunsForLine. I attempted to implement that in
3042 an earlier version of this patch, but it was too complicated with the current
3043 twisted dependencies between InlineIterator/bidiNext and InlineBidiResolver.
3044 raise/lowerExplicitEmbeddingLevel are called unconditionally
3045 from commitExplicitEmbedding (which is called by bidiNext) and expect to have
3046 access to a runs list even in cases where we don't want any runs (findNextLineBreak).
3048 I also cleaned up some of the callers to pass around BidiRunList objects instead
3049 of InlineBidiResolvers now that they're separate objects.
3054 * WebCore.vcproj/WebCore.vcproj:
3055 * WebCore.xcodeproj/project.pbxproj:
3056 * platform/graphics/GraphicsContext.cpp:
3057 (WebCore::GraphicsContext::drawBidiText):
3058 * platform/text/BidiResolver.h:
3059 (WebCore::BidiResolver::BidiResolver):
3060 (WebCore::BidiResolver::runs):
3061 (WebCore::BidiResolver::markCurrentRunEmpty):
3062 (WebCore::::appendRun):
3063 (WebCore::::lowerExplicitEmbeddingLevel):
3064 (WebCore::::raiseExplicitEmbeddingLevel):
3065 (WebCore::::reorderRunsFromLevels):
3066 (WebCore::::createBidiRunsForLine):
3067 * rendering/InlineIterator.h:
3068 (WebCore::InlineBidiResolver::appendRun):
3069 * rendering/RenderBlock.h:
3070 * rendering/RenderBlockLineLayout.cpp:
3071 (WebCore::createRun):
3072 (WebCore::RenderBlock::appendRunsForObject):
3073 (WebCore::reachedEndOfTextRenderer):
3074 (WebCore::RenderBlock::handleTrailingSpaces):
3075 (WebCore::RenderBlock::layoutInlineChildren):
3077 2011-04-07 Naoki Takano <takano.naoki@gmail.com>
3079 Reviewed by Adam Barth.
3081 [Chromium] Fix relocation problem of popup window which introduces autofill popup sometimes moves to screen's top left corner.
3082 https://bugs.webkit.org/show_bug.cgi?id=57911
3083 http://code.google.com/p/chromium/issues/detail?id=78073
3085 Manual test added: manual-tests/autofill-popup-location.html
3087 Originally only height is checked so that it introduces the bug.
3088 So I changed it to check both width and height as size.
3090 * manual-tests/autofill-popup-location.html: Added.
3091 * platform/chromium/PopupMenuChromium.cpp:
3092 (WebCore::PopupContainer::refresh): Check window size between original and new before calling setFrameRect().
3094 2011-04-07 Adam Barth <abarth@webkit.org>
3096 Reviewed by Eric Seidel.
3098 Implement img-src style-src and font-src
3099 https://bugs.webkit.org/show_bug.cgi?id=58018
3101 These are pretty straight forward given the rest of the infrastructure
3104 Tests: http/tests/security/contentSecurityPolicy/image-allowed.html
3105 http/tests/security/contentSecurityPolicy/image-blocked.html
3106 http/tests/security/contentSecurityPolicy/style-allowed.html
3107 http/tests/security/contentSecurityPolicy/style-blocked.html
3108 http/tests/security/contentSecurityPolicy/xsl-allowed.php
3109 http/tests/security/contentSecurityPolicy/xsl-blocked.php
3111 * loader/cache/CachedResourceLoader.cpp:
3112 (WebCore::CachedResourceLoader::canRequest):
3113 * page/ContentSecurityPolicy.cpp:
3114 (WebCore::ContentSecurityPolicy::allowImageFromSource):
3115 (WebCore::ContentSecurityPolicy::allowStyleFromSource):
3116 (WebCore::ContentSecurityPolicy::allowFontFromSource):
3117 (WebCore::ContentSecurityPolicy::addDirective):
3118 * page/ContentSecurityPolicy.h:
3120 2011-04-07 David Levin <levin@chromium.org>
3122 Reviewed by Darin Adler.
3124 Make IconSnapshot and PageURLRecord member variables private.
3125 https://bugs.webkit.org/show_bug.cgi?id=58080
3127 No change in functionality so no new tests.
3129 * loader/icon/IconDatabase.cpp:
3130 (WebCore::IconDatabase::writeToDatabase): Changed to used the accessor functions.
3131 (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): Ditto.
3132 * loader/icon/IconRecord.h:
3133 (WebCore::IconSnapshot::IconSnapshot): Changed to use the new member variable names.
3134 (WebCore::IconSnapshot::iconURL): Expose the property.
3135 (WebCore::IconSnapshot::timestamp): Ditto.
3136 (WebCore::IconSnapshot::data): Ditto.
3137 * loader/icon/PageURLRecord.h:
3138 (WebCore::PageURLSnapshot::PageURLSnapshot): Changed to use the new member variable names.
3139 (WebCore::PageURLSnapshot::pageURL): Expose the property.
3140 (WebCore::PageURLSnapshot::iconURL): Ditto.
3142 2011-04-07 Dan Bernstein <mitz@apple.com>
3146 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3147 (WebCore::GraphicsContext::roundToDevicePixels):
3149 2011-04-07 Eric Seidel <eric@webkit.org>
3151 Reviewed by Adam Barth.
3153 Add stub support for generating Gtk build system from gyp
3154 https://bugs.webkit.org/show_bug.cgi?id=58086
3156 This does not produce a buildable WebCore, but it
3157 does allow running gyp/configure --port=gtk and having
3158 it generate a gtk.Makefile which we can use for testing
3159 the rest of the plumbing.
3161 * gyp/gtk.gyp: Added.
3163 2011-04-07 David Hyatt <hyatt@apple.com>
3165 Reviewed by Dan Bernstein.
3167 https://bugs.webkit.org/show_bug.cgi?id=57736
3169 Crash on openstreetmap.org while using the map. Fix a bad interaction between the positioned movement layout
3170 optimization and the simplified layout optimization that could lead to blocks remaining marked as dirty when
3171 layout finished. This would eventually lead to an inability to properly determine the correct layout root and
3172 would cause a deleted root to be used later on.
3174 Added fast/block/positioning/complex-positioned-movement.html.
3176 * page/FrameView.cpp:
3177 (WebCore::FrameView::scheduleRelayoutOfSubtree):
3178 Add asserts to catch cases in the future where a layout root is set that has a dirty containing block.
3180 * rendering/RenderBlock.cpp:
3181 (WebCore::RenderBlock::simplifiedLayout):
3182 Change simplified layout so that the positioned movement optimization no longer clears the other layout
3183 flags. This will ensure that we still lay out our descendants if they need it.
3185 (WebCore::RenderBlock::layoutPositionedObjects):
3186 Changed to clear our layout flags now if the positioned movement is successful, since tryLayoutDoingPositionedMovementOnly
3187 no longer does the clear.
3189 * rendering/RenderBox.h:
3190 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
3191 tryLayoutDoingPositionedMovementOnly now returns a boolean indicating success or failure. On success it no longer
3192 does setNeedsLayout(false), but instead will let the caller take care of it. This way the caller can still look at
3193 the other flags in case other kinds of layout are still needed.
3195 * rendering/RenderObject.h:
3196 (WebCore::RenderObject::setNeedsPositionedMovementLayout):
3197 (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
3198 Changed these methods to only set their respective flags and not to try to be clever about avoiding propagation.
3200 2011-04-07 Andrew Scherkus <scherkus@chromium.org>
3202 Revert ENABLE_TRACK patch due to compile failures.
3205 * Configurations/FeatureDefines.xcconfig:
3206 * DerivedSources.make:
3209 * WebCore.xcodeproj/project.pbxproj:
3211 * html/HTMLAttributeNames.in:
3212 * html/HTMLTagNames.in:
3213 * html/HTMLTrackElement.cpp: Removed.
3214 * html/HTMLTrackElement.h: Removed.
3215 * html/HTMLTrackElement.idl: Removed.
3217 2011-04-07 Dan Bernstein <mitz@apple.com>
3219 Reviewed by Simon Fraser.
3221 <rdar://problem/9018212> Underline thickness is not uniform under non-integral scale factor
3222 https://bugs.webkit.org/show_bug.cgi?id=58083
3224 Test: fast/text/decorations-transformed.html
3226 * platform/graphics/GraphicsContext.h: Added a RoundingMode enum with two values. RoundAllSides
3227 is the existing rounding mode, where each side of the rectangle snaps to the nearest pixel
3228 gridline. RoundOriginAndDimensions snaps the origin to the nearest pixel gridpoint and rounds
3229 the width and the height. In this new mode, translating a rectangle in user space never changes
3230 its dimensions in device pixels.
3231 * platform/graphics/cg/GraphicsContextCG.cpp:
3232 (WebCore::GraphicsContext::roundToDevicePixels): Implemented RoundOriginAndDimensions.
3233 (WebCore::GraphicsContext::drawLineForText): Use RoundOriginAndDimensions, thus ensuring that
3234 all underlines have the same thickness in device pixels.
3235 * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
3236 (WebCore::GraphicsContext::roundToDevicePixels): Added RoundingMode parameter, but did not implement it.
3237 * platform/graphics/qt/GraphicsContextQt.cpp:
3238 (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
3239 * platform/graphics/skia/GraphicsContextSkia.cpp:
3240 (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
3241 * platform/graphics/wince/GraphicsContextWinCE.cpp:
3242 (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
3243 * platform/graphics/wx/GraphicsContextWx.cpp:
3244 (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
3245 * rendering/InlineTextBox.cpp:
3246 (WebCore::InlineTextBox::paintDecoration):
3248 2011-04-06 Vitaly Repeshko <vitalyr@chromium.org>
3250 Reviewed by Nate Chapin.
3252 [V8] Remove custom DOMImplementation getter on Document.
3253 https://bugs.webkit.org/show_bug.cgi?id=57991
3255 The custom getter is no longer required because DOMImplementation
3256 objects are now created per document.
3258 Test: fast/dom/DOMImplementation/implementation-identity.html
3260 * bindings/scripts/CodeGeneratorV8.pm:
3261 * bindings/v8/custom/V8DocumentCustom.cpp:
3264 2011-04-07 Sergey Glazunov <serg.glazunov@gmail.com>
3266 Reviewed by Dimitri Glazkov.
3268 setHasID() is only called for styled elements
3269 https://bugs.webkit.org/show_bug.cgi?id=57267
3271 Test: fast/dom/non-styled-element-id-crash.html
3274 (WebCore::Element::attributeChanged):
3275 (WebCore::Element::idAttributeChanged):
3277 * dom/StyledElement.cpp:
3278 (WebCore::StyledElement::parseMappedAttribute):
3280 2011-04-07 Jer Noble <jer.noble@apple.com>
3282 Reviewed by Eric Carlson.
3284 HTMLVideoElement::webkitEnterFullscreen does not use new Full Screen API when available.
3285 https://bugs.webkit.org/show_bug.cgi?id=58070
3287 Make the HTMLMediaElement full screen functions call into the new Full Screen API when
3288 FULLSCREEN_API is enabled.
3290 * html/HTMLMediaElement.cpp:
3291 (WebCore::HTMLMediaElement::enterFullscreen):
3292 (WebCore::HTMLMediaElement::exitFullscreen):
3294 2011-04-07 Adam Barth <abarth@webkit.org>
3296 Reviewed by Eric Seidel.
3298 Implement CSP's options directive
3299 https://bugs.webkit.org/show_bug.cgi?id=58014
3301 This patch contains the full options parser, but we only have enough of
3302 CSP implemented to see the effects of disable-xss-protection. Will
3303 need to do some more work before we can see eval-script in action.
3305 Tests: http/tests/security/contentSecurityPolicy/inline-script-allowed.html
3306 http/tests/security/contentSecurityPolicy/inline-script-blocked-goofy.html
3308 * page/ContentSecurityPolicy.cpp:
3309 (WebCore::CSPOptions::CSPOptions):
3310 (WebCore::CSPOptions::disableXSSProtection):
3311 (WebCore::CSPOptions::evalScript):
3312 (WebCore::CSPOptions::parse):
3313 (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
3314 (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
3315 (WebCore::ContentSecurityPolicy::allowInlineScript):
3316 (WebCore::ContentSecurityPolicy::addDirective):
3317 * page/ContentSecurityPolicy.h:
3319 2011-04-07 Alexey Proskuryakov <ap@apple.com>
3321 Reviewed by Anders Carlsson.
3323 REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri
3324 https://bugs.webkit.org/show_bug.cgi?id=58066
3325 <rdar://problem/8965302>
3327 * platform/mac/HTMLConverter.h:
3328 * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]):
3329 Changed editingAttributedStringFromRange: to use WebCore::Range instead of DOMRange, since
3330 it's now used in WebKit2.
3332 2011-04-07 Andy Estes <aestes@apple.com>
3334 Reviewed by Darin Adler.
3336 REGRESSION (r64712): Microsoft Outlook 2011: original message contents
3337 not included when replying to an email.
3338 https://bugs.webkit.org/show_bug.cgi?id=57794
3341 * loader/FrameLoader.cpp:
3342 (WebCore::FrameLoader::finishedParsing): Call Frame::injectUserScripts()
3343 before checking if the FrameLoader is parsing the initial empty document.
3344 This allows user scripts to be injected at the end of document parsing
3345 (if the setting is enabled).
3347 (WebCore::Frame::injectUserScripts): Do not inject scripts if this
3348 feature is disabled on the initial empty document.
3349 * page/Settings.cpp:
3350 (WebCore::Settings::Settings):
3351 * page/Settings.h: Add a setting for injecting user scripts into the
3352 initial empty document (defaults to false).
3353 (WebCore::Settings::setInjectUserScriptsInInitialEmptyDocument):
3354 (WebCore::Settings::injectUserScriptsInInitialEmptyDocument):
3355 * platform/mac/RuntimeApplicationChecks.h:
3356 * platform/mac/RuntimeApplicationChecks.mm:
3357 (WebCore::applicationIsMicrosoftOutlook): Check if the embedding
3358 application is Microsoft Outlook.
3360 2011-04-06 Jer Noble <jer.noble@apple.com>
3362 Reviewed by Maciej Stachowiak.
3364 AVF: MediaPlayerPrivateAVFoundation never reaches playable state.
3365 https://bugs.webkit.org/show_bug.cgi?id=57962
3367 Add support for a new AVPlayerItem API which will notify clients when their
3368 seek completes. This requires a new Notification type to be passed to the main
3369 thread in MediaPlayerPrivateAVFoundation.
3371 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3372 (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Added.
3373 (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification): Added two new
3374 overloaded functions which take a Notification; and a Notification::Type and boolean.
3375 (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Support new SeekCompleted
3377 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3378 (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification): Added one new constructor.
3379 (WebCore::MediaPlayerPrivateAVFoundation::Notification::finished): Added ivar and accessor.
3380 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
3381 (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): Call new AVPlayerItem API.
3382 (-[WebCoreAVFMovieObserver seekCompleted:]): Added.
3384 2011-04-07 Nancy Piedra <nancy.piedra@nokia.com>
3386 Reviewed by Eric Carlson.
3388 Parse quotes from content type parameters
3389 https://bugs.webkit.org/show_bug.cgi?id=53275
3391 This functionality is tested in video-can-play-type.html layout test
3392 where I've added codecs parameter with good and bad formatting.
3394 * platform/ContentType.cpp:
3395 (WebCore::ContentType::parameter):
3397 2011-04-07 Pavel Feldman <pfeldman@google.com>
3399 Reviewed by Yury Semikhatsky.
3401 Web Inspector: remove "enabled" from the setBreakpoint protocol.
3402 https://bugs.webkit.org/show_bug.cgi?id=58047
3404 * bindings/js/ScriptDebugServer.cpp:
3405 (WebCore::ScriptDebugServer::hasBreakpoint):
3406 * bindings/v8/DebuggerScript.js:
3408 * bindings/v8/ScriptDebugServer.cpp:
3409 (WebCore::ScriptDebugServer::setBreakpoint):
3410 * inspector/Inspector.json:
3411 * inspector/InspectorDebuggerAgent.cpp:
3412 (WebCore::buildObjectForBreakpointCookie):
3413 (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
3414 (WebCore::InspectorDebuggerAgent::setBreakpoint):
3415 (WebCore::InspectorDebuggerAgent::continueToLocation):
3416 (WebCore::InspectorDebuggerAgent::didParseSource):
3417 * inspector/InspectorDebuggerAgent.h:
3418 * inspector/ScriptBreakpoint.h:
3419 (WebCore::ScriptBreakpoint::ScriptBreakpoint):
3420 * inspector/front-end/DebuggerModel.js:
3421 (WebInspector.DebuggerModel.prototype.setBreakpoint):
3422 (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
3423 * inspector/front-end/DebuggerPresentationModel.js:
3424 (WebInspector.DebuggerPresentationModel):
3425 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
3426 (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
3427 (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.callback):
3428 (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
3429 (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
3430 (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
3431 (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
3432 (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled.afterUpdate):
3433 (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
3434 (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
3435 (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
3436 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
3437 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
3438 (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
3439 (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
3440 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpointsFromSettings):
3441 (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
3442 (WebInspector.DebuggerPresentationModel.prototype._reset):
3443 (WebInspector.PresentationBreakpoint):
3445 2011-04-07 Dan Bernstein <mitz@apple.com>
3447 Reviewed by Adam Roben.
3449 Removed a redundant line of code.
3451 * rendering/RenderInline.cpp:
3452 (WebCore::RenderInline::updateAlwaysCreateLineBoxes): No need to compare line gap values, as
3453 this is covered by the earlier hasIdenticalAscentDescentAndLineGap() check.
3455 2011-04-07 Liang Qi <liang.qi@nokia.com>
3457 Reviewed by Laszlo Gombos.
3459 [Qt][Symbian] Enable webkit build with GCCE on Symbian.
3460 https://bugs.webkit.org/show_bug.cgi?id=57841
3462 * WebCore.pri: Thanks for Norbert Leser <norbert.leser@nokia.com> who checked RVCT part.
3463 --rw-base value in QMAKE_LFLAGS.ARMCC and -Tdata value in QMAKE_LFLAGS.GCCE are updated
3464 to 0x1000000 together. They need to be updated in the future when WebKit grows.
3466 2011-04-06 Pavel Feldman <pfeldman@google.com>
3468 Reviewed by Yury Semikhatsky.