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