1 2011-06-03 Chris Rogers <crogers@google.com>
3 Reviewed by Kenneth Russell.
5 Biquad filter coefficient naming is incorrect
6 https://bugs.webkit.org/show_bug.cgi?id=62053
8 No new tests since audio API is not yet implemented.
10 * platform/audio/Biquad.cpp:
11 (WebCore::Biquad::Biquad):
12 (WebCore::Biquad::process):
13 (WebCore::Biquad::processFast):
14 (WebCore::Biquad::setLowpassParams):
15 (WebCore::Biquad::setHighpassParams):
16 (WebCore::Biquad::setLowShelfParams):
17 (WebCore::Biquad::setZeroPolePairs):
18 * platform/audio/Biquad.h:
20 2011-06-03 Adam Barth <abarth@webkit.org>
22 Reviewed by Eric Seidel.
24 DOMWindow::setLocation doesn't understand that DOMWindow can be inactive
25 https://bugs.webkit.org/show_bug.cgi?id=62057
27 This code gets confused when dealing with inactive DOMWindows. We
28 should just block inactive DOMWindows because there's no compatibility
29 reason to support them in this code path.
31 Test: http/tests/security/xss-DENIED-contentWindow-eval.html
34 (WebCore::DOMWindow::isInsecureScriptAccess):
36 2011-05-31 Martin Robinson <mrobinson@igalia.com>
38 Reviewed by Ryosuke Niwa.
40 [GTK] Support smart replace for the pasteboard
41 https://bugs.webkit.org/show_bug.cgi?id=61734
43 Add smart replace support to WebCore and add hooks for it in WebKit
44 via DumpRenderTreeSupportGtk. When a platform supports smart replace,
45 WebCore will remove extra spaces that appear when pasting text. Eventually
46 WebKitGTK+ may want to expose this in the public API.
48 * platform/gtk/PasteboardGtk.cpp:
49 (WebCore::Pasteboard::writeSelection): Now pass whether or not to use smart replace
50 when calling writeSelection.
51 (WebCore::Pasteboard::canSmartReplace): Added an implementation that checks the clipboard
52 for whether or not it supports smart paste.
53 * platform/gtk/PasteboardHelper.cpp:
54 (WebCore::initGdkAtoms): Added initialization for smart replace atom.
55 (WebCore::PasteboardHelper::fillSelectionData): Added no-op handler for smart replace atom.
56 (WebCore::PasteboardHelper::targetListForDataObject): Properly handle new smart replace parameter.
57 (WebCore::PasteboardHelper::writeClipboardContents): Properly handle new smart replace parameter.
58 (WebCore::PasteboardHelper::clipboardContentSupportsSmartReplace): Added helper for Pasteboard.
59 * platform/gtk/PasteboardHelper.h: Add new method definition.
61 2011-06-03 Levi Weintraub <leviw@chromium.org>
63 Reviewed by Eric Seidel.
65 Switch paintCell to use IntPoint
66 https://bugs.webkit.org/show_bug.cgi?id=62033
68 Switching paintCell to take an IntPoint representing the paint offset
69 instead of a pair of ints.
71 No new tests since this is simple refactoring.
73 * rendering/RenderTableSection.cpp:
74 (WebCore::RenderTableSection::paintCell):
75 (WebCore::RenderTableSection::paintObject):
76 * rendering/RenderTableSection.h:
78 2011-06-03 Martin Robinson <mrobinson@igalia.com>
80 Reviewed by Dimitri Glazkov.
82 Teach Gtk build about window.internals
83 https://bugs.webkit.org/show_bug.cgi?id=61071
85 * GNUmakefile.am: Add new internals directories to the VPATH
86 (for idl processing) and the include list.
88 2011-06-03 Levi Weintraub <leviw@chromium.org>
90 Reviewed by Eric Seidel.
92 Switch paintBackgroundsBehindCell to use IntPoint
93 https://bugs.webkit.org/show_bug.cgi?id=62031
95 Switching paintBackgroundsBehindCell to take an IntPoint representing
96 the paint offset instead of a pair of ints.
98 No new tests as this is simple refactoring.
100 * rendering/RenderTableCell.cpp:
101 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
102 (WebCore::RenderTableCell::paintBoxDecorations):
103 * rendering/RenderTableCell.h:
104 * rendering/RenderTableRow.cpp:
105 (WebCore::RenderTableRow::paint):
106 * rendering/RenderTableSection.cpp:
107 (WebCore::RenderTableSection::paintCell):
109 2011-06-03 Levi Weintraub <leviw@chromium.org>
111 Reviewed by Eric Seidel.
113 Switch paintCaret and paintDragCaret to use IntPoint
114 https://bugs.webkit.org/show_bug.cgi?id=62037
116 Switching paintCaret and paintDragCaret to use an IntPoint representing
117 the paint offset instead of a pair of ints.
119 No new tests since this is simple refactoring.
121 * editing/FrameSelection.cpp:
122 (WebCore::FrameSelection::paintCaret):
123 (WebCore::CaretBase::paintCaret):
124 (WebCore::DragCaretController::paintDragCaret):
125 * editing/FrameSelection.h:
126 * rendering/RenderBlock.cpp:
127 (WebCore::RenderBlock::paintCaret):
128 (WebCore::RenderBlock::paintObject):
129 (WebCore::RenderBlock::positionForPoint):
130 (WebCore::RenderBlock::offsetForContents):
131 * rendering/RenderBlock.h:
133 2011-06-03 Levi Weintraub <leviw@chromium.org>
135 Reviewed by Eric Seidel.
137 Switch paintItemForeground and paintItemForeground to use IntPoint
138 https://bugs.webkit.org/show_bug.cgi?id=62035
140 Switching paintItemFore/Background to use IntPoint instead of a pair of ints.
142 No new tests since this is simple refactoring.
144 * rendering/RenderListBox.cpp:
145 (WebCore::RenderListBox::paintObject):
146 (WebCore::RenderListBox::paintItemForeground):
147 (WebCore::RenderListBox::paintItemBackground):
148 * rendering/RenderListBox.h:
150 2011-06-03 Alexis Menard <alexis.menard@openbossa.org>
152 Reviewed by Andreas Kling.
154 To support building namespaced Qt, we require that forward-declarations
155 of Qt classes be wrapped in QT_BEGIN_NAMESPACE and QT_END_NAMESPACE.
157 * platform/network/qt/QtMIMETypeSniffer.h:
159 2011-06-03 Rob Buis <rbuis@rim.com>
161 Reviewed by Nikolas Zimmermann.
163 Cleanup member variable usage in svg/animation classes
164 https://bugs.webkit.org/show_bug.cgi?id=62029
166 Cleanup member variables.
168 * svg/animation/SMILTimeContainer.cpp:
169 (WebCore::SMILTimeContainer::SMILTimeContainer):
170 (WebCore::SMILTimeContainer::sampleAnimationAtTime):
171 (WebCore::SMILTimeContainer::updateAnimations):
172 * svg/animation/SMILTimeContainer.h:
173 * svg/animation/SVGSMILElement.cpp:
174 (WebCore::SVGSMILElement::SVGSMILElement):
175 * svg/animation/SVGSMILElement.h:
177 2011-06-03 Chris Rogers <crogers@google.com>
179 Reviewed by Kenneth Russell.
181 Add AudioParam parameter scheduling implementation
182 https://bugs.webkit.org/show_bug.cgi?id=61830
184 No new tests since audio API is not yet implemented.
187 * WebCore.xcodeproj/project.pbxproj:
188 * webaudio/AudioParam.cpp:
189 (WebCore::AudioParam::value):
190 (WebCore::AudioParam::smoothedValue):
191 (WebCore::AudioParam::smooth):
192 (WebCore::AudioParam::calculateSampleAccurateValues):
193 * webaudio/AudioParam.h:
194 (WebCore::AudioParam::setContext):
195 (WebCore::AudioParam::context):
196 (WebCore::AudioParam::setValueAtTime):
197 (WebCore::AudioParam::linearRampToValueAtTime):
198 (WebCore::AudioParam::exponentialRampToValueAtTime):
199 (WebCore::AudioParam::setTargetValueAtTime):
200 (WebCore::AudioParam::setValueCurveAtTime):
201 (WebCore::AudioParam::cancelScheduledValues):
202 (WebCore::AudioParam::hasTimelineValues):
203 * webaudio/AudioParam.idl:
204 * webaudio/AudioParamTimeline.cpp: Added.
205 (WebCore::AudioParamTimeline::setValueAtTime):
206 (WebCore::AudioParamTimeline::linearRampToValueAtTime):
207 (WebCore::AudioParamTimeline::exponentialRampToValueAtTime):
208 (WebCore::AudioParamTimeline::setTargetValueAtTime):
209 (WebCore::AudioParamTimeline::setValueCurveAtTime):
210 (WebCore::isValidNumber):
211 (WebCore::AudioParamTimeline::insertEvent):
212 (WebCore::AudioParamTimeline::cancelScheduledValues):
213 (WebCore::AudioParamTimeline::valueForContextTime):
214 (WebCore::AudioParamTimeline::valuesForTimeRange):
215 (WebCore::timeToSampleFrame):
216 (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
217 * webaudio/AudioParamTimeline.h: Added.
218 (WebCore::AudioParamTimeline::AudioParamTimeline):
219 (WebCore::AudioParamTimeline::hasValues):
220 (WebCore::AudioParamTimeline::ParamEvent::ParamEvent):
221 (WebCore::AudioParamTimeline::ParamEvent::type):
222 (WebCore::AudioParamTimeline::ParamEvent::value):
223 (WebCore::AudioParamTimeline::ParamEvent::time):
224 (WebCore::AudioParamTimeline::ParamEvent::timeConstant):
225 (WebCore::AudioParamTimeline::ParamEvent::duration):
226 (WebCore::AudioParamTimeline::ParamEvent::curve):
228 2011-06-01 Jer Noble <jer.noble@apple.com>
230 Reviewed by Simon Fraser.
232 Flash of broken page when exiting full screen at jerryseinfeld.com
233 https://bugs.webkit.org/show_bug.cgi?id=61897
234 <rdar://problem/9522985>
236 Test: fullscreen/full-screen-placeholder.html
238 Entering full-screen mode is causing the page layout to change because the full-screen
239 element is taken out of the normal flow. To counteract this effect, insert a placeholder
240 block as a parent of the full-screen renderer with the same size and style as the full-screen
241 element pre-full-screen.
243 Only create a placeholder for block-level elements; the technique required for inline elements
244 would be vastly more complicated.
247 (WebCore::Document::webkitWillEnterFullScreenForElement): Create a placeholder
248 based on the size and style of the full-screen element.
249 (WebCore::Document::setFullScreenRenderer): Persist the placeholder size and
250 style across new renderers.
251 * rendering/RenderFullScreen.cpp:
252 (RenderFullScreen::RenderFullScreen): Added ivar.
253 (RenderFullScreen::destroy): Make sure to safely destroy our placeholder.
254 (RenderFullScreen::createPlaceholder): Added.
255 * rendering/RenderFullScreen.h:
256 (WebCore::RenderFullScreen::placeholder): Ivar accessor.
258 2011-06-03 Levi Weintraub <leviw@chromium.org>
260 Reviewed by Eric Seidel.
262 Switch paintBoxDecorations to IntPoint
263 https://bugs.webkit.org/show_bug.cgi?id=61968
265 Switching paintBoxDecorations to take an IntPoint representing
266 the paint offset instead of a pair of ints. Also cleaning up
267 some duplicated code in InlineFlowBox related to constraining
268 the paint rect to the linetop and linebottom.
270 No new tests since this is just refactoring.
272 * rendering/InlineFlowBox.cpp:
273 (WebCore::InlineFlowBox::paint):
274 (WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded): Added
275 to remove duplicate code in paintBoxDecorations and paintMask.
276 (WebCore::InlineFlowBox::paintBoxDecorations):
277 (WebCore::InlineFlowBox::paintMask):
278 * rendering/InlineFlowBox.h:
279 * rendering/RenderBlock.cpp:
280 (WebCore::RenderBlock::paintObject):
281 * rendering/RenderBox.cpp:
282 (WebCore::RenderBox::paintBoxDecorations):
283 * rendering/RenderBox.h:
284 * rendering/RenderFieldset.cpp:
285 (WebCore::RenderFieldset::paintBoxDecorations):
286 * rendering/RenderFieldset.h:
287 * rendering/RenderReplaced.cpp:
288 (WebCore::RenderReplaced::paint):
289 * rendering/RenderTable.cpp:
290 (WebCore::RenderTable::paintObject):
291 (WebCore::RenderTable::paintBoxDecorations):
292 * rendering/RenderTable.h:
293 * rendering/RenderTableCell.cpp:
294 (WebCore::RenderTableCell::paintBoxDecorations):
295 * rendering/RenderTableCell.h:
296 * rendering/RenderView.cpp:
297 (WebCore::RenderView::paintBoxDecorations):
298 * rendering/RenderView.h:
299 * rendering/RenderWidget.cpp:
300 (WebCore::RenderWidget::paint):
301 * rendering/svg/RenderSVGRoot.cpp:
302 (WebCore::RenderSVGRoot::paint):
304 2011-06-03 Doreen Jiang <doreen.jiang@nokia.com>
306 Reviewed by Benjamin Poulain.
308 [Qt]The minimum size of the select menu list is incorrect for qtwebkit
309 https://bugs.webkit.org/show_bug.cgi?id=56752
311 The minimum width of the select-box is calculated to be as small as possible
312 instead of hardcoded value (width of 7 characters) in minimumMenuListSize() function
313 This will avoid overapping the select lists in popular websites.
315 Test: fast/forms/selectlist-minsize.html
317 * platform/qt/RenderThemeQt.cpp:
318 (WebCore::RenderThemeQt::minimumMenuListSize):
320 2011-06-02 Dimitri Glazkov <dglazkov@chromium.org>
322 Reviewed by Darin Adler.
324 Prevent event dispatch for events with related target when host is the target.
325 https://bugs.webkit.org/show_bug.cgi?id=61979
327 Turns out, even if we trim the ancestor chain to 0, the event is still dispatched during AT_TARGET.
328 So might as well be explicit about what we are trying to do and add a flag to prevent dispatch in these cases.
330 * dom/EventDispatcher.cpp:
331 (WebCore::EventDispatcher::adjustToShadowBoundaries): Added preventing dispatch when the ancestor chain is trimmed to nothing.
332 (WebCore::EventDispatcher::EventDispatcher): Added initializer.
333 (WebCore::EventDispatcher::dispatchEvent): Added a check to prevent dispatch.
334 * dom/EventDispatcher.h: Added a def.
336 2011-06-03 Dan Bernstein <mitz@apple.com>
340 * WebCore.xcodeproj/project.pbxproj:
342 2011-06-03 Naoki Takano <takano.naoki@gmail.com>
344 Reviewed by Eric Seidel.
346 [Chromium] Call setToolTipText() in WebPopupMenuImpl mouse move handler to show tool tip in select popup window.
347 https://bugs.webkit.org/show_bug.cgi?id=61260
348 http://code.google.com/p/chromium/issues/detail?id=12721
350 Manual test: select-popup-tooltip-test.html
352 * manual-tests/select-popup-tooltip-test.html: Added.
353 * platform/chromium/PopupMenuChromium.cpp:
354 (WebCore::PopupContainer::getSelectedItemToolTip): Get selected item tooltip string according to hovering mouse position.
355 * platform/chromium/PopupMenuChromium.h: Add getSelectedItemToolTip() declaration.
357 2011-06-03 Rob Buis <rbuis@rim.com>
359 Reviewed by Nikolas Zimmermann.
361 Creating <animateMotion> elements via javascript do not execute
362 https://bugs.webkit.org/show_bug.cgi?id=34301
364 Enable constructors for SVGMPathElement and SVGAnimateMotionElement.
366 * DerivedSources.cpp:
367 * DerivedSources.make:
368 * GNUmakefile.list.am:
370 * WebCore.vcproj/WebCore.vcproj:
371 * WebCore.xcodeproj/project.pbxproj:
372 * page/DOMWindow.idl:
374 2011-06-03 Hans Wennborg <hans@chromium.org>
376 Reviewed by Steve Block.
378 IndexedDB: Clean-up use of INT64_MAX in LevelDB back-end
379 https://bugs.webkit.org/show_bug.cgi?id=62009
381 This constant should only be needed inside IDBLevelDBCoding.cpp.
383 No new functionality, no new tests.
385 * storage/IDBLevelDBBackingStore.cpp:
386 (WebCore::getNewDatabaseId):
387 (WebCore::IDBLevelDBBackingStore::getObjectStores):
388 (WebCore::getNewObjectStoreId):
389 (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
390 (WebCore::getNewIndexId):
391 * storage/IDBLevelDBCoding.cpp:
392 (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encodeMaxKey):
393 (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encodeMaxKey):
394 (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encodeMaxKey):
395 (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encodeMaxKey):
396 (WebCore::IDBLevelDBCoding::IndexFreeListKey::encodeMaxKey):
397 * storage/IDBLevelDBCoding.h:
399 2011-06-03 Siddharth Mathur <siddharth.mathur@nokia.com>
401 Reviewed by Benjamin Poulain.
403 [Qt] Build flag for experimental ICU library support
404 https://bugs.webkit.org/show_bug.cgi?id=60786
406 Adds a build-time flag (CONFIG+=use_system_icu) that enables experimental
407 ICU powered Unicode support.
409 No new tests as no new features added.
411 * WebCore.pri: Removed text_breaking_with_icu CONFIG flag.
412 * WebCore.pro: Added TextCodecICU.cpp and qt/TextBreakIteratorInternalICUQt.cpp.
413 * editing/qt/SmartReplaceQt.cpp:
414 * features.pri: Support for use_system_icu CONFIG flag.
415 * platform/text/TextCodecICU.cpp: Guard with USE(ICU_UNICODE).
416 * platform/text/qt/TextBreakIteratorInternalICUQt.cpp: Added.
417 (WebCore::Q_GLOBAL_STATIC_WITH_INITIALIZER):
418 (WebCore::currentSearchLocaleID):
419 (WebCore::currentTextBreakLocaleID):
420 * platform/text/qt/TextBreakIteratorQt.cpp: Moved out currentTextBreakLocaleID().
421 (WebCore::isTextBreak):
422 * platform/text/qt/TextCodecQt.cpp: Guard with USE(QT4_UNICODE).
423 (WebCore::TextCodecQt::registerEncodingNames):
424 (WebCore::TextCodecQt::registerCodecs):
426 2011-06-03 Yael Aharon <yael.aharon@nokia.com>
428 Reviewed by Kenneth Rohde Christiansen.
430 Frame flattening is broken with nested frames
431 https://bugs.webkit.org/show_bug.cgi?id=61491
433 Do not flatten offscreen iframes during frame flattening, as flattening might make them visible.
435 Test: fast/frames/flattening/iframe-flattening-out-of-view.html
436 fast/frames/flattening/iframe-flattening-out-of-view-and-scroll.html
437 fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html
439 * rendering/RenderIFrame.cpp:
440 (WebCore::RenderIFrame::flattenFrame):
442 2011-06-03 Nikolas Zimmermann <nzimmermann@rim.com>
444 Reviewed by Andreas Kling.
446 Incorrect embedded document replaced size calculation for box-sizing: border-box
447 https://bugs.webkit.org/show_bug.cgi?id=62007
449 When using <object style="box-sizing: border-box" data="foo.svg"/> to embed foo.svg
450 which has an intrinsic width/height, the embedded document intrinsic size is incorrect.
452 RenderPart::computeEmbeddedDocumentReplacedWidth/Height has to ask the content renderer for the replaced width/height not ourselves.
454 Tests: svg/as-image/img-preserveAspectRatio-support-2.html
455 svg/as-object/object-box-sizing-no-width-height.html
457 * rendering/RenderPart.cpp:
458 (WebCore::RenderPart::computeEmbeddedDocumentReplacedWidth):
459 (WebCore::RenderPart::computeEmbeddedDocumentReplacedHeight):
461 2011-06-03 Sheriff Bot <webkit.review.bot@gmail.com>
463 Unreviewed, rolling out r88004.
464 http://trac.webkit.org/changeset/88004
465 https://bugs.webkit.org/show_bug.cgi?id=62008
467 This patch broke 4 tests in the GTK bots (Requested by
468 msanchez on #webkit).
470 * accessibility/gtk/AXObjectCacheAtk.cpp:
471 (WebCore::AXObjectCache::handleScrolledToAnchor):
473 2011-06-03 Nikolas Zimmermann <nzimmermann@rim.com>
475 Reviewed by Andreas Kling.
477 Zooming <object style="width/height: auto" data="foo.svg"/> doesn't work as expected
478 https://bugs.webkit.org/show_bug.cgi?id=62005
480 Zooming an object with auto size, that references a svg with fixed size was broken. The svg size stayed the same.
481 Get rid of the dependency between RenderSVGRoot and SVGSVGElement::currentScale(), always ask for the effective
482 zoom in the RenderStyle instead of asking SVGSVGElement.
484 The SVGSVGElement::currentScale()/setCurrentScale() methods are now only used when called from the bindings (eg. JS).
485 They only take effect on the outermost <svg> element in standalone documents, otherwhise they are no-ops.
487 Test: svg/zoom/page/zoom-svg-through-object-with-auto-size.html
489 * rendering/svg/RenderSVGRoot.cpp:
490 (WebCore::RenderSVGRoot::computeIntrinsicWidth):
491 (WebCore::RenderSVGRoot::computeIntrinsicHeight):
492 (WebCore::RenderSVGRoot::localToBorderBoxTransform):
493 * svg/SVGSVGElement.cpp:
494 (WebCore::SVGSVGElement::SVGSVGElement):
495 (WebCore::SVGSVGElement::currentScale):
496 (WebCore::SVGSVGElement::setCurrentScale):
497 * svg/SVGSVGElement.h:
499 2011-06-03 Mario Sanchez Prada <msanchez@igalia.com>
501 Reviewed by Martin Robinson.
503 Focus and caret position should be updated when same-page links are followed
504 https://bugs.webkit.org/show_bug.cgi?id=59737
506 Update the caret position to the anchor's position after scrolling.
508 This behavior is specific to the Gtk port and requested because of
509 accessibility needs, that's why it's implemented in AXObjectCache.
511 Test: platform/gtk/accessibility/caret-browsing-anchor-followed.html
513 * accessibility/gtk/AXObjectCacheAtk.cpp:
514 (WebCore::AXObjectCache::handleScrolledToAnchor): Make sure the
515 caret is updated to be in the anchor's position after scrolling.
517 2011-06-03 Dominic Cooney <dominicc@chromium.org>
519 Reviewed by Kent Tamura.
521 Cloned keygen shadows should have -webkit-keygen-select pseudoclass.
522 https://bugs.webkit.org/show_bug.cgi?id=61984
524 When cloneNode's tag name-based cloning algorithm clones the
525 KeygenSelectElements of a keygen shadow as select elements. These
526 lack the -webkit-keygen-select pseudoclass.
528 Test: fast/html/clone-keygen.html
530 * html/HTMLKeygenElement.cpp:
531 (WebCore::KeygenSelectElement::cloneElementWithoutAttributesAndChildren): Create a KeygenSelectElement when being cloned.
533 2011-06-02 MORITA Hajime <morrita@google.com>
535 Unreviewed ChangeLog fix.
537 2011-06-03 Peter Varga <pvarga@webkit.org>
539 Rubber-stamped by Csaba Osztrogonác.
541 [Qt][V8] Buildfix after r87988.
545 * bindings/v8/ScheduledAction.cpp: Add missing guards.
546 (WebCore::ScheduledAction::execute):
547 * bindings/v8/V8EventListener.cpp: Ditto.
548 (WebCore::V8EventListener::callListenerFunction):
550 2011-06-03 Dominic Cooney <dominicc@chromium.org>
552 Reviewed by Kent Tamura.
554 Cloned range input sliders should be SliderThumbElements, not divs.
555 https://bugs.webkit.org/show_bug.cgi?id=61982
557 Test: fast/html/clone-range.html
559 * html/shadow/SliderThumbElement.h:
560 (WebCore::SliderThumbElement::cloneElementWithoutAttributesAndChildren): Create a SliderThumbElement when being cloned.
562 2011-06-02 Yury Semikhatsky <yurys@chromium.org>
564 Reviewed by Pavel Feldman.
566 Web Inspector: add an option for automatically attaching to new workers
567 https://bugs.webkit.org/show_bug.cgi?id=61930
569 Worker list is extended with a checkbox that makes inspector attach to each
570 new worker. Whenever a new worker context starts a new inspector window will
573 Also worker agent and worker list will be updated when worker context is terminated.
575 * inspector/Inspector.json:
576 * inspector/InspectorController.cpp:
577 (WebCore::InspectorController::InspectorController):
578 * inspector/InspectorInstrumentation.cpp:
579 (WebCore::InspectorInstrumentation::workerContextTerminatedImpl):
580 * inspector/InspectorInstrumentation.h:
581 (WebCore::InspectorInstrumentation::workerContextTerminated):
582 * inspector/InspectorWorkerAgent.cpp:
583 (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel):
584 (WebCore::InspectorWorkerAgent::create):
585 (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
586 (WebCore::InspectorWorkerAgent::clearFrontend):
587 (WebCore::InspectorWorkerAgent::setAutoconnectToWorkers):
588 (WebCore::InspectorWorkerAgent::didStartWorkerContext):
589 (WebCore::InspectorWorkerAgent::workerContextTerminated):
590 * inspector/InspectorWorkerAgent.h:
591 * inspector/front-end/WorkerManager.js:
592 (WebInspector.WorkerManager.prototype._workerCreated):
593 (WebInspector.WorkerManager.prototype._workerTerminated):
594 (WebInspector.WorkerManager.prototype.openWorkerInspector):
595 (WebInspector.WorkerManager.prototype._openInspectorWindow):
596 (WebInspector.WorkerManager.prototype.reset):
597 (WebInspector.WorkerMessageForwarder.prototype.workerCreated):
598 (WebInspector.WorkerMessageForwarder.prototype.workerTerminated):
599 * inspector/front-end/WorkersSidebarPane.js:
600 (WebInspector.WorkerListSidebarPane):
601 (WebInspector.WorkerListSidebarPane.prototype._workerAdded):
602 (WebInspector.WorkerListSidebarPane.prototype._workerRemoved):
603 (WebInspector.WorkerListSidebarPane.prototype._workersCleared):
604 (WebInspector.WorkerListSidebarPane.prototype._addWorker):
605 (WebInspector.WorkerListSidebarPane.prototype._workerItemClicked):
606 (WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
607 * inspector/front-end/inspector.js:
608 (WebInspector.reset):
610 2011-06-02 Hayato Ito <hayato@chromium.org>
612 Reviewed by Ryosuke Niwa.
614 Show a shadow root node itself in Node::traverseNextNodeAcrossFrame.
615 https://bugs.webkit.org/show_bug.cgi?id=61992
617 It's better to show a shadow root node itself for debugging.
618 Skipping it didn't add any values.
620 No new tests since the function is only available in debug builds.
623 (WebCore::traverseNextNodeAcrossFrame):
625 2011-06-02 James Robinson <jamesr@chromium.org>
627 Unreviewed, rolling out r87901.
628 http://trac.webkit.org/changeset/87901
629 https://bugs.webkit.org/show_bug.cgi?id=61894
631 Might be responsible for performance regression on Chromium page cyclers, reverting to see...
633 * loader/DocumentLoader.h:
634 (WebCore::DocumentLoader::didTellClientAboutLoad):
635 (WebCore::DocumentLoader::haveToldClientAboutLoad):
636 * loader/FrameLoader.cpp:
637 (WebCore::FrameLoader::loadedResourceFromMemoryCache):
638 * loader/ResourceLoadNotifier.cpp:
639 (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
641 2011-06-02 Levi Weintraub <leviw@chromium.org>
643 Reviewed by Eric Seidel.
645 Switch paintReplaced to use IntPoint
646 https://bugs.webkit.org/show_bug.cgi?id=61891
648 Switching paintReplaced to use IntPoint to represent the paint offset instead
651 Also renaming the IntPoint flavor of IntRect::move to moveBy to clear up the
652 fact that the IntPoint is added as an offset as opposed to being relocated
655 No tests because this is just a refactoring.
657 * page/FrameView.cpp:
658 (WebCore::FrameView::invalidateScrollbarRect):
659 (WebCore::FrameView::convertFromRenderer):
660 (WebCore::FrameView::convertToRenderer):
661 * platform/ScrollView.cpp:
662 (WebCore::ScrollView::wheelEvent):
663 * platform/ScrollbarThemeComposite.cpp:
664 (WebCore::ScrollbarThemeComposite::invalidatePart):
665 * platform/graphics/gpu/Texture.cpp
666 (WebCore::Texture::updateSubRect)
667 * platform/graphics/IntRect.h:
668 (WebCore::IntRect::moveBy):
669 * platform/mac/WidgetMac.mm:
670 (WebCore::Widget::paint):
671 * rendering/InlineFlowBox.cpp:
672 (WebCore::InlineFlowBox::paint):
673 * rendering/RenderBlock.cpp:
674 (WebCore::RenderBlock::logicalRectToPhysicalRect):
675 (WebCore::RenderBlock::selectionGaps):
676 * rendering/RenderBox.cpp:
677 (WebCore::RenderBox::offsetFromContainer):
678 (WebCore::RenderBox::computeRectForRepaint):
679 (WebCore::RenderBox::localCaretRect):
680 * rendering/RenderDetailsMarker.cpp:
681 (WebCore::RenderDetailsMarker::paint):
682 * rendering/RenderEmbeddedObject.cpp:
683 (WebCore::RenderEmbeddedObject::paintReplaced):
684 * rendering/RenderEmbeddedObject.h:
685 * rendering/RenderHTMLCanvas.cpp:
686 (WebCore::RenderHTMLCanvas::paintReplaced):
687 * rendering/RenderHTMLCanvas.h:
688 * rendering/RenderImage.cpp:
689 (WebCore::RenderImage::paintReplaced):
690 * rendering/RenderImage.h:
691 * rendering/RenderInline.cpp:
692 (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
693 * rendering/RenderLayer.cpp:
694 (WebCore::expandClipRectForDescendantsAndReflection):
695 (WebCore::RenderLayer::paintScrollCorner):
696 (WebCore::RenderLayer::paintResizer):
697 (WebCore::RenderLayer::paintChildLayerIntoColumns):
698 (WebCore::RenderLayer::hitTestChildLayerColumns):
699 (WebCore::RenderLayer::boundingBox):
700 (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
701 * rendering/RenderLayerBacking.cpp:
702 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
703 (WebCore::paintScrollbar):
704 (WebCore::RenderLayerBacking::paintContents):
705 * rendering/RenderLayerCompositor.cpp:
706 (WebCore::RenderLayerCompositor::calculateCompositedBounds):
707 (WebCore::RenderLayerCompositor::layerWillBeRemoved):
708 (WebCore::paintScrollbar):
709 (WebCore::RenderLayerCompositor::paintContents):
710 * rendering/RenderListBox.cpp:
711 (WebCore::RenderListBox::controlClipRect):
712 * rendering/RenderListItem.cpp:
713 (WebCore::RenderListItem::positionListMarker):
714 * rendering/RenderListMarker.cpp:
715 (WebCore::RenderListMarker::paint):
716 * rendering/RenderReplaced.cpp:
717 (WebCore::RenderReplaced::paint):
718 * rendering/RenderReplaced.h:
719 (WebCore::RenderReplaced::paintReplaced):
720 * rendering/RenderTableCell.cpp:
721 (WebCore::RenderTableCell::computeRectForRepaint):
722 * rendering/RenderTextControlSingleLine.cpp:
723 (WebCore::RenderTextControlSingleLine::controlClipRect):
724 * rendering/RenderVideo.cpp:
725 (WebCore::RenderVideo::paintReplaced):
726 * rendering/RenderVideo.h:
727 * rendering/RenderView.cpp:
728 (WebCore::RenderView::repaintViewRectangle):
730 2011-06-02 James Robinson <jamesr@chromium.org>
732 Reviewed by Dimitri Glazkov.
734 [chromium][V8] Add trace events for timer fires and event listener dispatches
735 https://bugs.webkit.org/show_bug.cgi?id=61977
737 Adds TRACE_EVENT macro around timer and event listener dispatches. When tracing (a chromium feature) is
738 enabled, this allows correlating these events with painting, compositing, and everything else in chromium that
739 is traced. When tracing is disabled, this macro does nothing useful. Trace points are very cheap when tracing
740 is disabled so this should have no performance impact for non-developers.
742 * bindings/v8/ScheduledAction.cpp:
743 (WebCore::ScheduledAction::execute):
744 * bindings/v8/V8EventListener.cpp:
745 (WebCore::V8EventListener::callListenerFunction):
747 2011-06-02 John Bates <jbates@google.com>
749 Reviewed by James Robinson.
751 DrawingBufferChromium cleanup:
752 - Correct FIXME comment about synchronization.
753 - Remove unnecessary DrawingBufferInternal indirection struct
754 and its unused offscreenColorTexture member.
755 https://bugs.webkit.org/show_bug.cgi?id=61953
757 * platform/graphics/chromium/DrawingBufferChromium.cpp:
758 (WebCore::DrawingBuffer::DrawingBuffer):
759 (WebCore::DrawingBuffer::~DrawingBuffer):
760 (WebCore::DrawingBuffer::publishToPlatformLayer):
761 (WebCore::DrawingBuffer::didReset):
762 (WebCore::DrawingBuffer::platformLayer):
763 * platform/graphics/gpu/DrawingBuffer.h:
765 2011-06-02 Andrey Kosyakov <caseq@chromium.org>
767 Reviewed by Pavel Feldman.
769 Web Inspector: ResourceCookiesView.resize() is missing
770 https://bugs.webkit.org/show_bug.cgi?id=61868
772 * inspector/front-end/ResourceCookiesView.js:
773 (WebInspector.ResourceCookiesView.prototype.resize):
775 2011-06-02 Kent Tamura <tkent@chromium.org>
777 Reviewed by Dimitri Glazkov.
779 REGRESSION(r87014): Cloned text <input> doesn't work well.
780 https://bugs.webkit.org/show_bug.cgi?id=61909
782 The default implementation of Element::cloneNode() creates a clone
783 node by Document::createElement(). So, if a customized class is used for
784 shadow nodes, cloneNode() doesn't create a node of the correct class.
785 Such custom classes need to override Element::
786 cloneElementWithoutAttributesAndChildren().
788 TextFieldInputType and SearchInputType had references to shadow nodes
789 initialized in createShadowSubtree(). However createShadowSubtree() is
790 not called if the host node is cloned. The accessors for shadow nodes
791 should search a shadow tree.
793 Test: fast/forms/textfield-clone.html
795 * html/SearchInputType.cpp:
796 Remove data members for shadow nodes, and the accessors search the
797 shadow tree for the requested node by TreeScope::getElementById().
798 (WebCore::SearchInputType::SearchInputType):
799 (WebCore::innerBlockId):
800 (WebCore::resultButtonId):
801 (WebCore::cancelButtonId):
802 (WebCore::SearchInputType::createShadowSubtree):
803 (WebCore::SearchInputType::innerBlockElement):
804 (WebCore::SearchInputType::resultsButtonElement):
805 (WebCore::SearchInputType::cancelButtonElement):
806 * html/SearchInputType.h:
807 * html/TextFieldInputType.cpp: ditto.
808 (WebCore::TextFieldInputType::TextFieldInputType):
809 (WebCore::TextFieldInputType::innerTextId):
810 (WebCore::spinButtonId):
811 (WebCore::TextFieldInputType::speechButtonId):
812 (WebCore::TextFieldInputType::appendChildAndSetId):
813 (WebCore::TextFieldInputType::createShadowSubtree):
814 (WebCore::TextFieldInputType::getShadowElementById):
815 (WebCore::TextFieldInputType::innerTextElement):
816 (WebCore::TextFieldInputType::innerSpinButtonElement):
817 (WebCore::TextFieldInputType::speechButtonElement):
818 * html/TextFieldInputType.h:
819 * html/shadow/TextControlInnerElements.cpp:
820 Overrides cloneElementWithoutAttributesAndChildren() in order that cloneNode()
821 produces an instance of the correct class.
822 (WebCore::TextControlInnerElement::cloneElementWithoutAttributesAndChildren):
823 (WebCore::TextControlInnerTextElement::cloneElementWithoutAttributesAndChildren):
824 (WebCore::SearchFieldResultsButtonElement::cloneElementWithoutAttributesAndChildren):
825 (WebCore::SearchFieldCancelButtonElement::cloneElementWithoutAttributesAndChildren):
826 (WebCore::SpinButtonElement::cloneElementWithoutAttributesAndChildren):
827 (WebCore::InputFieldSpeechButtonElement::cloneElementWithoutAttributesAndChildren):
828 * html/shadow/TextControlInnerElements.h:
830 2011-05-28 Martin Robinson <mrobinson@igalia.com>
832 Reviewed by Gustavo Noronha Silva.
834 [GTK] Remove PasteboardHelperGtk
835 https://bugs.webkit.org/show_bug.cgi?id=61690
837 Remove the virtual methods from PasteboardHelper, so that PasteboardHelperGtk
838 can be removed. Since the GtkClipboard IDs are verified to be the same between
839 WebKit and WebCore we no longer need to communicate from WebCore to WebKit to
842 No new tests. This is just a code refactor.
844 * platform/Pasteboard.h: Remove GTK+ specific methods. They are no longer needed.
845 * platform/gtk/ClipboardGtk.cpp: Remove the m_helper member and access the
846 PasteboardHelper singleton directly.
847 * platform/gtk/ClipboardGtk.h: Ditto.
848 * platform/gtk/PasteboardGtk.cpp: Ditto.
849 * platform/gtk/PasteboardHelper.cpp:
850 (WebCore::removeMarkupPrefix): Remove an extra line.
851 (WebCore::PasteboardHelper::defaultPasteboardHelper): Added this static getter
853 (WebCore::PasteboardHelper::PasteboardHelper): Moved the contents of initTargetList here.
854 (WebCore::PasteboardHelper::getCurrentClipboard): Instead of talking with WebKit to determine
855 whether or not to use the primary selection clipboard, just use our new member.
856 (WebCore::PasteboardHelper::fillSelectionData): Use our local enum to get the ID.
857 (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
858 (WebCore::PasteboardHelper::dropAtomsForContext): Ditto.
859 (WebCore::getClipboardContentsCallback): Ditto.
860 * platform/gtk/PasteboardHelper.h: PasteboardHelper now keeps track of whether or
861 not to use the primary selection clipboard internally.
862 (WebCore::PasteboardHelper::setUsePrimarySelectionClipboard): Added.
863 (WebCore::PasteboardHelper::usePrimarySelectionClipboard): Added.
865 2011-06-02 Levi Weintraub <leviw@chromium.org>
867 Reviewed by Eric Seidel.
869 Teach InlineBox about FloatPoint
870 https://bugs.webkit.org/show_bug.cgi?id=44412
872 Original patch by Eric Seidel. Updated by me.
874 This is another step towards more point/size
875 usage throughout the rendering tree.
877 Added left(), right(), top(), and bottom() methods
878 to InlineBox. Removed m_x, and m_y and replaced them
879 with a single m_topLeft member.
881 No new tests since this is just a refactoring.
883 * rendering/EllipsisBox.cpp:
884 (WebCore::EllipsisBox::paint):
885 (WebCore::EllipsisBox::selectionRect):
886 (WebCore::EllipsisBox::paintSelection):
887 (WebCore::EllipsisBox::nodeAtPoint):
888 * rendering/EllipsisBox.h:
889 (WebCore::EllipsisBox::EllipsisBox):
890 * rendering/InlineBox.cpp:
891 (WebCore::InlineBox::adjustPosition):
892 (WebCore::InlineBox::canAccommodateEllipsis):
893 * rendering/InlineBox.h:
894 (WebCore::InlineBox::InlineBox):
895 (WebCore::InlineBox::setX):
896 (WebCore::InlineBox::x):
897 (WebCore::InlineBox::left):
898 (WebCore::InlineBox::setY):
899 (WebCore::InlineBox::y):
900 (WebCore::InlineBox::top):
901 (WebCore::InlineBox::topLeft):
902 (WebCore::InlineBox::right):
903 (WebCore::InlineBox::bottom):
904 (WebCore::InlineBox::logicalLeft):
905 (WebCore::InlineBox::setLogicalLeft):
906 (WebCore::InlineBox::logicalTop):
907 (WebCore::InlineBox::setLogicalTop):
908 (WebCore::InlineBox::logicalFrameRect):
909 * rendering/InlineFlowBox.h:
910 (WebCore::InlineFlowBox::frameRectIncludingLineHeight):
911 * rendering/InlineTextBox.cpp:
912 (WebCore::InlineTextBox::placeEllipsisBox):
913 (WebCore::InlineTextBox::paintTextMatchMarker):
914 (WebCore::InlineTextBox::computeRectForReplacementMarker):
915 * rendering/RenderText.cpp:
916 (WebCore::RenderText::firstRunX):
917 (WebCore::RenderText::firstRunY):
918 * rendering/RenderTreeAsText.cpp:
919 (WebCore::writeTextRun):
920 * rendering/RootInlineBox.cpp:
921 (WebCore::RootInlineBox::placeEllipsis):
922 * rendering/svg/RenderSVGText.cpp:
923 (WebCore::RenderSVGText::positionForPoint):
924 * rendering/svg/SVGInlineTextBox.h:
925 (WebCore::SVGInlineTextBox::selectionTop):
926 * rendering/svg/SVGRootInlineBox.cpp:
927 (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
929 2011-06-02 Jian Li <jianli@chromium.org>
931 Reviewed by David Levin.
933 Update the behavior of multiple reads for FileReader
934 https://bugs.webkit.org/show_bug.cgi?id=61793
936 Changed to throw an OperationNotAllowedException with the NOT_ALLOWED_ERR
937 status code on any of the read methods that occur when readyState = LOADING.
938 Otherwise, calling any of the read methods should work.
940 Test: fast/files/read-file-async.html
942 * CodeGenerators.pri:
943 * DerivedSources.cpp:
944 * DerivedSources.make:
945 * GNUmakefile.list.am:
948 * WebCore.vcproj/WebCore.vcproj:
949 * WebCore.xcodeproj/project.pbxproj:
950 * bindings/js/JSDOMBinding.cpp:
951 (WebCore::setDOMException):
952 * bindings/v8/V8Proxy.cpp:
953 (WebCore::V8Proxy::setDOMException):
954 * dom/ExceptionCode.cpp:
955 (WebCore::getExceptionCodeDescription):
956 * dom/ExceptionCode.h:
957 * fileapi/FileReader.cpp:
958 (WebCore::FileReader::FileReader):
959 (WebCore::FileReader::hasPendingActivity):
960 (WebCore::FileReader::readAsArrayBuffer):
961 (WebCore::FileReader::readAsBinaryString):
962 (WebCore::FileReader::readAsText):
963 (WebCore::FileReader::readAsDataURL):
964 (WebCore::FileReader::readInternal):
965 (WebCore::FileReader::abort):
966 (WebCore::FileReader::doAbort):
967 (WebCore::FileReader::terminate):
968 (WebCore::FileReader::start):
969 (WebCore::FileReader::didStartLoading):
970 (WebCore::FileReader::didFinishLoading):
971 (WebCore::FileReader::didFail):
972 * fileapi/FileReader.h:
973 (WebCore::FileReader::readyState):
974 * fileapi/FileReader.idl:
975 * fileapi/OperationNotAllowedException.h: Added.
976 (WebCore::OperationNotAllowedException::create):
977 (WebCore::OperationNotAllowedException::OperationNotAllowedException):
978 * fileapi/OperationNotAllowedException.idl: Added.
980 2011-06-02 Adrienne Walker <enne@google.com>
982 Reviewed by James Robinson.
984 [chromium] Compositor HUD should respect mapTexSubImage2D returning NULL
985 https://bugs.webkit.org/show_bug.cgi?id=61954
987 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
988 (WebCore::CCHeadsUpDisplay::draw):
990 2011-06-02 Brady Eidson <beidson@apple.com>
992 Reviewed by Oliver Hunt.
994 <rdar://problem/9539920> and https://bugs.webkit.org/show_bug.cgi?id=61950
995 Repro crash loading certain webarchives after r87566.
997 Test: webarchive/loading/javascript-url-iframe-crash.html
999 * bindings/ScriptControllerBase.cpp:
1000 (WebCore::ScriptController::executeIfJavaScriptURL): DocumentWriter::replaceDocument can
1001 cause the DocumentLoader to be destroyed, so protect it with a Ref here.
1003 2011-06-02 Jay Civelli <jcivelli@chromium.org>
1005 Reviewed by Adam Barth.
1007 Adding MHTML generation support to MHTMLArchive.
1008 https://bugs.webkit.org/show_bug.cgi?id=7169
1010 * loader/archive/mhtml/MHTMLArchive.cpp:
1011 (WebCore::generateRandomBoundary):
1012 (WebCore::replaceNonPrintableCharacters):
1013 (WebCore::MHTMLArchive::generateMHTMLData):
1014 * loader/archive/mhtml/MHTMLArchive.h:
1015 * page/PageSerializer.cpp:
1016 (WebCore::PageSerializer::serializeFrame):
1017 (WebCore::PageSerializer::serializeCSSStyleSheet):
1018 * platform/SharedBuffer.cpp:
1019 (WebCore::SharedBuffer::append):
1020 * platform/SharedBuffer.h:
1022 2011-06-02 Simon Fraser <simon.fraser@apple.com>
1024 Reviewed by Andreas Kling.
1026 Share Path code that uses beziers to construct a rounded rect
1027 https://bugs.webkit.org/show_bug.cgi?id=61960
1029 Have two methods in Path that construct beziers for rounded
1030 rects to share the same code.
1032 Make gCircleControlPoint a little more precise, and add
1033 a comment describing its derivation.
1035 Make use of FloatRect::maxX() and maxY().
1037 * platform/graphics/Path.cpp:
1038 (WebCore::Path::addRoundedRect):
1039 (WebCore::Path::addBeziersForRoundedRect):
1040 * platform/graphics/Path.h:
1042 2011-06-02 Ryosuke Niwa <rniwa@webkit.org>
1044 Reviewed by Enrica Casucci.
1046 ApplyStyleCommand shouldn't call collapseTextDecorationProperties
1047 https://bugs.webkit.org/show_bug.cgi?id=61887
1049 Removed the call to collapseTextDecorationProperties in ApplyStyleCommand::applyInlineStyle.
1051 No new tests because this is a code refactoring.
1053 * editing/ApplyStyleCommand.cpp:
1054 (WebCore::ApplyStyleCommand::applyInlineStyle): No loner calls collapseTextDecorationProperties.
1055 (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Updated comment.
1056 * editing/EditingStyle.cpp:
1057 (WebCore::HTMLElementEquivalent::propertyExistsInStyle): Added to check both text-decoration
1058 and -webkit-text-decorations-in-effect.
1059 (WebCore::HTMLTextDecorationEquivalent::HTMLTextDecorationEquivalent): Added a comment.
1060 (WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle): Checks both text-decoration
1061 and -webkit-text-decorations-in-effect.
1062 (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle): Checks if a text decoration
1063 is present in -webkit-text-decorations-in-effect or text-decoration preferring the former.
1064 (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Merged loops for when conflictingProperties
1065 is false and true. Added a support for -webkit-text-decorations-in-effect.
1067 2011-06-02 Ryosuke Niwa <rniwa@webkit.org>
1069 Reviewed by Eric Seidel.
1071 Make more functions static local in EventHandlers.cpp
1072 https://bugs.webkit.org/show_bug.cgi?id=58503
1074 Removed canHandleDragAndDropForTarget and made focusDirectionForKey local to EventHandler.cpp.
1076 * page/EventHandler.cpp:
1077 (WebCore::targetIsFrame): Extracted from canHandleDragAndDropForTarget.
1078 (WebCore::EventHandler::updateDragAndDrop): Calls contentFrameForTarget instead of canHandleDragAndDropForTarget.
1079 (WebCore::EventHandler::cancelDragAndDrop): Ditto.
1080 (WebCore::EventHandler::performDragAndDrop): Ditto.
1081 (WebCore::focusDirectionForKey): No longer a member function of EventHandler class.
1082 (WebCore::handleKeyboardSelectionMovement): No longer a member function of EventHandler class; also calls
1083 focusDirectionForKey instead of manually comparing.
1084 * page/EventHandler.h:
1086 2011-06-02 Alok Priyadarshi <alokp@chromium.org>
1088 Reviewed by James Robinson.
1090 [chromium] Things jump around when selecting anything on the page
1091 https://bugs.webkit.org/show_bug.cgi?id=61639
1093 WebCore::LayerTextureUpdaterSkPicture::updateTextureRect was not updating a tile sub-region properly.
1094 It did not consider dest-rect when selecting the clip and translation required to draw the content-rect into dest-rect.
1095 Also removed clearing of framebuffer because it used to clear the whole tile not just dest-rect.
1096 An appropriate viewport could be set to just clear the dest-rect, but it was debug only code and I did not want to mess
1097 with the viewport set by skia.
1099 No new tests. This case should be covered by most of the layout tests (pixel) targeting selection or hovering when chromium is run in compositing mode.
1100 Here is a non-exhaustive list of existing tests covering this case.
1101 Test: editing/selection/14971.html (existing)
1102 editing/selection/3690703-2.html (existing)
1103 editing/selection/4402375.html (existing)
1104 editing/selection/4818145.html (existing)
1106 * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
1107 (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
1108 (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
1109 * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
1111 2011-06-02 Dimitri Glazkov <dglazkov@chromium.org>
1113 Reviewed by Darin Adler.
1115 Add build logistics and plumbing for window.internals object.
1116 https://bugs.webkit.org/show_bug.cgi?id=60313
1118 Test: fast/harness/internals-object.html
1120 * Configurations/WebCoreTestSupport.xcconfig: Added.
1121 * DerivedSources.make: Added support for generating from Internals.idl.
1122 * WebCore.gyp/WebCore.gyp: Added new webcore_test_support library.
1123 * WebCore.gypi: Ditto.
1124 * WebCore.xcodeproj/project.pbxproj: Added WebCoreTestSupport library.
1125 * testing/Internals.cpp: Added.
1126 * testing/Internals.h: Added.
1127 * testing/Internals.idl: Added.
1128 * testing/js/WebCoreTestSupport.cpp: Added.
1129 * testing/js/WebCoreTestSupport.h: Added.
1130 * testing/v8/WebCoreTestSupport.cpp: Added.
1131 * testing/v8/WebCoreTestSupport.h: Added.
1133 2011-06-01 Adrienne Walker <enne@google.com>
1135 Reviewed by Eric Seidel.
1137 [chromium] LayerChromium should use a RefPtr for replica layer
1138 https://bugs.webkit.org/show_bug.cgi?id=61898
1140 Having this member variable be a raw pointer is brittle and assumes
1141 that the GraphicsLayer tree keeps this in sync. There aren't any
1142 known bugs caused by this, but it seems like good sense to do this.
1144 * platform/graphics/chromium/LayerChromium.h:
1145 (WebCore::LayerChromium::replicaLayer):
1147 2011-06-02 Ryosuke Niwa <rniwa@webkit.org>
1149 Reviewed by Eric Seidel.
1151 REGRESSION: inline style is lost when deleting line break between paragraphs with same style
1152 https://bugs.webkit.org/show_bug.cgi?id=61899
1154 The bug was caused by ReplaceSelectionCommand::doApply's calling handleStyleSpansBeforeInsertion
1155 before insertionPos is adjusted by positionAvoidingPrecedingNodes and positionOutsideTabSpan.
1157 Fixed the bug by calling handleStyleSpansBeforeInsertion after the calls to these two functions.
1159 Test: editing/deleting/delete-line-break-between-paragraphs-with-same-style.html
1161 * editing/ReplaceSelectionCommand.cpp:
1162 (WebCore::ReplaceSelectionCommand::doApply):
1164 2011-06-01 Ryosuke Niwa <rniwa@webkit.org>
1166 Reviewed by Simon Fraser.
1168 REGRESSION: Text selection broken for text with line-height applied
1169 https://bugs.webkit.org/show_bug.cgi?id=54929
1171 The bug was caused by RenderText::positionForPoint's not considering the case where a point is
1172 above selectionTop and below lineTop of the first root inline box. Fixed the bug by considering
1173 any point between selectionTop and lineTop to be inside a root inline box. This condition is
1174 consistent with the condition we use to determine the bottom of a line.
1176 Test: editing/selection/hit-test-on-text-with-line-height.html
1178 * rendering/RenderBlock.cpp:
1179 (WebCore::RenderBlock::positionForPointWithInlineChildren): Fixed a condition to determine whether
1180 or not a point is above the first root line box. We need to check both selectionTop and logicalTop
1181 for the same reason explained above.
1182 * rendering/RenderText.cpp:
1183 (WebCore::RenderText::positionForPoint): See above.
1185 2011-06-02 Andreas Kling <kling@webkit.org>
1187 Reviewed by James Robinson.
1189 Canvas/V8: Fix setting strokeStyle or fillStyle to a CSS system color.
1190 https://bugs.webkit.org/show_bug.cgi?id=61944
1192 Call setFillColor/setStrokeColor (instead of setFillStyle/setStrokeStyle)
1193 for string styles. This ensures that system color resolution is performed,
1194 and matches what the JSC bindings do.
1196 Test: canvas/philip/tests/2d.fillStyle.parse.system.html
1198 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1199 (WebCore::toCanvasStyle):
1200 (WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorSetter):
1201 (WebCore::V8CanvasRenderingContext2D::fillStyleAccessorSetter):
1203 2011-06-02 Sheriff Bot <webkit.review.bot@gmail.com>
1205 Unreviewed, rolling out r87920.
1206 http://trac.webkit.org/changeset/87920
1207 https://bugs.webkit.org/show_bug.cgi?id=61943
1209 This patch does not build in Win Builder (dbg)(shared)
1210 downstream (Requested by abarth|gardener on #webkit).
1212 * platform/chromium/PopupMenuChromium.cpp:
1213 (WebCore::PopupContainer::showPopup):
1214 (WebCore::PopupListBox::handleMouseReleaseEvent):
1215 (WebCore::PopupListBox::acceptIndex):
1217 2011-06-02 Dimitri Glazkov <dglazkov@chromium.org>
1219 Unreviewed, rolling out r87926.
1220 http://trac.webkit.org/changeset/87926
1221 https://bugs.webkit.org/show_bug.cgi?id=60313
1223 Fails to find WebCoreTestSupport.dylib on bots.
1225 * Configurations/WebCore.xcconfig:
1226 * Configurations/WebCoreTestSupport.xcconfig: Removed.
1227 * DerivedSources.make:
1229 * WebCore.gyp/WebCore.gyp:
1231 * WebCore.xcodeproj/project.pbxproj:
1232 * bindings/js/JSDOMWrapper.cpp:
1233 (WebCore::JSDOMWrapper::~JSDOMWrapper):
1234 * bindings/js/JSDOMWrapper.h:
1235 * testing/Internals.cpp: Removed.
1236 * testing/Internals.h: Removed.
1237 * testing/Internals.idl: Removed.
1238 * testing/js/WebCoreTestSupport.cpp: Removed.
1239 * testing/js/WebCoreTestSupport.h: Removed.
1240 * testing/v8/WebCoreTestSupport.cpp: Removed.
1241 * testing/v8/WebCoreTestSupport.h: Removed.
1243 2011-06-02 Carlos Garcia Campos <cgarcia@igalia.com>
1245 Reviewed by Martin Robinson.
1247 [GTK] Implement popup menus in Webkit2
1248 https://bugs.webkit.org/show_bug.cgi?id=61854
1250 Move common code into a new class to be used by both WebKit1 and
1253 * GNUmakefile.list.am: Add new files to compilation.
1254 * platform/gtk/GtkPopupMenu.cpp: Copied from Source/WebCore/platform/gtk/PopupMenuGtk.cpp.
1255 (WebCore::GtkPopupMenu::GtkPopupMenu):
1256 (WebCore::GtkPopupMenu::~GtkPopupMenu):
1257 (WebCore::GtkPopupMenu::clear): Remove all menu items.
1258 (WebCore::GtkPopupMenu::appendSeparator): Add a new separator
1260 (WebCore::GtkPopupMenu::appendItem): Add a new item to the menu for
1262 (WebCore::GtkPopupMenu::popUp): Show the menu.
1263 (WebCore::GtkPopupMenu::popDown): Hide the menu.
1264 (WebCore::GtkPopupMenu::menuRemoveItem):
1265 (WebCore::GtkPopupMenu::menuPositionFunction):
1266 (WebCore::GtkPopupMenu::resetTypeAheadFindState):
1267 (WebCore::GtkPopupMenu::typeAheadFind):
1268 (WebCore::GtkPopupMenu::selectItemCallback):
1269 (WebCore::GtkPopupMenu::keyPressEventCallback):
1270 * platform/gtk/GtkPopupMenu.h: Copied from Source/WebCore/platform/gtk/PopupMenuGtk.h.
1271 (WebCore::GtkPopupMenu::create):
1272 (WebCore::GtkPopupMenu::platformMenu):
1273 * platform/gtk/PopupMenuGtk.cpp:
1274 (WebCore::PopupMenuGtk::PopupMenuGtk):
1275 (WebCore::PopupMenuGtk::~PopupMenuGtk):
1276 (WebCore::PopupMenuGtk::show): Use GtkPopupMenu.
1277 (WebCore::PopupMenuGtk::hide): Ditto.
1278 (WebCore::PopupMenuGtk::menuItemActivated):
1279 (WebCore::PopupMenuGtk::menuUnmapped):
1280 * platform/gtk/PopupMenuGtk.h:
1282 2011-05-21 Dimitri Glazkov <dglazkov@chromium.org>
1284 Reviewed by Darin Adler.
1286 Add build logistics and plumbing for window.internals object.
1287 https://bugs.webkit.org/show_bug.cgi?id=60313
1289 Test: fast/harness/internals-object.html
1291 * Configurations/WebCoreTestSupport.xcconfig: Added.
1292 * DerivedSources.make: Added support for generating from Internals.idl.
1293 * WebCore.gyp/WebCore.gyp: Added new webcore_test_support library.
1294 * WebCore.gypi: Ditto.
1295 * WebCore.xcodeproj/project.pbxproj: Added WebCoreTestSupport library.
1296 * testing/Internals.cpp: Added.
1297 * testing/Internals.h: Added.
1298 * testing/Internals.idl: Added.
1299 * testing/js/WebCoreTestSupport.cpp: Added.
1300 * testing/js/WebCoreTestSupport.h: Added.
1301 * testing/v8/WebCoreTestSupport.cpp: Added.
1302 * testing/v8/WebCoreTestSupport.h: Added.
1304 2011-06-02 Naoki Takano <takano.naoki@gmail.com>
1306 Reviewed by Dimitri Glazkov.
1308 [Chromium] Click event is not fired for a menulist <select>
1309 https://bugs.webkit.org/show_bug.cgi?id=60563
1311 Tests: SelectItemEventFire, SelectItemKeyEvent, SelectItemRemoveSelectOnChange and SelectItemRemoveSelectOnChange in webkit_unit_tests.
1313 * platform/chromium/PopupMenuChromium.cpp:
1314 (WebCore::PopupContainer::showPopup): Set m_focusedNode from m_frameView.
1315 (WebCore::PopupListBox::handleMouseReleaseEvent): Call dispatchMouseEvent to forward the event only if select popup.
1316 (WebCore::PopupListBox::acceptIndex): Change to return accepted or not.
1318 2011-06-02 Dimitri Glazkov <dglazkov@chromium.org>
1320 Reviewed by Darin Adler.
1322 Stop event propagation for cases where relatedTarget is both ancestor of the target and at shadow boundary.
1323 https://bugs.webkit.org/show_bug.cgi?id=61892
1325 In the cases where the relatedTarget of an event is an ancestor of the target, and the relatedTarget is
1326 a shadow host, we should not allow events to escape out of the hosted shadow DOM subtree.
1328 * dom/EventDispatcher.cpp:
1329 (WebCore::EventDispatcher::adjustToShadowBoundaries): Added a check that is valid for both new and old shadow DOM.
1331 2011-06-02 Hans Wennborg <hans@chromium.org>
1333 Reviewed by Tony Gentilcore.
1335 Fix LevelDBTransaction::clearTree()
1336 https://bugs.webkit.org/show_bug.cgi?id=61917
1338 This was broken in the code I copied it from; we can't delete and walk
1339 the tree at the same time.
1341 No new functionality, no new tests.
1343 * platform/leveldb/LevelDBTransaction.cpp:
1344 (WebCore::LevelDBTransaction::clearTree):
1346 2011-06-02 Andreas Kling <kling@webkit.org>
1348 Rubber-stamped by Simon Hausmann.
1350 Remove Qt's precompiled header hack as it was broken, and was not even
1351 used unless building WebKit inside a Qt tree.
1355 2011-06-02 James Robinson <jamesr@chromium.org>
1357 Reviewed by Brady Eidson.
1359 DocumentLoader keeps a reference to all URL strings ever loaded leading to lots of memory waste
1360 https://bugs.webkit.org/show_bug.cgi?id=61894
1362 DocumentLoader::m_resourcesClientKnowsAbout is a set of all the URLs that have passed through
1363 FrameLoader::dispatchWillSendRequest() and is used by FrameLoader::loadedResourceFromMemoryCached to decide
1364 whether to inform the FrameLoader's m_client about this load. Unfortunately, this set holds a reference to the
1365 URL string for every resource loaded, so on pages that use data URLs to "load" large amounts of data this leaks
1368 This set only has an effect on the Mac port, as the only two ports that implement
1369 FrameLoaderClient::dispatchDidLoadResourceFromMemoryCache() are Chromium and Mac and the Chromium implementation
1370 can correctly handle receiving multiple callbacks. This patch limits the set to only PLATFORM(MAC) so other
1371 ports do not have to pay this memory cost. It's possible that a better fix exists specifically for the Mac port
1372 implementation, but that would have to determined by someone who works on that port specifically.
1374 * loader/DocumentLoader.h:
1375 (WebCore::DocumentLoader::didTellClientAboutLoad):
1376 (WebCore::DocumentLoader::haveToldClientAboutLoad):
1378 2011-06-02 Aparna Nandyal <aparna.nand@wipro.com>
1380 Reviewed by Andreas Kling.
1382 [Qt] Multiple drop events when doing DnD of images.
1383 https://bugs.webkit.org/show_bug.cgi?id=61504
1385 Duplicate entries of the url were getting added into drag data
1386 which is removed. The duplicate entries were causing the same image
1387 url to be copied twice. The code changes now match other webkit ports.
1389 * platform/qt/ClipboardQt.cpp:
1390 (WebCore::ClipboardQt::declareAndWriteDragImage):
1392 2011-06-02 Naiem Shaik <naiem.shaik@gmail.com>
1394 Reviewed by Kent Tamura.
1396 Fixing invalid value being returned for default checkbox and radio state
1397 https://bugs.webkit.org/show_bug.cgi?id=61674
1399 As per http://www.w3.org/TR/html5/number-state.html#checkbox-state and
1400 http://www.w3.org/TR/html5/number-state.html#radio-button-state:
1401 The value IDL attribute is in mode default/on:
1402 If the element has a value attribute, it must return that attribute's
1403 value; otherwise, it must return the string "on".
1404 Currently default value is empty string;Default value of Radio button
1405 and checkbox should be "on".Changed fallbackValue function to return the same
1406 This works as per spec in IE9,Firefox and Opera
1408 Tests: fast/forms/checkbox-default-value.html
1409 fast/forms/radio-default-value.html
1411 * html/BaseCheckableInputType.cpp:
1412 (WebCore::BaseCheckableInputType::fallbackValue):
1414 2011-06-02 Kent Tamura <tkent@chromium.org>
1416 [Chromium/Mac] Fix a wrong merge for r87881
1417 https://bugs.webkit.org/show_bug.cgi?id=61845
1419 * platform/chromium/ThemeChromiumMac.mm:
1420 (WebCore::paintStepper):
1422 2011-06-02 Ian Henderson <ianh@apple.com>
1424 Reviewed by Simon Fraser.
1426 [CG] GraphicsContext::fillRoundedRect() ignores the gradient fill the CGContextFillEllipseInRect() code path
1427 https://bugs.webkit.org/show_bug.cgi?id=61882
1429 If we have a gradient or pattern fill set, take the slow path, which
1430 handles these cases properly.
1432 No new tests, since we never try to fill a rounded rect with a
1433 gradient or pattern.
1435 * platform/graphics/cg/GraphicsContextCG.cpp:
1436 (WebCore::GraphicsContext::fillRoundedRect):
1438 2011-06-02 MORITA Hajime <morrita@google.com>
1440 Reviewed by Kent Tamura.
1442 [Refactoring] Node::nextRenderer() and previousRenderer() should be part of NodeRenderingContext
1443 https://bugs.webkit.org/show_bug.cgi?id=61912
1445 Inlined Node::nextRenderer() and previousRenderer() into NodeRenderingContext and
1446 removed original definitions.
1448 No test, no behavioral change.
1452 * dom/NodeRenderingContext.cpp:
1453 (WebCore::NodeRenderingContext::nextRenderer):
1454 (WebCore::NodeRenderingContext::previousRenderer):
1456 2011-06-02 Piroska András <Piroska.Andras@stud.u-szeged.hu>
1458 Rubber-stamped by Gabor Loki.
1460 Trivial buildfix for the ParallelJobs part of FEConvolveMatrix.
1462 * platform/graphics/filters/FEConvolveMatrix.cpp:
1463 (WebCore::FEConvolveMatrix::apply): Rename variable i to job
1465 2011-06-02 Yuta Kitamura <yutak@chromium.org>
1467 Reviewed by Kent Tamura.
1469 WebSocket: Call WebSocketChannel::fail() when WebSocketHandshake has failed
1470 https://bugs.webkit.org/show_bug.cgi?id=61841
1472 There is no change in behavior except that capitalization of a few error messages
1473 has been changed. No new tests are added.
1475 * websockets/WebSocketChannel.cpp:
1476 (WebCore::WebSocketChannel::processBuffer):
1477 Pass m_handshake.failureReason() to fail() if the handshake has failed.
1478 * websockets/WebSocketHandshake.cpp:
1479 Replace occurrences of m_handle->addMessage() with assignments to m_failureReason.
1480 Change capitalization of a few messages so that all messages start with a capital letter.
1481 (WebCore::WebSocketHandshake::readServerHandshake):
1482 (WebCore::WebSocketHandshake::failureReason):
1483 (WebCore::WebSocketHandshake::readStatusLine):
1484 (WebCore::WebSocketHandshake::readHTTPHeaders):
1485 (WebCore::WebSocketHandshake::checkResponseHeaders):
1486 * websockets/WebSocketHandshake.h:
1487 Add failureReason(), which returns a string that describes why WebSocket handshake
1490 2011-06-01 Dan Bernstein <mitz@apple.com>
1492 Reviewed by Anders Carlsson.
1494 Incorrect UA style when printing a simple document
1495 https://bugs.webkit.org/show_bug.cgi?id=61900
1497 This is not testable in run-webkit-tests because unless the test is the first to run in an instance
1498 of DumpRenderTree, it is not guaranteed that the full default style sheet has not been initialized.
1500 * css/CSSStyleSelector.cpp:
1501 (WebCore::loadFullDefaultStyle): Replace the simple default print style, which is now equal to the
1502 simple default style, with a new RuleSet before adding the style rules from the full default sheet.
1503 (WebCore::loadSimpleDefaultStyle): Set defaultPrintStyle to point to the default style. They are
1504 equal in the simple case.
1506 2011-06-01 Kent Tamura <tkent@chromium.org>
1508 Reviewed by Dimitri Glazkov.
1510 Remove outer-spin-button
1511 https://bugs.webkit.org/show_bug.cgi?id=61845
1513 Remove outer-spin-button, and render steppers as inner-spin-button.
1514 Outer-spin-button have never worked well with padding and border of
1515 <input>, and the layout code is very tricky and very hard to maintain it.
1517 * css/CSSPrimitiveValueMappings.h:
1518 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1519 * css/CSSValueKeywords.in:
1521 * html/HTMLInputElement.cpp:
1522 (WebCore::HTMLInputElement::innerSpinButtonElement):
1523 * html/HTMLInputElement.h:
1525 * html/TextFieldInputType.cpp:
1526 (WebCore::TextFieldInputType::TextFieldInputType):
1527 (WebCore::TextFieldInputType::createShadowSubtree):
1528 (WebCore::TextFieldInputType::destroyShadowSubtree):
1529 * html/TextFieldInputType.h:
1530 * html/shadow/TextControlInnerElements.cpp:
1531 (WebCore::SpinButtonElement::SpinButtonElement):
1532 (WebCore::SpinButtonElement::create):
1533 (WebCore::SpinButtonElement::shadowPseudoId):
1534 * html/shadow/TextControlInnerElements.h:
1535 * platform/ThemeTypes.h:
1536 * platform/chromium/ThemeChromiumMac.mm:
1537 (WebCore::paintStepper):
1538 Center the stepper drawing area because the specified area can be
1539 larger than the NSStepper sizes.
1540 (WebCore::ThemeChromiumMac::controlSize):
1541 (WebCore::ThemeChromiumMac::minimumControlSize):
1542 (WebCore::ThemeChromiumMac::inflateControlPaintRect):
1543 (WebCore::ThemeChromiumMac::paint):
1544 * platform/mac/ThemeMac.mm:
1545 (WebCore::paintStepper):
1546 Center the stepper drawing area because the specified area can be
1547 larger than the NSStepper sizes.
1548 (WebCore::ThemeMac::controlSize):
1549 (WebCore::ThemeMac::minimumControlSize):
1550 (WebCore::ThemeMac::inflateControlPaintRect):
1551 (WebCore::ThemeMac::paint):
1552 * rendering/RenderBox.cpp:
1553 (WebCore::RenderBox::paintBoxDecorations):
1554 * rendering/RenderBox.h:
1555 * rendering/RenderTextControlSingleLine.cpp:
1556 (WebCore::RenderTextControlSingleLine::layout):
1557 (WebCore::RenderTextControlSingleLine::nodeAtPoint):
1558 (WebCore::RenderTextControlSingleLine::textBlockWidth):
1559 * rendering/RenderTextControlSingleLine.h:
1560 * rendering/RenderTheme.cpp:
1561 (WebCore::RenderTheme::adjustStyle):
1562 (WebCore::RenderTheme::paint):
1563 (WebCore::RenderTheme::adjustInnerSpinButtonStyle):
1564 * rendering/RenderTheme.h:
1565 * rendering/RenderThemeMac.mm:
1566 (WebCore::RenderThemeMac::adjustRepaintRect):
1568 2011-06-01 Emil A Eklund <eae@chromium.org>
1570 Reviewed by Eric Seidel.
1572 Switch RenderLayer::convertToLayerCoords to use IntPoint
1573 https://bugs.webkit.org/show_bug.cgi?id=61818
1575 Covered by existing tests.
1577 * platform/graphics/FloatPoint.h:
1578 (WebCore::flooredIntSize):
1579 * rendering/RenderLayer.cpp:
1580 (WebCore::RenderLayer::updateLayerPositions):
1581 (WebCore::expandClipRectForDescendantsAndReflection):
1582 (WebCore::transparencyClipBox):
1583 (WebCore::RenderLayer::convertToLayerCoords):
1584 (WebCore::RenderLayer::paintLayer):
1585 (WebCore::RenderLayer::paintChildLayerIntoColumns):
1586 (WebCore::RenderLayer::createLocalTransformState):
1587 (WebCore::RenderLayer::hitTestChildLayerColumns):
1588 (WebCore::RenderLayer::calculateClipRects):
1589 (WebCore::RenderLayer::calculateRects):
1590 (WebCore::RenderLayer::boundingBox):
1591 (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
1592 * rendering/RenderLayer.h:
1593 * rendering/RenderLayerBacking.cpp:
1594 (WebCore::RenderLayerBacking::updateCompositedBounds):
1595 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1596 * rendering/RenderLayerCompositor.cpp:
1597 (WebCore::RenderLayerCompositor::calculateCompositedBounds):
1598 (WebCore::RenderLayerCompositor::layerWillBeRemoved):
1599 (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
1601 2011-06-01 Roland Steiner <rolandsteiner@chromium.org>
1603 Reviewed by Kent Tamura.
1605 Remove superfluous renderer() test
1606 https://bugs.webkit.org/show_bug.cgi?id=61907
1608 No new tests. (trivial)
1611 (WebCore::Document::recalcStyle):
1613 2011-06-01 Levi Weintraub <leviw@chromium.org>
1615 Reviewed by Hajime Morita.
1617 Add IntPoint + IntPoint operator
1618 https://bugs.webkit.org/show_bug.cgi?id=61876
1620 Adding an operator+ convenience method to IntPoint that sums two points
1621 and returns the result as an IntPoint. Changing doImageDrag to use it
1622 as a proof of concept.
1624 No new tests since there is no change in behavior.
1626 * page/DragController.cpp:
1627 (WebCore::DragController::doImageDrag):
1628 * platform/graphics/IntPoint.h:
1629 (WebCore::operator+):
1631 2011-06-01 Jaehun Lim <ljaehun.lim@samsung.com>
1633 Reviewed by Eric Seidel.
1635 [EFL] Add adjustMenuListButtonStyle and paintMenuListButton functions
1636 https://bugs.webkit.org/show_bug.cgi?id=61836
1638 Add functions for rendering drop-down list when style attributes are applied.
1640 * platform/efl/RenderThemeEfl.cpp:
1641 (WebCore::RenderThemeEfl::adjustMenuListButtonStyle):
1642 (WebCore::RenderThemeEfl::paintMenuListButton):
1643 * platform/efl/RenderThemeEfl.h:
1645 2011-06-01 Yuta Kitamura <yutak@chromium.org>
1647 Reviewed by Kent Tamura.
1649 WebSocket: WebSocketChannel::fail() should close the connection immediately
1650 https://bugs.webkit.org/show_bug.cgi?id=61851
1652 The effect of this change is almost unobservable. The difference between m_handle->close() and
1653 m_handle->disconnect() is that the former does not close the connection if the handle has
1654 unsent data while the latter immediately closes the connection regardless of unsent data.
1655 Usually a socket stream handle does not have unsent data, and even if it has any, it is hard
1656 for user scripts to observe the difference between close() and disconnect() (it should take some time
1657 for onclose() to be called if there are any unsent data, but there ought to be no other difference
1658 in user scripts' perspective).
1660 No new tests are added, because writing a test for this issue is not feasible due to the above reason.
1662 * websockets/WebSocketChannel.cpp:
1663 (WebCore::WebSocketChannel::fail): Use m_handle->disconnect() instead of m_handle->close().
1665 2011-06-01 Abhishek Arya <inferno@chromium.org>
1669 Coding style nit. Move ec=0 initialization, change
1670 recommended by Alexey in bug.
1671 https://bugs.webkit.org/show_bug.cgi?id=60831
1674 (WebCore::Document::setBody):
1676 2011-06-01 Hayato Ito <hayato@chromium.org>
1678 Reviewed by Kent Tamura.
1680 Move {Next,Previous}FocusableNode functions from Document to FocusController.
1681 https://bugs.webkit.org/show_bug.cgi?id=61839
1683 There are some member functions in Document which use 'this'
1684 pointer, but we should use TreeScope instead of Document in some
1685 places to handle focus issues nicely. We have to move these
1686 functions out of Document class so that we can give the TreeScope
1689 No new tests since no functionality was changed.
1693 * page/FocusController.cpp:
1694 (WebCore::FocusController::deepFocusableNode):
1695 (WebCore::FocusController::advanceFocusInDocumentOrder):
1696 (WebCore::nextNodeWithExactTabIndex):
1697 (WebCore::previousNodeWithExactTabIndex):
1698 (WebCore::nextNodeWithGreaterTabIndex):
1699 (WebCore::previousNodeWithLowerTabIndex):
1700 (WebCore::FocusController::nextFocusableNode):
1701 (WebCore::FocusController::previousFocusableNode):
1702 * page/FocusController.h:
1704 2011-06-01 Adrienne Walker <enne@google.com>
1706 Reviewed by James Robinson.
1708 [chromium] Fix syncing of removed mask and replica layers
1709 https://bugs.webkit.org/show_bug.cgi?id=61895
1711 * platform/graphics/chromium/TreeSynchronizer.cpp:
1712 (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
1714 2011-06-01 Julien Chaffraix <jchaffraix@codeaurora.org>
1716 Reviewed by Simon Fraser.
1718 CSSStyleSheet#insertRule doesn't work well with imported stylesheets
1719 https://bugs.webkit.org/show_bug.cgi?id=56981
1721 Test: fast/css/import-and-insert-rule-no-update.html
1723 The bug arises from the fact that <link> element did not know about a programmatically
1724 loading sheet (using insertRule and @import) and would thus never call removePendingSheet.
1725 This is needed to make sure our style selector contains an up-to-date list of stylesheets.
1727 The gist of the patch adds a way for style sheet owner element to know if we are
1728 programmatically loading a style sheet. This is needed as <link> keeps the information
1729 about that last loaded stylesheet.
1731 * css/CSSImportRule.cpp:
1732 (WebCore::CSSImportRule::insertedIntoParent): Call startLoadingDynamicSheet
1733 on our parent style sheet instead of directly adding a pending style sheet.
1735 * css/CSSStyleSheet.cpp:
1736 (WebCore::CSSStyleSheet::startLoadingDynamicSheet): Call startLoadingDynamicSheet
1737 on our owner element if we have one.
1739 * css/CSSStyleSheet.h:
1741 (WebCore::Node::startLoadingDynamicSheet): Added common implementation of
1742 startLoadingDynamicSheet, which should never be called.
1744 * dom/StyleElement.cpp:
1745 (WebCore::StyleElement::startLoadingDynamicSheet):
1746 * dom/StyleElement.h:
1747 Common implementation of startLoadingDynamicSheet for style elements.
1749 * html/HTMLLinkElement.cpp:
1750 (WebCore::HTMLLinkElement::startLoadingDynamicSheet):
1751 * html/HTMLLinkElement.h:
1752 Use the HTMLLinkElement plumbing to make sure we call addRemovePendingSheet.
1754 * html/HTMLStyleElement.h:
1755 (WebCore::HTMLStyleElement::startLoadingDynamicSheet):
1756 * svg/SVGStyleElement.h:
1757 (WebCore::SVGStyleElement::startLoadingDynamicSheet):
1758 Forward the call to StyleElement.
1760 2011-06-01 Levi Weintraub <leviw@chromium.org>
1762 Reviewed by Eric Seidel.
1764 Switch paintCustomHighlight to use IntPoint
1765 https://bugs.webkit.org/show_bug.cgi?id=61562
1767 Switching paintCustomHighlight to use an IntPoint for
1768 its paint offset instead of a pair of ints.
1770 No new tests since this is refactoring.
1772 * rendering/InlineTextBox.cpp:
1773 (WebCore::InlineTextBox::paint):
1774 (WebCore::InlineTextBox::paintCustomHighlight):
1775 * rendering/InlineTextBox.h:
1776 * rendering/RenderBox.cpp:
1777 (WebCore::RenderBox::paintCustomHighlight):
1778 * rendering/RenderBox.h:
1779 * rendering/RenderImage.cpp:
1780 (WebCore::RenderImage::paintReplaced):
1781 * rendering/RenderListMarker.cpp:
1782 (WebCore::RenderListMarker::paint):
1783 * rendering/RenderWidget.cpp:
1784 (WebCore::RenderWidget::paint):
1785 * rendering/RootInlineBox.cpp:
1786 (WebCore::RootInlineBox::paintCustomHighlight):
1787 (WebCore::RootInlineBox::paint):
1788 * rendering/RootInlineBox.h:
1790 2011-06-01 Emil A Eklund <eae@chromium.org>
1792 Reviewed by Eric Seidel.
1794 Switch MouseRelatedEvent to use IntPoint
1795 https://bugs.webkit.org/show_bug.cgi?id=61574
1797 Covered by existing tests.
1799 * dom/MouseEvent.cpp:
1800 (WebCore::MouseEvent::MouseEvent):
1801 (WebCore::MouseEvent::initMouseEvent):
1802 (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
1803 * dom/MouseRelatedEvent.cpp:
1804 (WebCore::MouseRelatedEvent::MouseRelatedEvent):
1805 (WebCore::contentsScrollOffset):
1806 (WebCore::MouseRelatedEvent::initCoordinates):
1807 (WebCore::MouseRelatedEvent::computeRelativePosition):
1808 (WebCore::MouseRelatedEvent::layerX):
1809 (WebCore::MouseRelatedEvent::layerY):
1810 (WebCore::MouseRelatedEvent::offsetX):
1811 (WebCore::MouseRelatedEvent::offsetY):
1812 (WebCore::MouseRelatedEvent::pageX):
1813 (WebCore::MouseRelatedEvent::pageY):
1814 (WebCore::MouseRelatedEvent::pageLocation):
1815 (WebCore::MouseRelatedEvent::x):
1816 (WebCore::MouseRelatedEvent::y):
1817 * dom/MouseRelatedEvent.h:
1818 (WebCore::MouseRelatedEvent::screenX):
1819 (WebCore::MouseRelatedEvent::screenY):
1820 (WebCore::MouseRelatedEvent::screenLocation):
1821 (WebCore::MouseRelatedEvent::clientX):
1822 (WebCore::MouseRelatedEvent::clientY):
1823 (WebCore::MouseRelatedEvent::clientLocation):
1824 (WebCore::MouseRelatedEvent::absoluteLocation):
1825 * dom/TouchEvent.cpp:
1826 (WebCore::TouchEvent::TouchEvent):
1827 (WebCore::TouchEvent::initTouchEvent):
1828 * dom/WheelEvent.cpp:
1829 (WebCore::WheelEvent::WheelEvent):
1830 (WebCore::WheelEvent::initWheelEvent):
1831 (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
1833 (WebCore::WheelEvent::create):
1834 (WebCore::WheelEvent::wheelDelta):
1835 (WebCore::WheelEvent::wheelDeltaX):
1836 (WebCore::WheelEvent::wheelDeltaY):
1837 (WebCore::WheelEvent::rawDeltaX):
1838 (WebCore::WheelEvent::rawDeltaY):
1839 (WebCore::WheelEvent::isHorizontal):
1840 * platform/graphics/IntPoint.h:
1841 (WebCore::IntPoint::scale):
1843 2011-06-01 Levi Weintraub <leviw@chromium.org>
1845 Reviewed by Eric Seidel.
1847 Switch paintOverflowControls to use IntPoint
1848 https://bugs.webkit.org/show_bug.cgi?id=61884
1850 Switching paintOverflowControls to use an IntPoint instead of a pair of ints.
1852 No new tests since this is simple refactoring.
1854 * rendering/RenderBlock.cpp:
1855 (WebCore::RenderBlock::paint):
1856 * rendering/RenderLayer.cpp:
1857 (WebCore::RenderLayer::paintOverflowControls):
1858 (WebCore::RenderLayer::paintLayer):
1859 * rendering/RenderLayer.h:
1860 * rendering/RenderLayerBacking.cpp:
1861 (WebCore::RenderLayerBacking::paintIntoLayer):
1863 2011-06-01 Abhishek Arya <inferno@chromium.org>
1865 Reviewed by Alexey Proskuryakov.
1867 Fix setting of document.body
1868 https://bugs.webkit.org/show_bug.cgi?id=60831
1870 1. Only allowing setting to an element if it has a body tag.
1871 2. If element is from another document, import it.
1873 Test: fast/dom/document-set-body.html
1876 (WebCore::Document::setBody):
1878 2011-06-01 Chris Fleizach <cfleizach@apple.com>
1880 Reviewed by Darin Adler.
1882 Safari always crashes on http://bbc.co.uk when VoiceOver enabled
1883 https://bugs.webkit.org/show_bug.cgi?id=61886
1885 This crash can happen on webpages that remove an element from the DOM when the element receives focus.
1886 When AppKit goes to post a notification to inform VoiceOver the focus has changed, it asks for the AXFocusedUIElement.
1887 However by posting that notification, a render tree update is performed. This causes the element to disappear, but
1888 AppKit still has a handle to it and continues to try to reference it. When the autorelease pool pops, the reference goes bad.
1890 To fix, the root element, the AccessibilityScrollView, needs to implement updateBackingStore(), otherwise this method
1891 will not be called in time.
1893 No test could be created because to cause it depends on an internal AppKit mechanism
1894 that is only triggered remotely through the accessibility runtime.
1896 * accessibility/AccessibilityObject.cpp:
1897 (WebCore::AccessibilityObject::updateBackingStore):
1898 * accessibility/AccessibilityObject.h:
1899 * accessibility/AccessibilityRenderObject.cpp:
1900 * accessibility/AccessibilityRenderObject.h:
1902 2011-06-01 David Carson <dacarson@apple.com>
1904 Reviewed by Antti Koivisto.
1906 https://bugs.webkit.org/show_bug.cgi?id=61831
1907 If width and height of an iframe is fixed and should not be visible, then
1908 it shouldn't be flattened.
1910 Test: fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html
1912 * rendering/RenderIFrame.cpp:
1913 (WebCore::RenderIFrame::flattenFrame): add a check for a zero width or height
1915 2011-06-01 Daniel Cheng <dcheng@chromium.org>
1917 Reviewed by Tony Chang.
1919 [chromium] Use correct file name for dragging out images.
1920 https://bugs.webkit.org/show_bug.cgi?id=24887
1922 We try to guess an appropriate filename when dragging out images. In order, we try to use:
1923 - The filename suggested in the HTTP header.
1924 - The last path component of the source URL.
1926 This matches the behavior of the other WebKit ports.
1928 Test: fast/events/drag-image-filename.html
1930 * platform/chromium/ClipboardChromium.cpp:
1931 (WebCore::writeImageToDataObject):
1932 * platform/chromium/ClipboardChromiumMac.cpp:
1933 (WebCore::isInvalidFileCharacter):
1934 (WebCore::ClipboardChromium::validateFileName):
1936 2011-06-01 Levi Weintraub <leviw@chromium.org>
1938 Reviewed by Eric Seidel.
1940 Text is scaled in a stair-step pattern
1941 https://bugs.webkit.org/show_bug.cgi?id=60317
1943 Stop scaling the specified font to the actual on-screen value when font-rendering:
1944 geometricPrecision is specified, but instead scale the graphics context. This allows
1945 us to scale text up and down smoothly.
1947 Test: svg/text/scaling-font-with-geometric-precision.html
1949 * rendering/svg/RenderSVGInlineText.cpp:
1950 (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
1952 2011-06-01 Levi Weintraub <leviw@chromium.org>
1954 Reviewed by Eric Seidel.
1956 Switch paintResizer to use IntPoint
1957 https://bugs.webkit.org/show_bug.cgi?id=61883
1959 Switch paintResizer to take an IntPoint instead of a pair of ints.
1961 No new tests as this is simple refactoring.
1963 * rendering/RenderLayer.cpp:
1964 (WebCore::RenderLayer::paintOverflowControls):
1965 (WebCore::RenderLayer::paintResizer):
1966 * rendering/RenderLayer.h:
1967 * rendering/RenderLayerBacking.cpp:
1968 (WebCore::RenderLayerBacking::paintContents):
1970 2011-06-01 Jer Noble <jer.noble@apple.com>
1972 Reviewed by Darin Adler.
1974 Page layout messed up after exiting full screen at Apple trailers page
1975 https://bugs.webkit.org/show_bug.cgi?id=61755
1976 <rdar://problem/9525277>
1978 Test: fullscreen/full-screen-zIndex-after.html
1980 Fix the incomplete implementation of r87660. Make parameters to
1981 setContainsFullScreenElementRecursively() in webkitWillExitFullScreenForElement() match those
1982 in webkitWillEnterFullScreenForElement(), so the ancestors' flags do not become
1986 (WebCore::Document::webkitWillExitFullScreenForElement):
1988 2011-06-01 Levi Weintraub <leviw@chromium.org>
1990 Reviewed by Eric Seidel.
1992 Switch paintScrollCorner to use IntPoint
1993 https://bugs.webkit.org/show_bug.cgi?id=61874
1995 Changing paintScrollCorner to take an IntPoint representing the paint
1996 offset instead of a pair of ints.
1998 No new tests as this is simple refactoring.
2000 * rendering/RenderLayer.cpp:
2001 (WebCore::RenderLayer::paintOverflowControls):
2002 (WebCore::RenderLayer::paintScrollCorner):
2003 * rendering/RenderLayer.h:
2004 * rendering/RenderLayerBacking.cpp:
2005 (WebCore::RenderLayerBacking::paintContents):
2007 2011-06-01 Kenneth Russell <kbr@google.com>
2009 Reviewed by Nate Chapin.
2011 [V8] Optimize fetches of indexed properties in custom bindings
2012 https://bugs.webkit.org/show_bug.cgi?id=61821
2014 Avoid allocating garbage in affected custom bindings. This speeds
2015 up one test case by at least a factor of two. No new tests;
2016 covered by existing layout tests (typed array and otherwise).
2018 * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2019 (WebCore::constructWebGLArray):
2020 (WebCore::setWebGLArrayHelper):
2021 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
2022 (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
2023 * bindings/v8/custom/V8MessagePortCustom.cpp:
2024 (WebCore::getMessagePortArray):
2025 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2026 (WebCore::jsArrayToFloatArray):
2027 (WebCore::jsArrayToIntArray):
2029 2011-06-01 Andras Becsi <abecsi@webkit.org>
2031 Reviewed by Csaba Osztrogonác.
2033 [Qt] Fix the Phonon build when logging is disabled
2034 https://bugs.webkit.org/show_bug.cgi?id=61869
2036 No new tests needed.
2038 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Add missing guards.
2039 (WebCore::MediaPlayerPrivatePhonon::networkState):
2040 (WebCore::MediaPlayerPrivatePhonon::readyState):
2041 (WebCore::MediaPlayerPrivatePhonon::updateStates):
2042 (WebCore::MediaPlayerPrivatePhonon::stateChanged):
2044 2011-06-01 Abhishek Arya <inferno@chromium.org>
2046 Reviewed by Antti Koivisto.
2048 Do not use the pushed style selector if it is not equal to the
2049 parent document's style selector. It usually means that it is
2050 in a bad state, e.g. already cleared.
2051 https://bugs.webkit.org/show_bug.cgi?id=61737
2054 (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
2056 2011-06-01 Levi Weintraub <leviw@chromium.org>
2058 Reviewed by Eric Seidel.
2060 Switch RenderLineBoxList intersection functions to use IntPoint
2061 https://bugs.webkit.org/show_bug.cgi?id=61794
2063 Switching rangeIntersectsRect, anyLineIntersectsRect, and lineIntersectsDirtyRect
2064 to take IntPoint instead of a tx/ty to represent the offset to be applied match
2065 the rect and lines' coordinates.
2067 No new tests since this is merely refactoring.
2069 * rendering/RenderLineBoxList.cpp:
2070 (WebCore::RenderLineBoxList::rangeIntersectsRect):
2071 (WebCore::RenderLineBoxList::anyLineIntersectsRect):
2072 (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
2073 (WebCore::RenderLineBoxList::paint):
2074 (WebCore::RenderLineBoxList::hitTest):
2075 * rendering/RenderLineBoxList.h:
2077 2011-05-19 Adrienne Walker <enne@google.com>
2079 Reviewed by James Robinson.
2081 [chromium] Don't split long, narrow layers into multiple tiles.
2082 https://bugs.webkit.org/show_bug.cgi?id=60821
2084 This changes the heuristic for when we tile layers to be less bad
2085 about wasting texture space. Long, narrow layers that are tiled with
2086 a large tile size waste texture space. Now layers are only tiled if
2087 they are above 512px in one dimension and extend into a second tile in
2088 the other. If they are not tiled, their layer texture will exactly
2089 fit their layer bounds. In particular, this will help scrollbars.
2091 * platform/graphics/chromium/ContentLayerChromium.cpp:
2092 (WebCore::ContentLayerChromium::updateLayerSize):
2093 * platform/graphics/chromium/LayerRendererChromium.h:
2094 (WebCore::LayerRendererChromium::maxTextureSize):
2096 2011-06-01 Cary Clark <caryclark@google.com>
2098 Reviewed by Eric Seidel.
2100 Ready Chromium port for Skia on Mac
2101 https://bugs.webkit.org/show_bug.cgi?id=61800
2103 Skia on Mac is not enabled. The executing
2104 code is unchanged, so there are no new tests.
2106 * platform/chromium/DragImageRef.h:
2107 Use Skia for DragImageRef instead of CG.
2109 * platform/chromium/ScrollbarThemeChromiumMac.mm:
2110 (WebCore::ScrollbarThemeChromiumMac::paint):
2111 Get the total matrix from Skia for the scrollbar.
2112 Convert the SkCanvas into a CGContext to draw.
2114 * platform/chromium/ThemeChromiumMac.mm:
2115 (WebCore::paintStepper):
2118 2011-06-01 Yury Semikhatsky <yurys@chromium.org>
2120 Reviewed by Pavel Feldman.
2122 Web Inspector: allow opening inspector for existing workers
2123 https://bugs.webkit.org/show_bug.cgi?id=61853
2125 Added sidebar pane with a list of all workers. Each worker has a check box
2126 that allows opening inspector for the worker.
2128 * inspector/Inspector.json:
2129 * inspector/InspectorInstrumentation.cpp:
2130 (WebCore::InspectorInstrumentation::didStartWorkerContextImpl):
2131 * inspector/InspectorInstrumentation.h:
2132 (WebCore::InspectorInstrumentation::didStartWorkerContext):
2133 * inspector/InspectorWorkerAgent.cpp:
2134 (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
2135 (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel):
2136 (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::connectToWorkerContext):
2137 (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::disconnectFromWorkerContext):
2138 (WebCore::InspectorWorkerAgent::clearFrontend):
2139 (WebCore::InspectorWorkerAgent::connectToWorker):
2140 (WebCore::InspectorWorkerAgent::disconnectFromWorker):
2141 (WebCore::InspectorWorkerAgent::didStartWorkerContext):
2142 * inspector/InspectorWorkerAgent.h:
2143 * inspector/front-end/ScriptsPanel.js:
2144 (WebInspector.ScriptsPanel):
2145 * inspector/front-end/Settings.js:
2146 * inspector/front-end/WorkerManager.js:
2147 (WebInspector.WorkerManager):
2148 (WebInspector.WorkerManager.prototype._workerCreated):
2149 (WebInspector.WorkerManager.prototype._sendMessageToWorkerInspector):
2150 (WebInspector.WorkerManager.prototype.openWorkerInspector):
2151 (WebInspector.WorkerManager.prototype.closeWorkerInspector):
2152 (WebInspector.WorkerManager.prototype._workerInspectorClosing):
2153 (WebInspector.WorkerMessageForwarder):
2154 (WebInspector.WorkerMessageForwarder.prototype.workerCreated):
2155 (WebInspector.WorkerMessageForwarder.prototype.dispatchMessageFromWorker):
2156 * inspector/front-end/WorkersSidebarPane.js:
2157 (WebInspector.WorkersSidebarPane):
2158 (WebInspector.WorkersSidebarPane.prototype.addWorker):
2159 (WebInspector.WorkerListSidebarPane):
2160 (WebInspector.WorkerListSidebarPane.prototype._workerAdded):
2161 (WebInspector.WorkerListSidebarPane.prototype._workerRemoved):
2162 (WebInspector.WorkerListSidebarPane.prototype._workerInspectorClosed):
2163 (WebInspector.WorkerListSidebarPane.prototype._addWorker):
2164 (WebInspector.WorkerListSidebarPane.prototype._createCheckbox):
2165 (WebInspector.WorkerListSidebarPane.prototype._workerItemClicked):
2166 * workers/Worker.cpp:
2167 (WebCore::Worker::notifyFinished):
2169 2011-06-01 Shishir Agrawal <shishir@chromium.org>
2171 Reviewed by Tony Gentilcore.
2173 Renaming the Page Visibility attributes as per the modified spec draft.
2174 https://bugs.webkit.org/show_bug.cgi?id=61825
2177 http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html
2179 - Event needs to be webkitVisibilityChange from webkitVisibilityStateChange
2180 - The attribute webkitIsVisible needs to change to webkitHidden
2183 (WebCore::Document::webkitHidden):
2184 (WebCore::Document::dispatchVisibilityStateChangeEvent):
2189 2011-06-01 Nikolas Zimmermann <nzimmermann@rim.com>
2191 Reviewed by Rob Buis.
2193 Remove duplicated code in various computeReplacedLogical*() functions
2194 https://bugs.webkit.org/show_bug.cgi?id=61860
2196 Centralize this calculation in RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth:
2197 int minLogicalWidth = computeReplacedLogicalWidthUsing(style()->logicalMinWidth());
2198 int maxLogicalWidth = !includeMaxWidth || style()->logicalMaxWidth().isUndefined() ? logicalWidth : computeReplacedLogicalWidthUsing(style()->logicalMaxWidth());
2199 return max(minLogicalWidth, min(logicalWidth, maxLogicalWidth));
2201 Centralize this calculation in RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight:
2202 int minLogicalHeight = computeReplacedLogicalHeightUsing(style()->logicalMinHeight());
2203 int maxLogicalHeight = style()->logicalMaxHeight().isUndefined() ? logicalHeight : computeReplacedLogicalHeightUsing(style()->logicalMaxHeight());
2204 return max(minLogicalHeight, min(logicalHeight, maxLogicalHeight));
2206 Use the new helper methods where possible, deduplicating lots of code.
2208 * rendering/RenderBox.cpp:
2209 (WebCore::RenderBox::computeReplacedLogicalWidth):
2210 (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
2211 (WebCore::RenderBox::computeReplacedLogicalHeight):
2212 (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
2213 * rendering/RenderBox.h:
2214 * rendering/RenderImage.cpp:
2215 (WebCore::RenderImage::computeReplacedLogicalWidth):
2216 (WebCore::RenderImage::computeReplacedLogicalHeight):
2217 * rendering/RenderPart.cpp:
2218 (WebCore::RenderPart::computeEmbeddedDocumentReplacedWidth):
2219 (WebCore::RenderPart::computeEmbeddedDocumentReplacedHeight):
2220 (WebCore::RenderPart::computeReplacedLogicalWidth):
2221 (WebCore::RenderPart::computeReplacedLogicalHeight):
2222 * rendering/RenderPart.h:
2223 * rendering/RenderReplaced.cpp:
2224 (WebCore::RenderReplaced::computeReplacedLogicalWidth):
2225 (WebCore::RenderReplaced::computeReplacedLogicalHeight):
2226 * rendering/svg/RenderSVGRoot.cpp:
2227 (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
2228 (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
2230 2011-06-01 Sheriff Bot <webkit.review.bot@gmail.com>
2232 Unreviewed, rolling out r87788.
2233 http://trac.webkit.org/changeset/87788
2234 https://bugs.webkit.org/show_bug.cgi?id=61856
2236 breaks windows chromium canary (Requested by jknotten on
2239 * loader/archive/mhtml/MHTMLArchive.cpp:
2240 * loader/archive/mhtml/MHTMLArchive.h:
2241 * page/PageSerializer.cpp:
2242 (WebCore::PageSerializer::serializeFrame):
2243 (WebCore::PageSerializer::serializeCSSStyleSheet):
2244 * platform/SharedBuffer.cpp:
2245 * platform/SharedBuffer.h:
2247 2011-06-01 Joseph Pecoraro <joepeck@webkit.org>
2249 Reviewed by Pavel Feldman.
2251 Web Inspector: [JSC] JSLock ASSERTs Seen Under eventListenerHandlerBody
2252 https://bugs.webkit.org/show_bug.cgi?id=61835
2254 Add a JSLock call before possible allocations in jsFunction and toString.
2256 * bindings/js/ScriptEventListener.cpp:
2257 (WebCore::eventListenerHandlerBody):
2259 2011-06-01 Jay Civelli <jcivelli@chromium.org>
2261 Reviewed by Adam Barth.
2263 Adding MHTML generation support to MHTMLArchive.
2264 https://bugs.webkit.org/show_bug.cgi?id=7169
2266 * loader/archive/mhtml/MHTMLArchive.cpp:
2267 (WebCore::generateRandomBoundary):
2268 (WebCore::replaceNonPrintableCharacters):
2269 (WebCore::MHTMLArchive::generateMHTMLData):
2270 * loader/archive/mhtml/MHTMLArchive.h:
2271 * page/PageSerializer.cpp:
2272 (WebCore::PageSerializer::serializeFrame):
2273 (WebCore::PageSerializer::serializeCSSStyleSheet):
2274 * platform/SharedBuffer.cpp:
2275 (WebCore::SharedBuffer::append):
2276 * platform/SharedBuffer.h:
2278 2011-06-01 Dimitri Glazkov <dglazkov@chromium.org>
2280 Reviewed by Kent Tamura.
2282 Remove ShadowElement and compact remaining used bits into RenderFileUploadControl.
2283 https://bugs.webkit.org/show_bug.cgi?id=61816
2285 This is a near-mechanical move-and-rename of ShadowElement, which is now only
2286 used by input[type=file]. Next step -- switch it over to new shadow DOM.
2288 Refactoring, no change in behavior.
2290 * CMakeLists.txt: Removed ShadowElement.cpp and ShadowElement.h.
2291 * GNUmakefile.list.am: Ditto.
2292 * WebCore.gypi: Ditto.
2293 * WebCore.pro: Ditto.
2294 * WebCore/WebCore.vcproj/WebCore.vcproj: Ditto.
2295 * WebCore.xcodeproj/project.pbxproj: Ditto.
2296 * WebCore/rendering/RenderingAllInOne.cpp: Ditto.
2297 * rendering/RenderFileUploadControl.cpp:
2298 (WebCore::UploadButton::create): Moved from ShadowElement, renamed as UploadButton.
2299 (WebCore::UploadButton::detach): Ditto.
2300 (WebCore::UploadButton::UploadButton): Ditto.
2301 (WebCore::RenderFileUploadControl::updateFromElement): Changed to use UploadButton.
2302 * rendering/RenderMeter.cpp: Removed ShadowElement.h include, which is no longer used.
2303 * rendering/RenderProgress.cpp: Ditto.
2304 * rendering/ShadowElement.cpp: Removed.
2305 * rendering/ShadowElement.h: Removed.
2307 2011-06-01 Nikolas Zimmermann <nzimmermann@rim.com>
2309 Reviewed by Rob Buis.
2311 SVG fails all 3 of Hixie's CSS intrinsic sizing tests
2312 https://bugs.webkit.org/show_bug.cgi?id=15473
2314 Hixies CSS intrinsic sizing tests cover percentage sizes specified on the target SVG document as width/height attributes
2315 and using width: auto / height: auto on the <object> that hosts the SVG document. Take percentage sizes of the outermost
2316 SVGs width/height attributes into account when determining the intrinsic size of the <object>.
2318 Added several other testcases demonstrating several scenarios. All tests work exactly the same in WebKit and Firefox now.
2319 The *on-target-svg-absolute.xhtml tests look equal to WebKit/FF but Opera fails them, likely a relict of the different
2320 interpretation of the intrinsic size of a SVG document in SVG Tiny 1.2.
2322 Tests: svg/custom/object-sizing-height-50p-on-target-svg-absolute.xhtml
2323 svg/custom/object-sizing-height-50p-on-target-svg.xhtml
2324 svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute.xhtml
2325 svg/custom/object-sizing-width-50p-height-50p-on-target-svg.xhtml
2326 svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute.xhtml
2327 svg/custom/object-sizing-width-50p-height-75p-on-target-svg.xhtml
2328 svg/custom/object-sizing-width-50p-on-target-svg-absolute.xhtml
2329 svg/custom/object-sizing-width-50p-on-target-svg.xhtml
2330 svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute.xhtml
2331 svg/custom/object-sizing-width-75p-height-50p-on-target-svg.xhtml
2332 svg/hixie/intrinsic/001.html
2333 svg/hixie/intrinsic/002.html
2334 svg/hixie/intrinsic/003.html
2336 * rendering/RenderPart.cpp:
2337 (WebCore::RenderPart::computeReplacedLogicalWidth):
2338 (WebCore::RenderPart::computeReplacedLogicalHeight):
2339 * rendering/svg/RenderSVGRoot.cpp:
2340 (WebCore::RenderSVGRoot::computeIntrinsicRatio):
2341 * rendering/svg/RenderSVGRoot.h:
2343 2011-05-31 Tonis Tiigi <tonistiigi@gmail.com>
2345 Reviewed by Pavel Feldman.
2347 Web Inspector: Timeline panel improvements for managing current selection
2348 https://bugs.webkit.org/show_bug.cgi?id=61468
2350 Enables X-axis dragging of the selected area.
2351 Double click zoom-out.
2352 Fixes slightly wrong selection area position.
2354 * inspector/front-end/TimelineOverviewPane.js:
2355 (WebInspector.TimelineOverviewPane):
2356 (WebInspector.TimelineOverviewPane.prototype._dragWindow):
2357 (WebInspector.TimelineOverviewPane.prototype._endWindowSelectorDragging):
2358 (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
2359 (WebInspector.TimelineOverviewPane.prototype._resizeWindowMaximum):
2360 (WebInspector.TimelineOverviewPane.prototype.scrollWindow):
2361 (WebInspector.TimelineOverviewPane.prototype._createTimelineCategoryStatusBarCheckbox):
2362 * inspector/front-end/TimelinePanel.js:
2363 (WebInspector.TimelinePanel):
2365 2011-05-31 Keishi Hattori <keishi@webkit.org>
2367 Reviewed by Kent Tamura.
2369 Fix to enable page scroll of select element
2370 https://bugs.webkit.org/show_bug.cgi?id=53628
2372 Manual test: select-page-scroll.html
2374 * manual-tests/select-page-scroll.html: Added.
2375 * rendering/RenderListBox.cpp:
2376 (WebCore::RenderListBox::computeLogicalHeight): Fix min to max.
2378 2011-05-31 Yong Li <yoli@rim.com>
2380 Reviewed by Eric Seidel.
2382 https://bugs.webkit.org/show_bug.cgi?id=54807
2383 We have been assuming plain bitfields (like "int a : 31") are always signed integers.
2384 However some compilers can treat them as unsigned. For example, RVCT 4.0 states plain
2385 bitfields (declared without either signed or unsigned qualifiers) are treats as unsigned.
2386 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348c/Babjddhe.html
2387 Although we can use "--signed-bitfields" flag to make RVCT 4.0 behave as most other compilers,
2388 always using "signed"/"unsigned" qualifier to declare integral type bitfields is still a good
2389 rule we should have in order to make our code independent from compilers and compiler flags.
2391 No new test added because this change is not known to fix any issue.
2393 * css/CSSPrimitiveValue.h:
2394 * css/CSSProperty.h:
2395 * rendering/InlineBox.h:
2396 * rendering/RenderBlock.h:
2398 2011-05-31 Hironori Bono <hbono@chromium.org>
2400 Reviewed by Eric Seidel.
2402 Send an input event when we change the text direction.
2403 https://bugs.webkit.org/show_bug.cgi?id=50952
2405 Both Safari and Chrome call Editor::setBaseWritingDirection() to change
2406 the text direction of an editable element with their UIs. This change
2407 calls dispatchInputEvent() to send an input event when the function
2408 actually changes the "dir" attribute so we can send an input event as
2409 written in the HTML5 spec.
2411 Test: fast/html/set-text-direction.html
2413 * editing/Editor.cpp:
2414 (WebCore::Editor::setBaseWritingDirection):
2416 2011-05-31 Jer Noble <jer.noble@apple.com>
2418 Reviewed by Darin Adler.
2420 Flash of black at the end of full screen transition at apple.com product videos
2421 https://bugs.webkit.org/show_bug.cgi?id=61756
2423 Added two new entries to the WebCore exports list.
2427 2011-05-31 Rafael Brandao <rafael.lobo@openbossa.org>
2429 Reviewed by Andreas Kling.
2431 [Qt] tst_QWebFrame::render() failing
2432 https://bugs.webkit.org/show_bug.cgi?id=60893
2434 Due a problem on QPicture (http://bugreports.qt.nokia.com/browse/QTBUG-19496),
2435 this test was calculating the final geometry incorrectly. As the order between
2436 a translate and a draw operation could be relevant for it, but not for the
2437 final rendered result, they were changed on ScrollbarThemeQt::paint.
2439 * platform/qt/ScrollbarThemeQt.cpp:
2440 (WebCore::ScrollbarThemeQt::paint):
2442 2011-05-27 Adrienne Walker <enne@google.com>
2444 Reviewed by James Robinson.
2446 [chromium] Fix crash from empty reflections with masks
2447 https://bugs.webkit.org/show_bug.cgi?id=61654
2449 Change the iteration for updateCompositorResources to match that being
2450 done in the paint and draw steps. This mismatch of iteration style
2451 was causing layers with replica masks to correctly get skipped while
2452 painting but not get skipped during texture upload.
2454 Test: compositing/reflections/empty-reflection-with-mask.html
2456 * platform/graphics/chromium/LayerRendererChromium.cpp:
2457 (WebCore::LayerRendererChromium::updateLayers):
2458 (WebCore::LayerRendererChromium::updateCompositorResources):
2459 * platform/graphics/chromium/LayerRendererChromium.h:
2461 2011-05-31 B.J. Wever <skylined@chromium.org>
2463 Reviewed by Adam Barth.
2465 requestFileSystem and resolveLocalFileSystemURI are not checking if
2466 errorCallback is NULL before scheduling a callback on error.
2467 https://bugs.webkit.org/show_bug.cgi?id=49539
2469 Test: fast/filesystem/filesystem-no-callback-null-ptr-crash.html
2471 * fileapi/DOMFileSystem.cpp:
2472 (WebCore::DOMFileSystem::scheduleCallback): Only call callback if
2475 2011-05-31 Brady Eidson <beidson@apple.com>
2477 Reviewed by Darin Adler.
2479 Another swipe at resolving <rdar://problem/9125145> and https://bugs.webkit.org/show_bug.cgi?id=61494
2481 Re-land http://trac.webkit.org/changeset/87566 with invalid ASSERTs removed.
2483 No new tests. No change in behavior.
2485 Instead of storing the DocumentLoader at construction and never changing it,
2486 always calculate it based on the FrameLoader's current DocumentLoader:
2488 (WebCore::Document::Document):
2489 (WebCore::Document::suggestedMIMEType):
2490 (WebCore::Document::lastModified):
2491 (WebCore::Document::initSecurityContext):
2492 (WebCore::Document::updateURLForPushOrReplaceState):
2493 (WebCore::Document::loader):
2496 Null-check or ASSERT that the DocumentLoader exists (or both) depending on the scenario:
2497 * bindings/ScriptControllerBase.cpp:
2498 (WebCore::ScriptController::executeIfJavaScriptURL):
2499 * html/MediaDocument.cpp:
2500 (WebCore::MediaDocument::replaceMediaElementTimerFired):
2501 * html/PluginDocument.cpp:
2502 (WebCore::PluginDocumentParser::createDocumentStructure):
2503 * platform/mac/HTMLConverter.mm:
2504 (fileWrapperForElement):
2508 2011-05-31 Levi Weintraub <leviw@chromium.org>
2510 Reviewed by Simon Fraser.
2512 Change InlineBox::paint and its overloaded variants to use IntPoint
2513 https://bugs.webkit.org/show_bug.cgi?id=61804
2515 Changing InlineBox::paint, its 7 overloaded variants, and RootInlineBox::paintEllipsisBox
2516 to use IntPoint for their paint offset instead of a pair of ints.
2518 No new tests since this is just a refactoring.
2520 * rendering/EllipsisBox.cpp:
2521 (WebCore::EllipsisBox::paint):
2522 * rendering/EllipsisBox.h:
2523 * rendering/InlineBox.cpp:
2524 (WebCore::InlineBox::paint):
2525 * rendering/InlineBox.h:
2526 * rendering/InlineFlowBox.cpp:
2527 (WebCore::InlineFlowBox::paint):
2528 * rendering/InlineFlowBox.h:
2529 * rendering/InlineTextBox.cpp:
2530 (WebCore::InlineTextBox::paint):
2531 * rendering/InlineTextBox.h:
2532 * rendering/RenderBlock.cpp:
2533 (WebCore::RenderBlock::paintEllipsisBoxes):
2534 * rendering/RenderBoxModelObject.cpp:
2535 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2536 * rendering/RenderLineBoxList.cpp:
2537 (WebCore::RenderLineBoxList::paint):
2538 * rendering/RootInlineBox.cpp:
2539 (WebCore::RootInlineBox::paintEllipsisBox):
2540 (WebCore::RootInlineBox::paint):
2541 * rendering/RootInlineBox.h:
2542 * rendering/svg/SVGInlineFlowBox.cpp:
2543 (WebCore::SVGInlineFlowBox::paint):
2544 * rendering/svg/SVGInlineFlowBox.h:
2545 * rendering/svg/SVGInlineTextBox.cpp:
2546 (WebCore::SVGInlineTextBox::paint):
2547 * rendering/svg/SVGInlineTextBox.h:
2548 * rendering/svg/SVGRootInlineBox.cpp:
2549 (WebCore::SVGRootInlineBox::paint):
2550 * rendering/svg/SVGRootInlineBox.h:
2552 2011-05-31 James Robinson <jamesr@chromium.org>
2554 Reviewed by Kenneth Russell.
2556 [chromium] Clear out LayerChromium's m_ccLayerImpl ptr on CCLayerImpl destruction
2557 https://bugs.webkit.org/show_bug.cgi?id=61593
2559 Whenever a CCLayerImpl is being destroyed, clear out its owner's m_ccLayerImpl pointer.
2560 This is extremely defensive and not strictly necessary, but not harmful either.
2562 * platform/graphics/chromium/LayerChromium.h:
2563 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2564 (WebCore::CCLayerImpl::~CCLayerImpl):
2566 2011-05-31 Stephen White <senorblanco@chromium.org>
2568 Unreviewed; build fix.
2570 Silence some warnings on the Safari/Mac release build.
2572 * platform/graphics/gpu/TilingData.h:
2573 (WebCore::TilingData::assertTile):
2575 2011-05-31 Justin Novosad <junov@chromium.org>
2577 Reviewed by Stephen White.
2579 [Chromium] Build fails when ACCELERATED_2D_CANVAS is disabled
2580 https://bugs.webkit.org/show_bug.cgi?id=61790
2581 Changing the build guards in these two files that are required
2582 by the accelerated compositing feature.
2584 * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
2585 * platform/graphics/gpu/TilingData.cpp:
2587 2011-05-31 Justin Novosad <junov@chromium.org>
2589 Reviewed by Stephen White.
2591 [Chromium] Build fails when ACCELERATED_2D_CANVAS is disabled
2592 https://bugs.webkit.org/show_bug.cgi?id=61790
2593 Changing the build guards in these two files that are required
2594 by the accelerated compositing feature.
2596 * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
2597 * platform/graphics/gpu/TilingData.cpp:
2599 2011-05-31 Rob Buis <rbuis@rim.com>
2601 Reviewed by Dirk Schulze.
2603 https://bugs.webkit.org/show_bug.cgi?id=34301
2604 Creating <animateMotion> elements via javascript do not execute
2606 https://bugs.webkit.org/show_bug.cgi?id=17043
2607 SVG missing some .idl files
2609 Add missing idl files.
2611 Test: svg/animations/animate-mpath-insert.html
2614 * CodeGenerators.pri:
2616 * WebCore.xcodeproj/project.pbxproj:
2617 * svg/SVGAnimateMotionElement.idl: Added.
2618 * svg/SVGMPathElement.idl: Added.
2620 2011-05-31 Robin Dunn <robin@alldunn.com>
2622 Reviewed by Kevin Ollivier.
2624 [wx] Implement printing support for wxWidgets 2.9.x and above.
2626 https://bugs.webkit.org/show_bug.cgi?id=61796
2628 * platform/graphics/GraphicsContext.h:
2629 * platform/graphics/wx/FontWx.cpp:
2630 (WebCore::Font::drawGlyphs):
2631 * platform/graphics/wx/GraphicsContextWx.cpp:
2632 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2633 (WebCore::GraphicsContext::drawRect):
2634 (WebCore::GraphicsContext::drawLine):
2635 (WebCore::GraphicsContext::drawEllipse):
2636 (WebCore::GraphicsContext::strokeArc):
2637 (WebCore::GraphicsContext::drawConvexPolygon):
2638 (WebCore::GraphicsContext::fillRect):
2639 (WebCore::GraphicsContext::drawLineForText):
2640 (WebCore::GraphicsContext::scale):
2641 (WebCore::GraphicsContext::currentScale):
2642 * platform/wx/wxcode/win/non-kerned-drawing.cpp:
2643 (WebCore::drawTextWithSpacing):
2645 2011-05-31 Joseph Pecoraro <joepeck@webkit.org>
2647 Reviewed by Pavel Feldman.
2649 Web Inspector: Missing InspectorFrontendHost.saveSessionSetting function
2650 https://bugs.webkit.org/show_bug.cgi?id=61751
2652 Add missing stub function causing an error on load.
2654 * inspector/front-end/InspectorFrontendHostStub.js:
2655 (.WebInspector.InspectorFrontendHostStub.prototype.saveSessionSetting):
2657 2011-05-31 Abhishek Arya <inferno@chromium.org>
2659 Reviewed by Dimitri Glazkov.
2661 Improve hasMediaControls logic to check that node has
2662 media controls. This can be false when cloning nodes.
2663 https://bugs.webkit.org/show_bug.cgi?id=61765
2665 Test: media/media-controls-clone-crash.html
2668 (WebCore::Node::isMediaControls):
2669 * html/HTMLMediaElement.cpp:
2670 (WebCore::HTMLMediaElement::mediaControls):
2671 (WebCore::HTMLMediaElement::hasMediaControls):
2672 * html/shadow/MediaControls.h:
2673 (WebCore::MediaControls::isMediaControls):
2674 (WebCore::toMediaControls):
2676 2011-05-31 Xan Lopez <xlopez@igalia.com>
2678 Reviewed by Martin Robinson.
2680 [GTK] Provide custom DOM bindings methods to check if input/textareas have been edited
2681 https://bugs.webkit.org/show_bug.cgi?id=61791
2683 * bindings/gobject/GNUmakefile.am: add new files.
2684 * bindings/gobject/WebKitDOMCustom.cpp: Added.
2685 (webkit_dom_html_text_area_element_is_edited):
2686 (webkit_dom_html_input_element_is_edited):
2687 * bindings/gobject/WebKitDOMCustom.h: Added.
2689 2011-05-31 Noam Rosenthal <noam.rosenthal@nokia.com>
2691 Unreviewed build fix for Symbian.
2692 Opt-out Symbian for TextureMapper.
2694 No new tests: build fix.
2698 2011-05-31 Levi Weintraub <leviw@chromium.org>
2700 Reviewed by Eric Seidel.
2702 Switch paintFocusRing to IntPoint
2703 https://bugs.webkit.org/show_bug.cgi?id=61580
2705 Switching paintFocusRing to take an IntPoint representing the paint offset
2706 instead of a pair of ints.
2708 No new tests as this is just refactoring.
2710 * rendering/RenderInline.cpp:
2711 (WebCore::RenderInline::paintOutline):
2712 * rendering/RenderObject.cpp:
2713 (WebCore::RenderObject::paintFocusRing):
2714 (WebCore::RenderObject::paintOutline):
2715 * rendering/RenderObject.h:
2717 2011-05-31 Abhishek Arya <inferno@chromium.org>
2719 Reviewed by Dimitri Glazkov.
2721 Convert raw ptr to RefPtr for documentElement.
2722 https://bugs.webkit.org/show_bug.cgi?id=61688
2724 Test: fast/dom/xml-parser-error-message-crash.svg
2726 * dom/XMLDocumentParser.cpp:
2727 (WebCore::XMLDocumentParser::insertErrorMessageBlock):
2729 2011-05-31 Andreas Kling <kling@webkit.org>
2731 Reviewed by Antti Koivisto.
2733 Canvas/JSC: Auto-generate overloads for setShadow()
2734 https://bugs.webkit.org/show_bug.cgi?id=61786
2736 Move CanvasRenderingContext2D.setShadow() to auto-generated JSC bindings.
2738 There is a subtle difference to the previous behavior: invalid numbers of
2739 arguments now raise TypeError instead of SyntaxError. This is in accordance
2740 with Web IDL, and matches the existing V8 bindings.
2742 Test: fast/canvas/canvas-overloads-setShadow.html
2744 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2745 * html/canvas/CanvasRenderingContext2D.idl:
2747 2011-05-31 Andreas Kling <kling@webkit.org>
2749 Reviewed by Antti Koivisto.
2751 Canvas/JSC: Auto-generate overloads for drawImageFromRect()
2752 https://bugs.webkit.org/show_bug.cgi?id=61709
2754 Move CanvasRenderingContext2D.drawImageFromRect() to auto-generated JSC bindings.
2755 Make it [RequiresAllArguments=Raise] to match the old behavior.
2756 Side effect: calling drawImageFromRect() with zero arguments will now raise
2757 SyntaxError instead of TypeError.
2759 Test: fast/canvas/canvas-overloads-drawImageFromRect.html
2761 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2762 * html/canvas/CanvasRenderingContext2D.h:
2763 * html/canvas/CanvasRenderingContext2D.idl:
2765 2011-05-31 Andreas Kling <kling@webkit.org>
2767 Reviewed by Antti Koivisto.
2769 Canvas/JSC: Auto-generate overloads for drawImage()
2770 https://bugs.webkit.org/show_bug.cgi?id=61703
2772 Move CanvasRenderingContext2D.drawImage() to auto-generated JSC bindings.
2774 There is a subtle difference to the previous behavior: invalid numbers of
2775 arguments now raise TypeError instead of SyntaxError. This is in accordance
2776 with Web IDL, and matches the existing V8 bindings.
2778 Test: fast/canvas/canvas-overloads-drawImage.html
2780 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2781 * html/canvas/CanvasRenderingContext2D.idl:
2783 2011-05-31 Andreas Kling <kling@webkit.org>
2785 Reviewed by Antti Koivisto.
2787 Canvas/JSC: Auto-generate overloads for strokeRect()
2788 https://bugs.webkit.org/show_bug.cgi?id=61641
2790 Move CanvasRenderingContext2D.setStrokeColor() to auto-generated JSC bindings.
2792 No behavioral change.
2794 Test: fast/canvas/canvas-overloads-strokeRect.html
2796 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2797 * html/canvas/CanvasRenderingContext2D.idl:
2799 2011-05-31 Andreas Kling <kling@webkit.org>
2801 Reviewed by Antti Koivisto.
2803 Canvas/JSC: Auto-generate overloads for setFillColor()
2804 https://bugs.webkit.org/show_bug.cgi?id=61635
2806 Move CanvasRenderingContext2D.setStrokeColor() to auto-generated JSC bindings.
2808 There is a subtle difference to the previous behavior: invalid numbers of
2809 arguments now raise TypeError instead of SyntaxError. This is in accordance
2810 with Web IDL, but doesn't matter much anyway since this method is WebKit-only.
2812 Test: fast/canvas/canvas-overloads-setFillColor.html
2814 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2815 * html/canvas/CanvasRenderingContext2D.idl:
2817 2011-05-31 Andreas Kling <kling@webkit.org>
2819 Reviewed by Antti Koivisto.
2821 Canvas/JSC: Auto-generate overloads for setStrokeColor()
2822 https://bugs.webkit.org/show_bug.cgi?id=61629
2824 Move CanvasRenderingContext2D.setStrokeColor() to auto-generated JSC bindings.
2826 There is a subtle difference to the previous behavior: invalid numbers of
2827 arguments now raise TypeError instead of SyntaxError. This is in accordance
2828 with Web IDL, but doesn't matter much anyway since this method is WebKit-only.
2830 Test: fast/canvas/canvas-overloads-setStrokeColor.html
2832 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2833 * html/canvas/CanvasRenderingContext2D.idl:
2835 2011-05-31 Andreas Kling <kling@webkit.org>
2837 Reviewed by Antti Koivisto.
2839 Canvas/JSC: Auto-generate overloads for strokeText()
2840 https://bugs.webkit.org/show_bug.cgi?id=61626
2842 Move CanvasRenderingContext2D.strokeText() to auto-generated JSC bindings.
2843 Make it [RequiresAllArguments=Raise] to match the old behavior.
2844 This has the side-effect of aligning the behaviors of JSC and V8.
2846 Test: fast/canvas/canvas-overloads-strokeText.html
2848 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2849 * html/canvas/CanvasRenderingContext2D.idl:
2851 2011-05-31 Andreas Kling <kling@webkit.org>
2853 Reviewed by Antti Koivisto.
2855 Canvas/JSC: Auto-generate overloads for fillText()
2856 https://bugs.webkit.org/show_bug.cgi?id=61623
2858 Move CanvasRenderingContext2D.fillText() to auto-generated JSC bindings.
2859 Make it [RequiresAllArguments=Raise] to match the old behavior.
2860 This has the side-effect of aligning the behaviors of JSC and V8.
2862 Test: fast/canvas/canvas-overloads-fillText.html
2864 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2865 * html/canvas/CanvasRenderingContext2D.idl:
2867 2011-05-31 Yael Aharon <yael.aharon@nokia.com>
2869 Reviewed by Kenneth Rohde Christiansen.
2871 Frame flattening is broken with nested frames
2872 https://bugs.webkit.org/show_bug.cgi?id=61491
2874 After r77988, when frame flattening is enabled, performPostLayoutTasks() is called on a timer for iframes.
2875 This causes layout of nested iframes to sometimes happen asynchronously, but WebCore expects layout to always finish synchronously.
2876 Added a call to updateWidgetPosition() for cases that performPostLayoutTasks() is now happening asynchronously.
2878 Test: fast/frames/flattening/iframe-flattening-nested.html
2880 * page/FrameView.cpp:
2881 (WebCore::FrameView::layout):
2883 2011-05-31 Tommy Widenflycht <tommyw@google.com>
2885 Reviewed by Tony Gentilcore.
2887 Fix getUserMedia callback bindings for JSC.
2888 https://bugs.webkit.org/show_bug.cgi?id=60174
2890 This patch initializes the exception code variable to 0.
2892 Test: fast/dom/MediaStream/argument-types.html
2894 * bindings/js/JSNavigatorCustom.cpp:
2895 (WebCore::JSNavigator::webkitGetUserMedia):
2897 2011-05-31 Oleg Romashin <oleg.romashin@nokia.com>
2899 Reviewed by Benjamin Poulain.
2901 Fix compilation with debug enabled, m_lightSource.type is not valid anymore
2902 https://bugs.webkit.org/show_bug.cgi?id=61719
2904 * platform/graphics/filters/arm/FELightingNEON.h:
2905 (WebCore::FELighting::platformApplyNeon):
2907 2011-05-31 Oliver Varga <Varga.Oliver@stud.u-szeged.hu>
2909 Reviewed by Nikolas Zimmermann.
2911 Invalid color handling is broken for SVG
2912 https://bugs.webkit.org/show_bug.cgi?id=58531
2914 Fix invalid color fallback handling. If the fill/stroke attributes computed
2915 value leads to a an invalid color, inherit the desired color from the parent
2916 style instead. Matches Opera/FF and SVG 1.1 Second Edition (http://www.w3.org/TR/SVG/).
2918 Tests: svg/custom/invalid-stroke-hex.svg
2919 svg/custom/invalid-uri-stroke.svg
2921 * rendering/svg/RenderSVGResource.cpp:
2922 (WebCore::inheritColorFromParentStyleIfNeeded):
2923 (WebCore::requestPaintingResource):
2925 2011-05-31 Vangelis Kokkevis <vangelis@chromium.org>
2927 Reviewed by Kent Tamura.
2929 [chromium] Avoid double deletion of DrawingBuffer's color buffer
2931 https://bugs.webkit.org/show_bug.cgi?id=61761
2933 Test: Verified that the DCHECK in GraphicsContext3D implementation
2936 * platform/graphics/chromium/DrawingBufferChromium.cpp:
2937 (WebCore::DrawingBuffer::~DrawingBuffer):
2939 2011-05-30 Hayato Ito <hayato@chromium.org>
2941 Reviewed by Ryosuke Niwa.
2943 Add a utility function for dumping a tree for the Node, including a document of a frame.
2944 https://bugs.webkit.org/show_bug.cgi?id=61727
2946 No new tests since added functions are only available in debug builds.
2949 (WebCore::parentOrHostOrFrameOwner):
2950 (WebCore::traverseNextNodeAcrossFrame):
2951 (WebCore::Node::showTreeForThisAcrossFrame):
2954 2011-05-30 James Kozianski <koz@chromium.org>
2956 Reviewed by Kent Tamura.
2958 [Chromium] Make isValidProtocol() accept protocols with '+'.
2959 https://bugs.webkit.org/show_bug.cgi?id=61759
2961 Also, detect syntax errors before security errors; some syntax errors
2962 will also trigger a security error, but it's more helpful to the
2963 programmer to know if they have a syntax error, which are well-defined
2964 in the spec, rather than a security error, which aren't.
2966 * page/Navigator.cpp:
2967 (WebCore::Navigator::registerProtocolHandler):
2968 Detect syntax errors before security errors.
2969 * platform/KURLGoogle.cpp:
2970 (WebCore::isSchemeChar):
2971 Include '+' in the list of valid characters.
2973 2011-05-30 Andrey Petrov <andrey.petrov@gmail.com>
2975 Reviewed by Hajime Morita.
2977 Using jQuery to show/hide IMG elements crashes WebKit
2978 https://bugs.webkit.org/show_bug.cgi?id=31721
2980 For platform code, do not assert nodes always have renderer at
2981 the time context menu action is invoked.
2982 Renderer can actually be empty for a given node if it was hidden
2983 or removed from domtree by some non-user generated event (e.g timeout)
2984 after the popup menu had been created.
2986 Changing Chromium, Gtk, Mac, Qt, Win and WinCE.
2988 Test: editing/pasteboard/copy-standalone-image-crash.html
2990 * platform/chromium/PasteboardChromium.cpp:
2991 (WebCore::Pasteboard::writeImage):
2992 * platform/gtk/PasteboardGtk.cpp:
2993 (WebCore::Pasteboard::writeImage):
2994 * platform/mac/PasteboardMac.mm:
2995 (WebCore::Pasteboard::writeImage):
2996 * platform/qt/PasteboardQt.cpp:
2997 (WebCore::Pasteboard::writeImage):
2998 * platform/win/PasteboardWin.cpp:
2999 (WebCore::Pasteboard::writeImage):
3000 * platform/wince/PasteboardWinCE.cpp:
3001 (WebCore::Pasteboard::writeImage):
3003 2011-05-30 Daniel Bates <dbates@webkit.org>
3005 Reviewed by Adam Barth.
3007 Rename XSSFilter to XSSAuditor
3008 https://bugs.webkit.org/show_bug.cgi?id=61718
3010 Currently we use the names XSSFilter and XSSAuditor throughout the project.
3011 Instead, we should choose one name for consistency.
3013 No functionality was changed. So, no new tests.
3016 * GNUmakefile.list.am:
3019 * WebCore.vcproj/WebCore.vcproj:
3020 * WebCore.xcodeproj/project.pbxproj:
3021 * html/parser/HTMLDocumentParser.cpp:
3022 (WebCore::HTMLDocumentParser::HTMLDocumentParser):
3023 (WebCore::HTMLDocumentParser::pumpTokenizer):
3024 * html/parser/HTMLDocumentParser.h:
3025 * html/parser/XSSAuditor.cpp: Copied from Source/WebCore/html/parser/XSSFilter.cpp.
3026 (WebCore::XSSAuditor::XSSAuditor):
3027 (WebCore::XSSAuditor::init):
3028 (WebCore::XSSAuditor::filterToken):
3029 (WebCore::XSSAuditor::filterTokenInitial):
3030 (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
3031 (WebCore::XSSAuditor::filterScriptToken):
3032 (WebCore::XSSAuditor::filterObjectToken):
3033 (WebCore::XSSAuditor::filterParamToken):
3034 (WebCore::XSSAuditor::filterEmbedToken):
3035 (WebCore::XSSAuditor::filterAppletToken):
3036 (WebCore::XSSAuditor::filterIframeToken):
3037 (WebCore::XSSAuditor::filterMetaToken):
3038 (WebCore::XSSAuditor::filterBaseToken):
3039 (WebCore::XSSAuditor::filterFormToken):
3040 (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
3041 (WebCore::XSSAuditor::eraseAttributeIfInjected):
3042 (WebCore::XSSAuditor::snippetForRange):
3043 (WebCore::XSSAuditor::snippetForAttribute):
3044 (WebCore::XSSAuditor::isContainedInRequest):
3045 (WebCore::XSSAuditor::isSameOriginResource):
3046 * html/parser/XSSAuditor.h: Copied from Source/WebCore/html/parser/XSSFilter.h.
3047 * html/parser/XSSFilter.cpp: Removed.
3048 * html/parser/XSSFilter.h: Removed.
3050 2011-05-30 No'am Rosenthal <noam.rosenthal@nokia.com>
3052 Reviewed by Simon Hausmann.
3054 WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
3055 https://bugs.webkit.org/show_bug.cgi?id=61694
3057 Expose a public clearAll() function to reset WebCore::Animation.
3059 No new functionality, so no new tests.
3061 * platform/animation/Animation.h:
3062 (WebCore::Animation::clearAll):
3064 2011-05-30 Eric Carlson <eric.carlson@apple.com>
3066 Reviewed by Alexey Proskuryakov.
3068 Audio and video files saved to the Application Cache should preserve the original file extension
3069 https://bugs.webkit.org/show_bug.cgi?id=61750
3072 No new tests, it isn't possible to check the name of the file in the cache from within
3073 DRT. Changes verified manually.
3075 * loader/appcache/ApplicationCacheStorage.cpp:
3076 (WebCore::ApplicationCacheStorage::store): Append the original file extension to the cache
3078 (WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory): Add extension parameter.
3079 * loader/appcache/ApplicationCacheStorage.h:
3081 2011-05-30 Jer Noble <jer.noble@apple.com>
3083 Reviewed by Dan Bernstein.
3085 Play/Pause button in wrong state when entering full screen on Vimeo
3086 https://bugs.webkit.org/show_bug.cgi?id=61754
3088 Update the play/pause button inside reset(). This ensures the button is in
3089 the correct state when the controls are created after playback has already
3092 * html/shadow/MediaControlRootElement.cpp:
3093 (WebCore::MediaControlRootElement::reset):
3095 2011-05-30 No'am Rosenthal <noam.rosenthal@nokia.com>
3097 Reviewed by Simon Hausmann.
3099 WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
3100 https://bugs.webkit.org/show_bug.cgi?id=61694
3102 Added a public TimingFunction::type() method.
3104 No new functionality, so no new tests.
3106 * platform/animation/TimingFunction.h:
3107 (WebCore::TimingFunction::type):
3109 2011-05-30 Noam Rosenthal <noam.rosenthal@nokia.com>
3111 BUILD FIX for r87697 on Windows/Symbian
3113 For now enabling TextureMapper for Mac/Linux only.
3117 2011-05-30 David Kilzer <ddkilzer@apple.com>
3119 BUILD FIX for r87692 with !ENABLE(FULLSCREEN_API)
3121 * dom/EventDispatcher.cpp:
3122 (WebCore::EventDispatcher::determineDispatchBehavior): Mark
3123 shadowRoot as an unused parameter with !ENABLE(FULLSCREEN_API).
3125 2011-05-30 No'am Rosenthal <noam.rosenthal@nokia.com>
3127 Reviewed by Andreas Kling.
3129 [Texmap][Qt] Enable TextureMapper by default
3130 https://bugs.webkit.org/show_bug.cgi?id=61740
3132 Make CONFIG+=texmap an opt-out instead of an opt-in.
3134 No new functionality so no new tests.
3138 2011-05-30 Martin Robinson <mrobinson@igalia.com>
3140 Reviewed by Xan Lopez.
3142 [GTK] fast/css/font-face-zero-hash-key.html is crashing on the bots
3143 https://bugs.webkit.org/show_bug.cgi?id=61693
3145 Do not try to read the FT_Face from m_scaledFont if it m_scaledFont is
3146 null. A recent change fixing 0-pixel-size fonts means that m_scaledFont
3149 No new tests. This change should cause fast/css/font-face-zero-hash-key.html
3152 * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
3153 (WebCore::FontPlatformData::FontPlatformData): Do a null check before accessing
3156 2011-05-30 Noam Rosenthal <noam.rosenthal@nokia.com>
3158 Reviewed by Kenneth Rohde Christiansen.
3160 [Texmap][Qt] Disable accelerated plugins/media until they're working.
3161 https://bugs.webkit.org/show_bug.cgi?id=61687
3163 Until this works properly, we should indicate that our media implementation
3164 in texture mapper doesn't support accelerated compositing.
3166 This makes LayoutTests/compositing/video/* work again.
3168 * platform/graphics/qt/MediaPlayerPrivateQt.h:
3169 (WebCore::MediaPlayerPrivateQt::supportsAcceleratedRendering):
3170 (WebCore::MediaPlayerPrivateQt::platformLayer):
3172 2011-05-30 Mikhail Naganov <mnaganov@chromium.org>
3174 Reviewed by Adam Barth.
3176 [Chromium] Fix regression after r87628.
3177 https://bugs.webkit.org/show_bug.cgi?id=61733
3179 Having r87628 in place, Chrome reliability bot crashes in
3180 WebCore::HTMLLinkElement::onloadTimerFired.
3182 This is because the change makes WebCore::CachedResource::setRequest to
3183 call checkNotify on request reset. HTMLLinkElement registers itself as
3184 CachedResource client via m_cachedSheet, which can happen even if
3185 m_cachedLinkResource wasn't set. As a result,
3186 WebCore::HTMLLinkElement::notifyFinished is got called with unset
3187 m_cachedLinkResource, which causes a crash in
3188 HTMLLinkElement::onloadTimerFired
3190 * html/HTMLLinkElement.cpp:
3191 (WebCore::HTMLLinkElement::notifyFinished):
3193 2011-05-30 Jer Noble <jer.noble@apple.com>
3195 Reviewed by Darin Adler and Simon Fraser.
3197 REGRESSION (r87622): Scrubbing a Vimeo movie when in fullscreen stops playback; no way to make it start again
3198 https://bugs.webkit.org/show_bug.cgi?id=61717
3199 rdar://problem/9522272
3201 May be some good way to test this later. No immediate idea about the best way.
3203 When a media element is taken into full-screen mode, stop events from propagating
3204 outside the media element's shadow DOM, EventDispatcher::determineDispatchBehavior()
3205 has been changed to take a shadow root node. In our full screen media element check,
3206 we check to see if the passed shadow root is the shadow root of the full screen media
3207 element, and if so, specify events should StayInsideShadowDOM. The end result is that
3208 inside EventDispatcher::ensureEventAncestors, an ancestor chain is built up all the
3209 way from the SliderThumb to the video element's shadow root, but no further.
3211 * dom/EventDispatcher.cpp:
3212 (WebCore::EventDispatcher::determineDispatchBehavior): Restrict events to the
3213 shadow DOM when showing a full screen video.
3215 * html/HTMLMediaElement.cpp:
3216 (WebCore::HTMLMediaElement::HTMLMediaElement): Removed code to manage full screen controls.
3217 The events telling us about activity in the shadow DOM no longer bubble out so we need to
3218 handle this inside the shadow DOM on the root element.
3219 (WebCore::HTMLMediaElement::play): Ditto.
3220 (WebCore::HTMLMediaElement::playbackProgressTimerFired): Ditto.
3221 (WebCore::HTMLMediaElement::defaultEventHandler): Ditto.
3222 (WebCore::HTMLMediaElement::enterFullscreen): Ditto.
3223 (WebCore::HTMLMediaElement::exitFullscreen): Ditto.
3224 * html/HTMLMediaElement.h: Added isPlaying function, removed things moved to the root element.
3226 * html/shadow/MediaControlElements.cpp:
3227 (WebCore::MediaControlVolumeSliderContainerElement::defaultEventHandler): Rolled out
3228 changes that tried to make special rules for events using preDispatchEventHandler and such.
3229 This rolls out both r87622 and r87655.
3230 (WebCore::MediaControlMuteButtonElement::defaultEventHandler): Ditto.
3231 (WebCore::MediaControlPanelMuteButtonElement::defaultEventHandler): Ditto.
3232 (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Ditto.
3233 (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Ditto.
3234 (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
3235 (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
3236 (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler): Ditto.
3237 (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
3238 (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Ditto.
3239 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Ditto.
3240 (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler): Ditto.
3241 (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler): Ditto.
3242 * html/shadow/MediaControlElements.h: Ditto.
3244 * html/shadow/MediaControlRootElement.cpp:
3245 (WebCore::MediaControlRootElement::MediaControlRootElement): Initialize new data members.
3246 (WebCore::MediaControlRootElement::playbackStarted): Start the timer so we will consider
3247 hiding the controls later.
3248 (WebCore::MediaControlRootElement::playbackProgressed): Hide the controls if the mouse
3249 is no longer over the controls.
3250 (WebCore::MediaControlRootElement::playbackStopped): Stop the timer since we only hide
3251 automatically if we're playing.
3252 (WebCore::MediaControlRootElement::enteredFullscreen): Start the timer.
3253 (WebCore::MediaControlRootElement::exitedFullscreen): Stop the timer since we only care
3254 if we are full screen.
3255 (WebCore::MediaControlRootElement::containsRelatedTarget): Added. Helper for next function.
3256 (WebCore::MediaControlRootElement::defaultEventHandler): Do the hide/show and timer functions
3257 as the mouse is moved in and out.
3258 (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer): Start the timer if
3260 (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired): Hide if the conditions
3262 (WebCore::MediaControlRootElement::stopHideFullscreenControlsTimer): Stop the timer.
3264 * html/shadow/MediaControlRootElement.h: Added new functions and data members.
3267 2011-05-30 Gavin Peters <gavinp@chromium.org>
3269 Reviewed by Adam Barth.
3271 prevent HTMLLinkElement from watching multiple CachedResources
3272 https://bugs.webkit.org/show_bug.cgi?id=61686
3274 If we modify an existing link element, stop listening to the previous
3275 cached resource, to prevent double notifications (which crash).
3277 Test: fast/dom/HTMLLinkElement/prefetch-too-many-clients.html
3279 * html/HTMLLinkElement.cpp:
3280 (WebCore::HTMLLinkElement::process):
3282 2011-05-30 Peter Varga <pvarga@webkit.org>
3284 Unreviewed build fix.
3286 [Qt][V8] Fix debug build.
3288 No new tests needed.
3290 * css/CSSStyleDeclaration.cpp: Add missing header.
3291 * dom/Text.cpp: Ditto.
3292 * rendering/InlineTextBox.cpp: Ditto.
3294 2011-05-30 Sheriff Bot <webkit.review.bot@gmail.com>
3296 Unreviewed, rolling out r87683.
3297 http://trac.webkit.org/changeset/87683
3298 https://bugs.webkit.org/show_bug.cgi?id=61729
3300 Breaks inspector tests on Chromium (Requested by apavlov on
3303 * inspector/front-end/StylesSidebarPane.js:
3304 (WebInspector.StylesSidebarPane.prototype.update):
3306 2011-05-25 Alexander Pavlov <apavlov@chromium.org>
3308 Reviewed by Yury Semikhatsky.
3310 Web Inspector: node selection is slow in the Elements panel.
3311 https://bugs.webkit.org/show_bug.cgi?id=60813
3313 Schedule full style updates rather than request all node styles from the backend up front.
3315 * inspector/front-end/StylesSidebarPane.js:
3316 (WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
3317 (WebInspector.StylesSidebarPane.prototype.update):
3319 2011-05-30 Andrey Kosyakov <caseq@chromium.org>
3321 Reviewed by Pavel Feldman.
3323 Web Inspector: do not issue frontendReused for reload or navigation.
3324 https://bugs.webkit.org/show_bug.cgi?id=61192
3326 - only issue frontendReused when inspector is attached after main resource committed load
3327 - upon committing loading main resource, reset agents before sending FrameNavigated to page agent
3328 - Ensure main resource is set early so that abbreviations of URLs in resource tree are consistent after reload
3329 - do not enable agents explicitly in frontendReused (this is done by backend when resotring state from cookie)
3331 * inspector/InspectorAgent.cpp:
3332 (WebCore::InspectorAgent::InspectorAgent):
3333 (WebCore::InspectorAgent::restore):
3334 (WebCore::InspectorAgent::clearFrontend):
3335 (WebCore::InspectorAgent::didCommitLoad):
3336 * inspector/InspectorAgent.h:
3337 * inspector/InspectorInstrumentation.cpp:
3338 (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3339 * inspector/front-end/NetworkManager.js:
3340 * inspector/front-end/ResourceTreeModel.js:
3341 (WebInspector.ResourceTreeModel.prototype._processCachedResources):
3342 (WebInspector.ResourceTreeModel.prototype._frameNavigated):
3343 (WebInspector.ResourceTreeModel.prototype._cleanupFramesAfterNavigation):
3344 (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
3345 * inspector/front-end/ResourcesPanel.js:
3346 (WebInspector.ResourcesPanel.prototype.reset):
3347 (WebInspector.ResourcesPanel.prototype._resetResourcesTree):
3348 (WebInspector.DatabaseTreeElement.prototype.onpopulate):
3349 (WebInspector.SearchResultsTreeElementsTraverser.prototype._lastTreeElement):
3350 * inspector/front-end/inspector.js:
3351 (WebInspector.reset):
3352 (WebInspector.frontendReused):
3354 2011-05-30 Ryan Sleevi <rsleevi@chromium.org>
3356 Reviewed by Darin Adler.
3358 FEConvolveMatrix::getPixelValue() fails to properly check if y is within bounds, causing it to fail to correctly apply the kernel and edge mode to the first targetY pixels
3359 https://bugs.webkit.org/show_bug.cgi?id=61603
3361 Test: svg/filters/feConvolveFilter-y-bounds.svg
3363 * platform/graphics/filters/FEConvolveMatrix.cpp:
3364 (WebCore::FEConvolveMatrix::getPixelValue):
3366 2011-05-30 Nate Chapin <japhet@chromium.org>
3368 Reviewed by Antti Koivisto.
3370 Refactor the CachedResourceLoader -> CachedResource -> CachedResourceRequest
3371 flow so it's a little less circular.
3372 https://bugs.webkit.org/show_bug.cgi?id=61666
3374 * loader/cache/CachedFont.cpp:
3375 (WebCore::CachedFont::beginLoadIfNeeded):
3376 * loader/cache/CachedResource.cpp:
3377 (WebCore::CachedResource::load):
3378 * loader/cache/CachedResourceLoader.cpp:
3379 (WebCore::CachedResourceLoader::requestImage):
3380 (WebCore::CachedResourceLoader::setAutoLoadImages):
3381 (WebCore::CachedResourceLoader::loadStarted):
3382 * loader/cache/CachedResourceLoader.h:
3383 * loader/cache/CachedResourceRequest.cpp:
3384 (WebCore::CachedResourceRequest::load):
3386 2011-05-30 Sheriff Bot <webkit.review.bot@gmail.com>
3388 Unreviewed, rolling out r87618.
3389 http://trac.webkit.org/changeset/87618
3390 https://bugs.webkit.org/show_bug.cgi?id=61720
3392 Causes BrowserFocusTest.FocusOnReload to fail (Requested by
3393 abarth|gardener on #webkit).
3395 * html/HTMLLinkElement.cpp:
3396 (WebCore::HTMLLinkElement::process):
3398 2011-05-29 Yuta Kitamura <yutak@chromium.org>
3400 Reviewed by Kent Tamura.
3402 WebSocket closing handshake
3403 https://bugs.webkit.org/show_bug.cgi?id=35721
3405 Implement WebSocket closing handshake based on Ian Hickson's
3406 WebSocket protocol draft 76.
3408 Tests: http/tests/websocket/tests/client-close.html
3409 http/tests/websocket/tests/server-close.html
3411 * platform/network/SocketStreamHandleBase.cpp:
3412 (WebCore::SocketStreamHandleBase::send):
3413 Do not send a message if we are in Closing state.
3414 (WebCore::SocketStreamHandleBase::close):
3415 Do not disconnect if we have pending data which have not been sent yet.
3416 In this case, the actual disconnection will happen in sendPendingData().
3417 (WebCore::SocketStreamHandleBase::disconnect):
3418 Renamed from close(). Disconnect the connection immediately.
3419 (WebCore::SocketStreamHandleBase::sendPendingData):
3420 * platform/network/SocketStreamHandleBase.h:
3421 * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
3422 Add didStartClosingHandshake(). Add a function argument (ClosingHandshakeCompletionStatus)
3424 (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
3425 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
3426 (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
3427 (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
3428 * websockets/ThreadableWebSocketChannelClientWrapper.h:
3429 * websockets/WebSocket.cpp:
3430 (WebCore::WebSocket::send):
3431 (WebCore::WebSocket::close):
3432 Fail if close() is attempted before the connection is established.
3433 Otherwise, set the state to CLOSING and start the closing handshake.
3434 (WebCore::WebSocket::bufferedAmount):
3435 If the state is CLOSING, we need to consider buffered data in m_channel and sent after close().
3436 (WebCore::WebSocket::didConnect):
3437 (WebCore::WebSocket::didReceiveMessage):
3438 We need to invoke message event in CLOSING state as well as OPEN state.
3439 (WebCore::WebSocket::didReceiveMessageError):
3440 (WebCore::WebSocket::didStartClosingHandshake):
3441 (WebCore::WebSocket::didClose):
3442 * websockets/WebSocket.h:
3443 * websockets/WebSocketChannel.cpp:
3444 (WebCore::WebSocketChannel::WebSocketChannel):
3445 (WebCore::WebSocketChannel::close):
3446 Start the closing handshake.
3447 (WebCore::WebSocketChannel::disconnect):
3448 Disconnect the socket stream, instead of close.
3449 (WebCore::WebSocketChannel::didClose):
3450 (WebCore::WebSocketChannel::didReceiveData): Ditto.
3451 (WebCore::WebSocketChannel::didFail): Ditto.
3452 (WebCore::WebSocketChannel::processBuffer):
3454 Handle 0xFF 0x00 byte sequence, and discard received data once the closing handshake has started.
3455 (WebCore::WebSocketChannel::startClosingHandshake):
3456 Send 0xFF 0x00 byte sequence.
3457 (WebCore::WebSocketChannel::closingTimerFired):
3458 Disconnect the socket stream if the closing handshake has timed out.
3459 * websockets/WebSocketChannel.h:
3460 m_closing is true if "the WebSocket closing handshake has started" (as stated in the protocol
3462 * websockets/WebSocketChannelClient.h:
3463 (WebCore::WebSocketChannelClient::didStartClosingHandshake): Added.
3464 (WebCore::WebSocketChannelClient::didClose): Add closingHandshakeCompletion parameter.
3465 * websockets/WorkerThreadableWebSocketChannel.cpp:
3466 Add closingHandshakeCompletion parameter to didClose(), and add didStartClosingHandshake().
3467 (WebCore::WorkerThreadableWebSocketChannel::Peer::close):
3468 (WebCore::workerContextDidStartClosingHandshake):
3469 (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
3470 (WebCore::workerContextDidClose):
3471 (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
3472 * websockets/WorkerThreadableWebSocketChannel.h:
3474 2011-05-29 Adam Barth <abarth@webkit.org>
3476 Attempt to fix build by implementing pure virtual function.
3478 * html/shadow/MediaControlRootElementChromium.cpp:
3479 (WebCore::MediaControlRootElementChromium::shouldHideControls):
3480 * html/shadow/MediaControlRootElementChromium.h:
3482 2011-05-29 Brian Weinstein <bweinstein@apple.com>
3484 Reviewed by Darin Adler.
3486 Controls never hide in full screen after user stops moving mouse
3487 https://bugs.webkit.org/show_bug.cgi?id=61715
3488 <rdar://problem/9522182>
3490 When we get a mouse move event in HTMLMediaElement::defaultEventHandler, and we are in full screen,
3491 show the media controls, and then start a timer.
3493 The timer fires 3 seconds after the user's last mouse movement (timer is restarted on every mouse
3494 move), and hides the controls.
3496 * html/HTMLMediaElement.cpp:
3497 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize our new timer.
3498 (WebCore::HTMLMediaElement::play): If we are in full screen mode, start our timer to hide the full screen
3499 controls. We don't want the user to have to move the mouse to hide them when they use the spacebar
3501 (WebCore::HTMLMediaElement::startHideFullscreenControlsTimer): Starts a oneshot timer 3 seconds in the future
3502 if we are in full screen.
3503 (WebCore::HTMLMediaElement::hideFullscreenControlsTimerFired): Make sure that we are currently playing, and
3504 we are in full screen, and hide the controls. We don't want to hide the controls if we are paused.
3505 (WebCore::HTMLMediaElement::stopHideFullscreenControlsTimer): Stops the timer.
3506 (WebCore::HTMLMediaElement::defaultEventHandler): If we get a mouse move event and are in full screen, show the
3507 controls and start a timer to hide them.
3508 (WebCore::HTMLMediaElement::enterFullscreen): Start a timer to hide the full screen controls. The user shouldn't
3509 have the move the mouse once they enter full screen to hide the controls.
3510 (WebCore::HTMLMediaElement::exitFullscreen): Stop the timer to hide the full screen controls.
3511 * html/HTMLMediaElement.h:
3512 * html/shadow/MediaControls.h: Added pure virtual shouldHideControls() method.
3513 * html/shadow/MediaControlRootElement.cpp:
3514 (WebCore::MediaControlRootElement::playbackStopped): Stop the timer to hide the full screen controls.
3515 (WebCore::MediaControlRootElement::shouldHideControls): Added, only report that
3516 the caller should hide the controls if the panel is not hovered.
3517 * html/shadow/MediaControlRootElement.h:
3519 2011-05-29 Jer Noble <jer.noble@apple.com>
3521 Reviewed by Simon Fraser.
3523 Embedded Vimeo video, when taken fullscreen, is overlapped by content from the enclosing page
3524 https://bugs.webkit.org/show_bug.cgi?id=61712
3526 Tests: fullscreen/full-screen-iframe-zIndex.html
3528 Walk up the ancestor chain for the full-screen element, marking them as full-screen
3529 ancestors. Then, we apply a pseudo-class to those elements, which disable all their
3530 stacking-context-creating styles. Set the z-index of all full-screen elements (and
3531 the iframes which contain them) to a large value, ensuring they appear above other
3534 This new behavior replaces the previous "-webkit-full-screen-media-document" behavior
3535 and pesudo-class, so remove it and replace it with the new pseudo-class.
3537 * css/CSSSelector.cpp:
3538 (WebCore::nameToPseudoTypeMap): Add -webkit-full-screen-ancestor and remove
3539 -webkit-full-screen-media-document.
3540 (WebCore::CSSSelector::pseudoId): Add PseudoFullScreenAncestor and remove
3541 PseudoFullScreenMediaDocument
3542 (WebCore::CSSSelector::extractPseudoType): Ditto.
3543 * css/CSSSelector.h: Ditto.
3544 * css/CSSStyleSelector.cpp:
3545 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Remove the
3546 PseudoFullScreenMediaDocument implementation and replace it with
3547 PseudoFullScreenAncestor.
3548 * css/fullscreen.css:
3549 (:-webkit-full-screen): Add a z-index property.
3550 (:-webkit-full-screen-ancestor:not(iframe)): Added. Reset the z-index to
3551 auto, and reset other stacking-context creating properties.
3553 (WebCore::Document::setContainsFullScreenElementRecursively): Recurse up every element
3554 instead of just the iframe elements.
3555 (WebCore::Document::webkitWillEnterFullScreenForElement): Ditto.
3557 (WebCore::Element::willRemove): Reset our parent's containsFullScreenElement property.
3558 (WebCore::Element::insertedIntoTree): Ditto.
3559 (WebCore::Element::containsFullScreenElement): Moved here from HTMLElementBase.
3560 (WebCore::Element::setContainsFullScreenElement): Ditto.
3562 * dom/ElementRareData.h:
3563 (WebCore::ElementRareData::ElementRareData): Added ivar and initializer for
3564 m_containsFullScreenElement.
3565 * html/HTMLFrameElementBase.cpp:
3566 (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Removed ivar and initializer.
3567 (WebCore::HTMLFrameElementBase::setContainsFullScreenElement): Moved into Element.
3568 * html/HTMLFrameElementBase.h:
3569 * rendering/style/RenderStyleConstants.h:
3571 2011-05-29 Dan Bernstein <mitz@apple.com>
3573 Reviewed by Darin Adler.
3575 <rdar://problem/9515650> 30 second rewind button obscured in fullscreen controller when video uses custom inline controls
3576 https://bugs.webkit.org/show_bug.cgi?id=61714
3579 (WebCore::Document::webkitDidEnterFullScreenForElement): Call didBecomeFullscreenElement() on the
3580 new full screen element.
3581 (WebCore::Document::webkitWillExitFullScreenForElement): Call willStopBeingFullscreenElement() on
3582 the full screen element.
3584 (WebCore::Element::didBecomeFullscreenElement): Added with a default implementation that does nothing.
3585 (WebCore::Element::willStopBeingFullscreenElement): Ditto.
3586 * html/HTMLMediaElement.cpp:
3587 (WebCore::HTMLMediaElement::didBecomeFullscreenElement): Added this override, which calls
3588 MediaControls::enteredFullscreen().
3589 (WebCore::HTMLMediaElement::willStopBeingFullscreenElement): Added this override, which calls
3590 MediaControls::exitedFullscreen().
3591 * html/HTMLMediaElement.h:
3592 * html/shadow/MediaControlElements.cpp:
3593 (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Removed calls to
3594 enteredFullscreen() and exitedFullscreen() from here, since they are now called in response to
3595 changes to the fullscreen-ness of the element.
3597 2011-05-29 Darin Adler <darin@apple.com>
3599 Reviewed by Kevin Decker.
3601 REGRESSION (r87622): In media documents, clicking the full screen button and the play button pauses the video
3602 https://bugs.webkit.org/show_bug.cgi?id=61713
3604 We need to come up with a way to regression-test these changes. Nothing at the moment.
3606 The bug is that we removed calls to preventDefault, but we still do need to prevent
3607 default handling of this event.
3609 * html/shadow/MediaControlElements.cpp:
3610 (WebCore::MediaControlElement::preDispatchEventHandler): Add back the preventDefault
3611 that was in here before r87622 as well as the stopPropagation that was added in r87622.
3612 (WebCore::MediaControlMuteButtonElement::preDispatchEventHandler): Ditto.
3613 (WebCore::MediaControlPlayButtonElement::preDispatchEventHandler): Ditto.
3614 (WebCore::MediaControlSeekButtonElement::preDispatchEventHandler): Ditto.
3615 (WebCore::MediaControlRewindButtonElement::preDispatchEventHandler): Ditto.
3616 (WebCore::MediaControlReturnToRealtimeButtonElement::preDispatchEventHandler): Ditto.
3617 (WebCore::MediaControlToggleClosedCaptionsButtonElement::preDispatchEventHandler): Ditto.
3618 (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Ditto.
3619 (WebCore::MediaControlFullscreenVolumeMinButtonElement::preDispatchEventHandler): Ditto.
3620 (WebCore::MediaControlFullscreenVolumeMaxButtonElement::preDispatchEventHandler): Ditto.
3622 2011-05-29 Andreas Kling <kling@webkit.org>
3624 Reviewed by Kenneth Rohde Christiansen.
3626 Element: Micro-cleanup of scroll methods.
3627 https://bugs.webkit.org/show_bug.cgi?id=61705
3629 Do an early return without calculating element boundaries when asked
3630 to scroll an element without a renderer().
3633 (WebCore::Element::scrollIntoView):
3634 (WebCore::Element::scrollIntoViewIfNeeded):
3635 (WebCore::Element::scrollByUnits):
3637 2011-05-29 Darin Adler <darin@apple.com>
3639 Reviewed by Dan Bernstein.
3641 Fix assertion seen when entering full screen mode for standalone video
3642 https://bugs.webkit.org/show_bug.cgi?id=61708
3644 We don't currently have a way to make a regression test for this.
3647 (WebCore::Document::setAnimatingFullScreen): Call scheduleForcedStyleRecalc,
3648 because scheduleStyleRecalc is intended to only be called when the style
3649 system itself detects recalc is needed.
3651 2011-05-27 Andreas Kling <kling@webkit.org>
3653 Reviewed by James Robinson.
3655 [Qt] Add area check to ImageBufferData::getImageData()
3656 https://bugs.webkit.org/show_bug.cgi?id=61375
3658 No change in behavior, just a sanity check.
3660 * platform/graphics/qt/ImageBufferQt.cpp:
3661 (WebCore::getImageData):
3663 2011-05-29 Beth Dakin <bdakin@apple.com>
3665 Reviewed by Darin Adler.
3667 https://bugs.webkit.org/show_bug.cgi?id=61700
3668 Need WebKit2 API to get the size of the render tree
3670 <rdar://problem/9512733>
3672 New member variable on RenderArena keeps track of the current amount of memory
3673 allocated in the arena. The new client function sends this piece of data to
3675 * page/ChromeClient.h:
3676 (WebCore::ChromeClient::setRenderTreeSize):
3677 * page/FrameView.cpp:
3678 (WebCore::FrameView::performPostLayoutTasks):
3679 * rendering/RenderArena.cpp:
3680 (WebCore::RenderArena::RenderArena):
3681 (WebCore::RenderArena::allocate):
3682 (WebCore::RenderArena::free):
3683 * rendering/RenderArena.h:
3684 (WebCore::RenderArena::totalRenderArenaSize):
3686 2011-05-29 Sheriff Bot <webkit.review.bot@gmail.com>
3688 Unreviewed, rolling out r87566.
3689 http://trac.webkit.org/changeset/87566
3690 https://bugs.webkit.org/show_bug.cgi?id=61702
3692 It made all tests assert on Qt in debug mode (Requested by
3693 Ossy_weekend on #webkit).
3696 * bindings/ScriptControllerBase.cpp:
3697 (WebCore::ScriptController::executeIfJavaScriptURL):
3699 (WebCore::Document::Document):
3700 (WebCore::Document::suggestedMIMEType):
3701 (WebCore::Document::lastModified):
3702 (WebCore::Document::initSecurityContext):
3703 (WebCore::Document::updateURLForPushOrReplaceState):
3705 (WebCore::Document::setDocumentLoader):
3706 (WebCore::Document::loader):
3707 * html/MediaDocument.cpp:
3708 (WebCore::MediaDocument::replaceMediaElementTimerFired):
3709 * html/PluginDocument.cpp:
3710 (WebCore::PluginDocumentParser::createDocumentStructure):
3711 * platform/mac/HTMLConverter.mm:
3712 (fileWrapperForElement):
3714 2011-05-28 Steve Falkenburg <sfalken@apple.com>
3716 Reviewed by Dan Bernstein.
3718 Don't add sub-frames to global history when navigating via back/forward
3719 https://bugs.webkit.org/show_bug.cgi?id=61701
3720 <rdar://problem/9521222>
3722 Instead of just checking whether the load is the first in the frame, we also need to
3723 check to make sure we're loading in the main frame.
3725 Not testable due to lack of global history infrastructure in DRT.
3727 * loader/FrameLoader.cpp:
3728 (WebCore::FrameLoader::transitionToCommitted):
3730 2011-05-28 Alexey Proskuryakov <ap@apple.com>
3732 Suggested by Simon Fraser.
3734 REGRESSION (r85375): Load event is sometimes lost when multiple image elements use the same URL
3735 https://bugs.webkit.org/show_bug.cgi?id=61692
3736 <rdar://problem/9488628>
3738 * loader/ImageLoader.cpp: (WebCore::ImageLoader::notifyFinished): There was no need to use
3741 2011-05-28 Alexey Proskuryakov <ap@apple.com>
3743 Reviewed by Geoff Garen.
3745 REGRESSION (r85375): Load event is sometimes lost when multiple image elements use the same URL
3746 https://bugs.webkit.org/show_bug.cgi?id=61692
3747 <rdar://problem/9488628>
3749 Test: fast/dom/gc-image-element-2.html
3751 Manually verified that tests from bug 59604 and from bug 40926 still pass.
3753 The problem here was that HTMLImageElement::hasPendingActivity() could return false when
3754 a load (or error) event was still expected to fire.
3756 * loader/cache/CachedResource.cpp:
3757 (WebCore::CachedResource::setRequest):
3758 * loader/cache/CachedResource.h:
3759 (WebCore::CachedResource::wasCanceled):
3760 (WebCore::CachedResource::errorOccurred):
3761 Track whether the load was canceled. We want to always notify clients of load outcome,
3762 as that's the only way they could make intelligent decisions.
3764 * dom/ScriptElement.cpp: (WebCore::ScriptElement::execute): Cached resource clients now
3765 get a notifyFinished call on cancellation. Handle this case, where we don't need the
3766 execute the script, but also don't need to fire an error event.
3768 * html/HTMLImageElement.cpp: Moved hasPendingActivity() to header, since it's just a single
3771 * html/HTMLImageElement.h: (WebCore::HTMLImageElement::hasPendingActivity): There is a large
3772 window between when CachedResource::isLoading() becomes false and events are queued.
3773 ImageLoader::haveFiredLoadEvent() is a much better indication of whether we are expecting
3776 * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::onloadTimerFired): Again, don't do
3777 anything on cancellation.
3779 * loader/ImageLoader.cpp:
3780 (WebCore::ImageEventSender::hasPendingEvents): Made it debug-only again, and fixed to
3781 give an accurate result while looping over the list of events to dispatch.
3782 (WebCore::ImageLoader::notifyFinished): Don't do anything when cancelled. We don't want to
3783 switch to a broken image icon, or to dispatch events.
3784 (WebCore::ImageEventSender::dispatchPendingEvents): Clear the current loader from dispatching
3785 list, as the event is no longer pending when it's being dispatched.
3787 * loader/ImageLoader.h: Removed unnecessary hasPendingLoadEvent(). We don't care whether one
3788 is already pending, we only care if one is expected at some time in the future, and
3789 !haveFiredLoadEvent() is our best idea of that.
3791 * dom/XMLDocumentParser.cpp: (WebCore::XMLDocumentParser::notifyFinished): Another place to
3792 handle cancellation.
3794 2011-05-28 Adam Barth <abarth@webkit.org>
3796 Reviewed by Alexey Proskuryakov.
3798 Audit all uses of KURL::prettyURL
3799 https://bugs.webkit.org/show_bug.cgi?id=61201
3801 As far as I can tell, all the callers of this API are confused. There
3802 seems to be a cargo cult of using the "pretty" version of a URL, but in
3803 reality folks just want the URL itself. The only case I'm unsure about
3804 is location.href, which could have some compatibility constraints.
3805 I've renamed prettyURL to deprecatedString to discourage folks from
3806 further cargo-culting.
3809 * page/Location.cpp:
3810 (WebCore::Location::href):
3811 (WebCore::Location::toString):
3812 * platform/KURL.cpp:
3813 (WebCore::KURL::deprecatedString):
3815 * platform/KURLGoogle.cpp:
3816 (WebCore::KURL::deprecatedString):
3817 * platform/network/soup/ResourceHandleSoup.cpp:
3818 (WebCore::ResourceHandle::prepareForURL):
3819 * workers/WorkerLocation.cpp:
3820 (WebCore::WorkerLocation::href):
3821 (WebCore::WorkerLocation::toString):
3823 2011-05-28 Jer Noble <jer.noble@apple.com>
3825 Reviewed by Maciej Stachowiak.
3827 Mouse clicks propagate outside full-screen media controls.
3828 https://bugs.webkit.org/show_bug.cgi?id=61689
3830 Mouse click events are propagating out of the media controls, so mouse click
3831 listeners registered on the video element are getting fired when the user
3832 clicks on media controller buttons. By default, block propagation of click
3833 events from MediaControlElements by overriding preDispatchEventHandler, and
3834 convert all instances of defaultEventHandler -> preDispatchEventHandler. Change
3835 all calls of event->setDefaultHandled() to event->stopPropagation().
3837 * html/shadow/MediaControlElements.cpp:
3838 (WebCore::MediaControlElement::preDispatchEventHandler): Added. Block
3839 propagation of all mouse click events.
3840 (WebCore::MediaControlVolumeSliderContainerElement::preDispatchEventHandler):
3841 Renamed from setDefaultHandled.
3842 (WebCore::MediaControlMuteButtonElement::preDispatchEventHandler): Ditto.
3843 (WebCore::MediaControlPanelMuteButtonElement::preDispatchEventHandler): Ditto.
3844 (WebCore::MediaControlPlayButtonElement::preDispatchEventHandler): Ditto.
3845 (WebCore::MediaControlSeekButtonElement::preDispatchEventHandler): Ditto.
3846 (WebCore::MediaControlRewindButtonElement::preDispatchEventHandler): Ditto.
3847 (WebCore::MediaControlReturnToRealtimeButtonElement::preDispatchEventHandler): Ditto.
3848 (WebCore::MediaControlToggleClosedCaptionsButtonElement::preDispatchEventHandler): Ditto.
3849 (WebCore::MediaControlTimelineElement::preDispatchEventHandler): Ditto.
3850 (WebCore::MediaControlVolumeSliderElement::preDispatchEventHandler): Ditto.
3851 (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Ditto.
3852 (WebCore::MediaControlFullscreenVolumeMinButtonElement::preDispatchEventHandler): Ditto.
3853 (WebCore::MediaControlFullscreenVolumeMaxButtonElement::preDispatchEventHandler): Ditto.
3854 * html/shadow/MediaControlElements.h:
3856 2011-05-28 Gavin Peters <gavinp@chromium.org>
3858 Reviewed by Adam Barth.
3860 prevent HTMLLinkElement from watching multiple CachedResources
3861 https://bugs.webkit.org/show_bug.cgi?id=61686
3863 If we modify an existing link element, stop listening to the previous
3864 cached resource, to prevent double notifications (which crash).
3866 Test: fast/dom/HTMLLinkElement/prefetch-too-many-clients.html
3868 * html/HTMLLinkElement.cpp:
3869 (WebCore::HTMLLinkElement::process):
3871 2011-05-28 Tonis Tiigi <tonistiigi@gmail.com>
3873 Reviewed by Pavel Feldman.
3875 Web Inspector: there is a problem with computed style properties with wrong values
3876 https://bugs.webkit.org/show_bug.cgi?id=60535
3878 * inspector/front-end/StylesSidebarPane.js:
3879 (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
3880 (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
3882 2011-05-26 Antonio Gomes <agomes@rim.com>
3884 Reviewed by Andreas Kling.
3886 Logic error in WebCore/Page/SpatialNavigation.cpp::areRectsPartiallyAligned
3887 https://bugs.webkit.org/show_bug.cgi?id=61606
3889 Removed duplicated statement within if condition.
3891 No new tests. Obvious clean up patch.
3893 * page/SpatialNavigation.cpp:
3894 (WebCore::areRectsPartiallyAligned):
3896 2011-05-27 Simon Fraser <simon.fraser@apple.com>
3898 Reviewed by Dan Bernstein.
3900 CG BitmapImage needs to check for valid CGImage in a couple of places
3901 https://bugs.webkit.org/show_bug.cgi?id=61684
3902 <rdar://problem/9519348>
3904 BitmapImage::getCGImageArray() can throw an exception if frameAtIndex()
3905 returns null, which it may do if the image is corrupted or still
3906 loading. Protect against that here and in getFirstCGImageRefOfSize().
3908 * platform/graphics/cg/ImageCG.cpp:
3909 (WebCore::BitmapImage::getFirstCGImageRefOfSize):
3910 (WebCore::BitmapImage::getCGImageArray):
3912 2011-05-27 Jochen Eisinger <jochen@chromium.org>
3914 Reviewed by Adam Barth.
3916 Add Frame parameter to all StorageArea methods. The chromium
3917 embedder uses the Frame as context to decide whether or not
3918 to allow usage of the storage API.
3919 https://bugs.webkit.org/show_bug.cgi?id=61581
3921 Test: platform/chromium/permissionclient/storage-permission.html
3923 * storage/Storage.cpp:
3924 (WebCore::Storage::length):
3925 (WebCore::Storage::key):
3926 (WebCore::Storage::getItem):
3927 (WebCore::Storage::contains):
3928 * storage/StorageArea.h:
3929 * storage/StorageAreaImpl.cpp:
3930 (WebCore::StorageAreaImpl::length):
3931 (WebCore::StorageAreaImpl::key):
3932 (WebCore::StorageAreaImpl::getItem):
3933 (WebCore::StorageAreaImpl::contains):
3934 * storage/StorageAreaImpl.h:
3936 2011-05-27 Nate Chapin <japhet@chromium.org>
3938 Reviewed by Jian Li.
3940 Keep a reference to BlobResourceHandle before calling doNotifyFinish()
3941 asynchronously to ensure it's still safe in the main thread.
3943 https://bugs.webkit.org/show_bug.cgi?id=61669
3945 I triggered this crash in fast/files/file-reader-abort.html during a
3946 refactor that changed timings slightly.
3948 * platform/network/BlobResourceHandle.cpp:
3949 (WebCore::doNotifyFinish):
3950 (WebCore::BlobResourceHandle::notifyFinish):
3951 * platform/network/BlobResourceHandle.h:
3952 (WebCore::BlobResourceHandle::aborted):
3954 2011-05-27 Stephanie Lewis <slewis@apple.com>
3958 Fix a typo in the order_file flag.
3960 * Configurations/Base.xcconfig:
3962 2011-05-27 Anders Carlsson <andersca@apple.com>
3964 Reviewed by Sam Weinig.
3966 Always use the default localization strategy
3967 https://bugs.webkit.org/show_bug.cgi?id=61670
3968 <rdar://problem/9516130>
3970 Always use the default localization strategy when there's no platform strategy.
3972 * platform/DefaultLocalizationStrategy.cpp:
3973 (WebCore::DefaultLocalizationStrategy::shared):
3974 * platform/DefaultLocalizationStrategy.h:
3975 * platform/LocalizedStrings.cpp:
3976 (WebCore::inputElementAltText):
3977 (WebCore::resetButtonDefaultLabel):
3978 (WebCore::searchableIndexIntroduction):
3979 (WebCore::submitButtonDefaultLabel):
3980 (WebCore::fileButtonChooseFileLabel):
3981 (WebCore::fileButtonNoFileSelectedLabel):
3982 (WebCore::defaultDetailsSummaryText):
3983 (WebCore::copyImageUnknownFileLabel):
3984 (WebCore::contextMenuItemTagOpenLinkInNewWindow):
3985 (WebCore::contextMenuItemTagDownloadLinkToDisk):
3986 (WebCore::contextMenuItemTagCopyLinkToClipboard):
3987 (WebCore::contextMenuItemTagOpenImageInNewWindow):
3988 (WebCore::contextMenuItemTagDownloadImageToDisk):
3989 (WebCore::contextMenuItemTagCopyImageToClipboard):
3990 (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
3991 (WebCore::contextMenuItemTagOpenFrameInNewWindow):
3992 (WebCore::contextMenuItemTagCopy):
3993 (WebCore::contextMenuItemTagGoBack):
3994 (WebCore::contextMenuItemTagGoForward):
3995 (WebCore::contextMenuItemTagStop):
3996 (WebCore::contextMenuItemTagReload):
3997 (WebCore::contextMenuItemTagCut):
3998 (WebCore::contextMenuItemTagPaste):
3999 (WebCore::contextMenuItemTagSelectAll):
4000 (WebCore::contextMenuItemTagNoGuessesFound):
4001 (WebCore::contextMenuItemTagIgnoreSpelling):
4002 (WebCore::contextMenuItemTagLearnSpelling):
4003 (WebCore::contextMenuItemTagSearchInSpotlight):
4004 (WebCore::contextMenuItemTagSearchWeb):
4005 (WebCore::contextMenuItemTagLookUpInDictionary):
4006 (WebCore::contextMenuItemTagOpenLink):
4007 (WebCore::contextMenuItemTagIgnoreGrammar):
4008 (WebCore::contextMenuItemTagSpellingMenu):
4009 (WebCore::contextMenuItemTagShowSpellingPanel):
4010 (WebCore::contextMenuItemTagCheckSpelling):
4011 (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
4012 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
4013 (WebCore::contextMenuItemTagFontMenu):
4014 (WebCore::contextMenuItemTagShowFonts):
4015 (WebCore::contextMenuItemTagBold):
4016 (WebCore::contextMenuItemTagItalic):
4017 (WebCore::contextMenuItemTagUnderline):
4018 (WebCore::contextMenuItemTagOutline):
4019 (WebCore::contextMenuItemTagStyles):
4020 (WebCore::contextMenuItemTagShowColors):
4021 (WebCore::contextMenuItemTagSpeechMenu):
4022 (WebCore::contextMenuItemTagStartSpeaking):
4023 (WebCore::contextMenuItemTagStopSpeaking):
4024 (WebCore::contextMenuItemTagWritingDirectionMenu):
4025 (WebCore::contextMenuItemTagTextDirectionMenu):
4026 (WebCore::contextMenuItemTagDefaultDirection):
4027 (WebCore::contextMenuItemTagLeftToRight):
4028 (WebCore::contextMenuItemTagRightToLeft):
4029 (WebCore::contextMenuItemTagCorrectSpellingAutomatically):
4030 (WebCore::contextMenuItemTagSubstitutionsMenu):
4031 (WebCore::contextMenuItemTagShowSubstitutions):
4032 (WebCore::contextMenuItemTagSmartCopyPaste):
4033 (WebCore::contextMenuItemTagSmartQuotes):
4034 (WebCore::contextMenuItemTagSmartDashes):
4035 (WebCore::contextMenuItemTagSmartLinks):
4036 (WebCore::contextMenuItemTagTextReplacement):
4037 (WebCore::contextMenuItemTagTransformationsMenu):
4038 (WebCore::contextMenuItemTagMakeUpperCase):
4039 (WebCore::contextMenuItemTagMakeLowerCase):
4040 (WebCore::contextMenuItemTagCapitalize):
4041 (WebCore::contextMenuItemTagChangeBack):
4042 (WebCore::contextMenuItemTagOpenVideoInNewWindow):
4043 (WebCore::contextMenuItemTagOpenAudioInNewWindow):
4044 (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
4045 (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
4046 (WebCore::contextMenuItemTagToggleMediaControls):
4047 (WebCore::contextMenuItemTagToggleMediaLoop):
4048 (WebCore::contextMenuItemTagEnterVideoFullscreen):
4049 (WebCore::contextMenuItemTagMediaPlay):
4050 (WebCore::contextMenuItemTagMediaPause):
4051 (WebCore::contextMenuItemTagMediaMute):
4052 (WebCore::contextMenuItemTagInspectElement):
4053 (WebCore::searchMenuNoRecentSearchesText):
4054 (WebCore::searchMenuRecentSearchesText):
4055 (WebCore::searchMenuClearRecentSearchesText):
4056 (WebCore::AXWebAreaText):
4057 (WebCore::AXLinkText):
4058 (WebCore::AXListMarkerText):
4059 (WebCore::AXImageMapText):
4060 (WebCore::AXHeadingText):
4061 (WebCore::AXDefinitionListTermText):
4062 (WebCore::AXDefinitionListDefinitionText):
4063 (WebCore::AXARIAContentGroupText):
4064 (WebCore::AXButtonActionVerb):
4065 (WebCore::AXRadioButtonActionVerb):
4066 (WebCore::AXTextFieldActionVerb):
4067 (WebCore::AXCheckedCheckBoxActionVerb):
4068 (WebCore::AXUncheckedCheckBoxActionVerb):
4069 (WebCore::AXLinkActionVerb):
4070 (WebCore::AXMenuListPopupActionVerb):
4071 (WebCore::AXMenuListActionVerb):
4072 (WebCore::missingPluginText):
4073 (WebCore::crashedPluginText):
4074 (WebCore::multipleFileUploadText):
4075 (WebCore::unknownFileSizeText):
4076 (WebCore::uploadFileText):
4077 (WebCore::allFilesText):
4078 (WebCore::keygenMenuItem512):
4079 (WebCore::keygenMenuItem1024):
4080 (WebCore::keygenMenuItem2048):
4081 (WebCore::keygenKeychainItemName):
4082 (WebCore::imageTitle):
4083 (WebCore::mediaElementLoadingStateText):
4084 (WebCore::mediaElementLiveBroadcastStateText):
4085 (WebCore::localizedMediaControlElementString):
4086 (WebCore::localizedMediaControlElementHelpText):
4087 (WebCore::localizedMediaTimeDescription):
4088 (WebCore::validationMessageValueMissingText):
4089 (WebCore::validationMessageValueMissingForCheckboxText):
4090 (WebCore::validationMessageValueMissingForFileText):
4091 (WebCore::validationMessageValueMissingForMultipleFileText):
4092 (WebCore::validationMessageValueMissingForRadioText):
4093 (WebCore::validationMessageValueMissingForSelectText):
4094 (WebCore::validationMessageTypeMismatchText):
4095 (WebCore::validationMessageTypeMismatchForEmailText):
4096 (WebCore::validationMessageTypeMismatchForMultipleEmailText):
4097 (WebCore::validationMessageTypeMismatchForURLText):
4098 (WebCore::validationMessagePatternMismatchText):
4099 (WebCore::validationMessageTooLongText):
4100 (WebCore::validationMessageRangeUnderflowText):
4101 (WebCore::validationMes