1 2011-02-02 Adam Roben <aroben@apple.com>
3 Encode/decode FormData and FormDataElement objects consistently
5 Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
6 that contains form data fails (asserts in Debug build)
8 To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
9 now, even though we don't have an automated test for it yet. Writing a test is covered by
10 <http://webkit.org/b/53616>.
12 Reviewed by Darin Adler.
14 * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
17 * platform/network/FormData.cpp:
18 (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
19 default-constructed FormDataElement. Failing to do this meant that all future uses of the
20 Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
21 start by reading the uint32_t that we forgot to decode here, and so on). We already had code
22 to correctly set the FormDataElement's type based on this decoded type later in the
24 (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
25 matches its type and how we decode it.
27 2011-02-02 Dan Winship <danw@gnome.org>
29 Reviewed by Martin Robinson.
31 [GTK] drop soup cache stuff, which has been moved to libsoup
32 https://bugs.webkit.org/show_bug.cgi?id=50747
34 Use libsoup-based cache/requester API and remove the WebCore version
35 of this functionality. This has been pushed upstream fully.
37 No new tests because this should not change functionality.
39 * GNUmakefile.am: Update for removed files.
40 * platform/network/ResourceHandleInternal.h:
41 (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
42 type names, drop m_requester.
43 * platform/network/soup/ResourceHandleSoup.cpp:
44 (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
46 (WebCore::parseDataUrl):
47 (WebCore::startHttp): Get the requester from the session rather
48 than using m_requester.
49 (WebCore::sendRequestCallback):
50 (WebCore::ResourceHandle::platformSetDefersLoading):
51 (WebCore::readCallback):
52 (WebCore::startGio): Update type names.
53 * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
54 * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
55 * platform/network/soup/cache/soup-http-input-stream.c: Removed.
56 * platform/network/soup/cache/soup-http-input-stream.h: Removed.
57 * platform/network/soup/cache/soup-request-data.c: Removed.
58 * platform/network/soup/cache/soup-request-data.h: Removed.
59 * platform/network/soup/cache/soup-request-file.c: Removed.
60 * platform/network/soup/cache/soup-request-file.h: Removed.
61 * platform/network/soup/cache/soup-request-http.c: Removed.
62 * platform/network/soup/cache/soup-request-http.h: Removed.
63 * platform/network/soup/cache/soup-request.c: Removed.
64 * platform/network/soup/cache/soup-request.h: Removed.
65 * platform/network/soup/cache/soup-requester.c: Removed.
66 * platform/network/soup/cache/soup-requester.h: Removed.
67 * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
68 * platform/network/soup/cache/webkit/soup-cache.c: Removed.
69 * platform/network/soup/cache/webkit/soup-cache.h: Removed.
71 2011-02-02 David Hyatt <hyatt@apple.com>
73 Reviewed by Darin Adler.
75 https://bugs.webkit.org/show_bug.cgi?id=53520
77 Remove physical accessors from IntRect and FloatRect.
80 (WebCore::FrameView::adjustPageHeightDeprecated):
81 * platform/graphics/FloatRect.h:
82 * platform/graphics/IntRect.h:
84 2011-02-02 David Hyatt <hyatt@apple.com>
86 Reviewed by Dan Bernstein.
88 https://bugs.webkit.org/show_bug.cgi?id=53614
90 Remove physical terminology from overflow. Replace with minX/maxX/minY/maxY.
92 * rendering/InlineFlowBox.cpp:
93 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
94 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
95 * rendering/InlineFlowBox.h:
96 (WebCore::InlineFlowBox::minYLayoutOverflow):
97 (WebCore::InlineFlowBox::maxYLayoutOverflow):
98 (WebCore::InlineFlowBox::minXLayoutOverflow):
99 (WebCore::InlineFlowBox::maxXLayoutOverflow):
100 (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
101 (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
102 (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
103 (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
104 (WebCore::InlineFlowBox::minYVisualOverflow):
105 (WebCore::InlineFlowBox::maxYVisualOverflow):
106 (WebCore::InlineFlowBox::minXVisualOverflow):
107 (WebCore::InlineFlowBox::maxXVisualOverflow):
108 (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
109 (WebCore::InlineFlowBox::logicalRightVisualOverflow):
110 (WebCore::InlineFlowBox::logicalminYVisualOverflow):
111 (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
112 * rendering/RenderBlock.cpp:
113 (WebCore::RenderBlock::adjustLinePositionForPagination):
114 * rendering/RenderBlockLineLayout.cpp:
115 (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
116 (WebCore::RenderBlock::afterSideVisualOverflowForLine):
117 (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
118 (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
119 * rendering/RenderBox.cpp:
120 (WebCore::RenderBox::scrollWidth):
121 (WebCore::RenderBox::scrollHeight):
122 * rendering/RenderBox.h:
123 (WebCore::RenderBox::minYLayoutOverflow):
124 (WebCore::RenderBox::maxYLayoutOverflow):
125 (WebCore::RenderBox::minXLayoutOverflow):
126 (WebCore::RenderBox::maxXLayoutOverflow):
127 (WebCore::RenderBox::logicalLeftLayoutOverflow):
128 (WebCore::RenderBox::logicalRightLayoutOverflow):
129 (WebCore::RenderBox::minYVisualOverflow):
130 (WebCore::RenderBox::maxYVisualOverflow):
131 (WebCore::RenderBox::minXVisualOverflow):
132 (WebCore::RenderBox::maxXVisualOverflow):
133 (WebCore::RenderBox::logicalLeftVisualOverflow):
134 (WebCore::RenderBox::logicalRightVisualOverflow):
135 * rendering/RenderInline.cpp:
136 (WebCore::RenderInline::linesVisualOverflowBoundingBox):
137 * rendering/RenderLayerCompositor.cpp:
138 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
139 * rendering/RenderLineBoxList.cpp:
140 (WebCore::RenderLineBoxList::anyLineIntersectsRect):
141 (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
142 (WebCore::RenderLineBoxList::paint):
143 (WebCore::RenderLineBoxList::hitTest):
144 * rendering/RenderMarquee.cpp:
145 (WebCore::RenderMarquee::computePosition):
146 * rendering/RenderOverflow.h:
147 (WebCore::RenderOverflow::RenderOverflow):
148 (WebCore::RenderOverflow::minYLayoutOverflow):
149 (WebCore::RenderOverflow::maxYLayoutOverflow):
150 (WebCore::RenderOverflow::minXLayoutOverflow):
151 (WebCore::RenderOverflow::maxXLayoutOverflow):
152 (WebCore::RenderOverflow::minYVisualOverflow):
153 (WebCore::RenderOverflow::maxYVisualOverflow):
154 (WebCore::RenderOverflow::minXVisualOverflow):
155 (WebCore::RenderOverflow::maxXVisualOverflow):
156 (WebCore::RenderOverflow::setminYVisualOverflow):
157 (WebCore::RenderOverflow::visualOverflowRect):
158 (WebCore::RenderOverflow::move):
159 (WebCore::RenderOverflow::addVisualOverflow):
160 (WebCore::RenderOverflow::setVisualOverflow):
161 * rendering/RenderReplaced.cpp:
162 (WebCore::RenderReplaced::shouldPaint):
163 * rendering/RenderTable.cpp:
164 (WebCore::RenderTable::layout):
165 (WebCore::RenderTable::paint):
166 * rendering/RenderTableCell.cpp:
167 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
168 * rendering/RenderTreeAsText.cpp:
169 (WebCore::writeLayers):
170 * rendering/RenderView.cpp:
171 (WebCore::RenderView::docTop):
173 2011-02-02 Steve Lacey <sjl@chromium.org>
175 Reviewed by Eric Carlson.
177 Implement basic media statistics on media elements.
178 https://bugs.webkit.org/show_bug.cgi?id=53322
180 * Configurations/FeatureDefines.xcconfig:
183 * html/HTMLMediaElement.cpp:
184 (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
185 (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
186 * html/HTMLMediaElement.h:
187 * html/HTMLMediaElement.idl:
188 * html/HTMLVideoElement.cpp:
189 (WebCore::HTMLVideoElement::webkitDecodedFrames):
190 (WebCore::HTMLVideoElement::webkitDroppedFrames):
191 * html/HTMLVideoElement.h:
192 * html/HTMLVideoElement.idl:
193 * platform/graphics/MediaPlayer.cpp:
194 (WebCore::MediaPlayer::decodedFrames):
195 (WebCore::MediaPlayer::droppedFrames):
196 (WebCore::MediaPlayer::audioBytesDecoded):
197 (WebCore::MediaPlayer::videoBytesDecoded):
198 * platform/graphics/MediaPlayer.h:
199 * platform/graphics/MediaPlayerPrivate.h:
200 (WebCore::MediaPlayerPrivateInterface::decodedFrames):
201 (WebCore::MediaPlayerPrivateInterface::droppedFrames):
202 (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
203 (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
205 2011-02-02 Luiz Agostini <luiz.agostini@openbossa.org>
207 Reviewed by David Hyatt.
209 More conversion from right()/bottom() to maxX()/maxY().
211 * page/qt/FrameQt.cpp:
212 (WebCore::Frame::dragImageForSelection):
213 * platform/graphics/qt/GraphicsContextQt.cpp:
214 (WebCore::GraphicsContext::roundToDevicePixels):
216 2011-02-02 Kevin Ollivier <kevino@theolliviers.com>
218 [wx] Build fixes for wxWebKit.
220 * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
222 * bindings/scripts/CodeGeneratorCPP.pm:
223 * page/wx/DragControllerWx.cpp:
224 (WebCore::DragController::dragOperation):
225 * platform/graphics/wx/FontCustomPlatformData.h:
226 * platform/graphics/wx/FontPlatformData.h:
227 (WebCore::FontPlatformData::widthVariant):
228 * platform/graphics/wx/FontPlatformDataWx.cpp:
229 (WebCore::FontPlatformData::computeHash):
230 * platform/graphics/wx/FontWx.cpp:
231 * platform/graphics/wx/GraphicsContextWx.cpp:
232 (WebCore::GraphicsContext::fillPath):
233 (WebCore::GraphicsContext::strokePath):
234 * platform/wx/RenderThemeWx.cpp:
236 2011-02-02 David Hyatt <hyatt@apple.com>
238 Reviewed by Darin Adler.
240 More right()/bottom() to maxX()/maxY() conversion.
242 * page/chromium/FrameChromium.cpp:
243 (WebCore::Frame::nodeImage):
244 (WebCore::Frame::dragImageForSelection):
246 2011-02-02 Sam Weinig <sam@webkit.org>
248 Fix windows clean build.
250 * DerivedSources.make:
252 2011-02-02 Mikhail Naganov <mnaganov@chromium.org>
254 Reviewed by Pavel Feldman.
256 Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
258 https://bugs.webkit.org/show_bug.cgi?id=53606
260 Display progress while taking a snapshot, and hints while loading
261 and parsing. This is needed because taking detailed heap snapshots
264 * English.lproj/localizedStrings.js:
265 * inspector/front-end/DetailedHeapshotView.js:
266 (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
267 * inspector/front-end/ProfilesPanel.js:
268 (WebInspector.ProfilesPanel.prototype._reset):
269 (WebInspector.ProfilesPanel.prototype._addProfileHeader):
270 (WebInspector.ProfilesPanel.prototype.getProfiles):
271 (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
272 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
273 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
274 (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
275 (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
276 * inspector/front-end/SidebarTreeElement.js:
277 (WebInspector.SidebarTreeElement.prototype.refreshTitles):
279 2011-02-02 David Hyatt <hyatt@apple.com>
281 Reviewed by Darin Adler.
283 More conversion from right()/bottom() to maxX()/maxY().
285 * platform/win/PopupMenuWin.cpp:
286 (WebCore::PopupMenuWin::calculatePositionAndSize):
287 (WebCore::PopupMenuWin::paint):
289 2011-02-02 David Hyatt <hyatt@apple.com>
291 Reviewed by Darin Adler.
293 Removal of right()/bottom(). Replace with maxX() and maxY(). Still converting. Haven't removed yet.
295 * platform/chromium/PopupMenuChromium.cpp:
296 (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
297 (WebCore::PopupListBox::scrollToRevealRow):
298 (WebCore::PopupListBox::layout):
299 * platform/graphics/FloatRect.h:
300 * platform/graphics/IntRect.h:
301 * platform/graphics/cairo/ImageBufferCairo.cpp:
302 (WebCore::getImageData):
303 (WebCore::putImageData):
304 * platform/graphics/chromium/GLES2Canvas.cpp:
305 (WebCore::GLES2Canvas::drawTexturedRect):
306 * platform/graphics/chromium/LayerRendererChromium.cpp:
307 (WebCore::LayerRendererChromium::verticalScrollbarRect):
308 (WebCore::LayerRendererChromium::horizontalScrollbarRect):
309 (WebCore::LayerRendererChromium::setScissorToRect):
310 (WebCore::LayerRendererChromium::setDrawViewportRect):
311 * platform/graphics/chromium/LayerTilerChromium.cpp:
312 (WebCore::LayerTilerChromium::contentRectToTileIndices):
313 (WebCore::LayerTilerChromium::growLayerToContain):
314 * platform/graphics/gpu/TilingData.cpp:
315 (WebCore::TilingData::tileBoundsWithBorder):
316 (WebCore::TilingData::overlappedTileIndices):
317 * platform/graphics/qt/ImageBufferQt.cpp:
318 (WebCore::getImageData):
319 (WebCore::putImageData):
320 * platform/graphics/skia/FloatRectSkia.cpp:
321 (WebCore::FloatRect::operator SkRect):
322 * platform/graphics/skia/ImageBufferSkia.cpp:
323 (WebCore::getImageData):
324 (WebCore::putImageData):
325 * platform/graphics/skia/IntRectSkia.cpp:
326 (WebCore::IntRect::operator SkIRect):
327 (WebCore::IntRect::operator SkRect):
328 * platform/graphics/skia/PlatformContextSkia.cpp:
329 (WebCore::PlatformContextSkia::beginLayerClippedToImage):
330 * platform/graphics/win/GraphicsContextWin.cpp:
331 (WebCore::GraphicsContextPlatformPrivate::clip):
332 * platform/graphics/win/IntRectWin.cpp:
333 (WebCore::IntRect::operator RECT):
334 * platform/graphics/win/UniscribeController.cpp:
335 (WebCore::UniscribeController::shapeAndPlaceItem):
336 * platform/graphics/wince/GraphicsContextWinCE.cpp:
337 (WebCore::roundRect):
339 (WebCore::TransparentLayerDC::TransparentLayerDC):
340 (WebCore::GraphicsContext::drawRect):
341 (WebCore::GraphicsContext::drawEllipse):
342 (WebCore::GraphicsContext::strokeArc):
343 (WebCore::GraphicsContext::clip):
344 (WebCore::GraphicsContext::clipOut):
345 (WebCore::GraphicsContext::strokeRect):
346 * platform/image-decoders/gif/GIFImageDecoder.cpp:
347 (WebCore::GIFImageDecoder::initFrameBuffer):
348 * platform/win/PopupMenuWin.cpp:
349 (WebCore::PopupMenuWin::calculatePositionAndSize):
350 (WebCore::PopupMenuWin::paint):
351 * plugins/win/PluginViewWin.cpp:
352 (WebCore::PluginView::updatePluginWidget):
353 (WebCore::PluginView::invalidateRect):
354 * rendering/RenderThemeSafari.cpp:
355 (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
356 (WebCore::RenderThemeSafari::paintMenuListButton):
357 (WebCore::RenderThemeSafari::paintSliderTrack):
358 * rendering/RenderThemeWin.cpp:
359 (WebCore::RenderThemeWin::paintInnerSpinButton):
360 (WebCore::RenderThemeWin::paintMenuListButton):
362 2011-02-02 Antti Koivisto <antti@apple.com>
364 Reviewed by Maciej Stachowiak.
366 Use Vector instead of a linked list for rules in CSSStyleSelector
367 https://bugs.webkit.org/show_bug.cgi?id=53581
369 - eliminate CSSRuleDataList, replace with Vector<RuleData>
370 - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet
371 (these are selector internal classes, CSS prefix is better reserved for public ones).
373 - shrink the vectors to fit after collecting the rules
375 * css/CSSStyleSelector.cpp:
376 (WebCore::RuleData::RuleData):
377 (WebCore::RuleData::position):
378 (WebCore::RuleData::rule):
379 (WebCore::RuleData::selector):
380 (WebCore::RuleSet::disableAutoShrinkToFit):
381 (WebCore::RuleSet::getIDRules):
382 (WebCore::RuleSet::getClassRules):
383 (WebCore::RuleSet::getTagRules):
384 (WebCore::RuleSet::getPseudoRules):
385 (WebCore::RuleSet::getUniversalRules):
386 (WebCore::RuleSet::getPageRules):
387 (WebCore::collectSiblingRulesInDefaultStyle):
388 (WebCore::CSSStyleSelector::CSSStyleSelector):
389 (WebCore::loadFullDefaultStyle):
390 (WebCore::loadSimpleDefaultStyle):
391 (WebCore::loadViewSourceStyle):
392 (WebCore::CSSStyleSelector::matchRules):
393 (WebCore::CSSStyleSelector::matchRulesForList):
394 (WebCore::operator >):
395 (WebCore::operator <=):
396 (WebCore::CSSStyleSelector::sortMatchedRules):
397 (WebCore::CSSStyleSelector::matchUARules):
398 (WebCore::RuleSet::RuleSet):
399 (WebCore::RuleSet::~RuleSet):
400 (WebCore::RuleSet::addToRuleSet):
401 (WebCore::RuleSet::addRule):
402 (WebCore::RuleSet::addPageRule):
403 (WebCore::RuleSet::addRulesFromSheet):
404 (WebCore::RuleSet::addStyleRule):
405 (WebCore::collectIdsAndSiblingRulesFromList):
406 (WebCore::RuleSet::collectIdsAndSiblingRules):
407 (WebCore::shrinkMapVectorsToFit):
408 (WebCore::RuleSet::shrinkToFit):
409 (WebCore::CSSStyleSelector::matchPageRules):
410 (WebCore::CSSStyleSelector::matchPageRulesForList):
411 * css/CSSStyleSelector.h:
412 (WebCore::CSSStyleSelector::addMatchedRule):
414 2011-02-02 Andrey Adaikin <aandrey@google.com>
416 Reviewed by Pavel Feldman.
418 Web Inspector: Use DIVs instead of TABLE in TextViewer
419 https://bugs.webkit.org/show_bug.cgi?id=53299
421 * inspector/front-end/SourceFrame.js:
422 (WebInspector.SourceFrame.prototype._createTextViewer):
423 (WebInspector.SourceFrame.prototype._mouseDown):
424 * inspector/front-end/TextViewer.js:
425 (WebInspector.TextViewer):
426 (WebInspector.TextViewer.prototype.set mimeType):
427 (WebInspector.TextViewer.prototype.revealLine):
428 (WebInspector.TextViewer.prototype.addDecoration):
429 (WebInspector.TextViewer.prototype.removeDecoration):
430 (WebInspector.TextViewer.prototype.markAndRevealRange):
431 (WebInspector.TextViewer.prototype.highlightLine):
432 (WebInspector.TextViewer.prototype.clearLineHighlight):
433 (WebInspector.TextViewer.prototype.freeCachedElements):
434 (WebInspector.TextViewer.prototype._handleKeyDown):
435 (WebInspector.TextViewer.prototype.editLine.finishEditing):
436 (WebInspector.TextViewer.prototype.editLine):
437 (WebInspector.TextViewer.prototype.beginUpdates):
438 (WebInspector.TextViewer.prototype.endUpdates):
439 (WebInspector.TextViewer.prototype.resize):
440 (WebInspector.TextViewer.prototype._textChanged):
441 (WebInspector.TextViewer.prototype._updatePanelOffsets):
442 (WebInspector.TextViewer.prototype._syncScroll):
443 (WebInspector.TextViewer.prototype._syncDecorationsForLine):
444 (WebInspector.TextEditorChunkedPanel):
445 (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
446 (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
447 (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
448 (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
449 (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
450 (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
451 (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
452 (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
453 (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
454 (WebInspector.TextEditorChunkedPanel.prototype.resize):
455 (WebInspector.TextEditorChunkedPanel.prototype._scroll):
456 (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
457 (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
458 (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
459 (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
460 (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
461 (WebInspector.TextEditorGutterPanel):
462 (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
463 (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
464 (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
465 (WebInspector.TextEditorGutterChunk):
466 (WebInspector.TextEditorGutterChunk.prototype.get expanded):
467 (WebInspector.TextEditorGutterChunk.prototype.set expanded):
468 (WebInspector.TextEditorGutterChunk.prototype.get height):
469 (WebInspector.TextEditorGutterChunk.prototype._createRow):
470 (WebInspector.TextEditorMainPanel):
471 (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
472 (WebInspector.TextEditorMainPanel.prototype.set mimeType):
473 (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
474 (WebInspector.TextEditorMainPanel.prototype.highlightLine):
475 (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
476 (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
477 (WebInspector.TextEditorMainPanel.prototype._buildChunks):
478 (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
479 (WebInspector.TextEditorMainPanel.prototype._expandChunks):
480 (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
481 (WebInspector.TextEditorMainPanel.prototype._paintLines):
482 (WebInspector.TextEditorMainPanel.prototype._paintLine):
483 (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
484 (WebInspector.TextEditorMainPanel.prototype._getSelection):
485 (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
486 (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
487 (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
488 (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
489 (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
490 (WebInspector.TextEditorMainChunk):
491 (WebInspector.TextEditorMainChunk.prototype.addDecoration):
492 (WebInspector.TextEditorMainChunk.prototype.set expanded):
493 (WebInspector.TextEditorMainChunk.prototype.get height):
494 (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
495 (WebInspector.TextEditorMainChunk.prototype._createRow):
497 * inspector/front-end/textViewer.css:
498 (.text-editor-lines):
499 (.text-editor-contents):
500 (.text-editor-editable):
501 (.webkit-line-decorations):
502 (.webkit-line-number):
503 (.webkit-execution-line.webkit-line-content):
504 (.diff-container .webkit-added-line.webkit-line-content):
505 (.diff-container .webkit-removed-line.webkit-line-content):
506 (.diff-container .webkit-changed-line.webkit-line-content):
507 (.webkit-highlighted-line.webkit-line-content):
509 2011-02-02 Hans Wennborg <hans@chromium.org>
511 Reviewed by Jeremy Orlow.
513 IndexedDB: Implement support for cursor updates
514 https://bugs.webkit.org/show_bug.cgi?id=53421
516 Implement support for cursor updates using the same pattern as cursor
517 deletes: forward the calls to the IDBObjectStoreBackend::put().
518 The put() function's signature needs to be changed to allow for a
519 "cursor update mode". This makes the signature more clear anyway,
520 since it replaces the boolean parameter.
522 Test: storage/indexeddb/cursor-update.html
524 * storage/IDBCursor.idl:
525 * storage/IDBCursorBackendImpl.cpp:
526 (WebCore::IDBCursorBackendImpl::key):
527 (WebCore::IDBCursorBackendImpl::update):
528 * storage/IDBCursorBackendImpl.h:
529 * storage/IDBObjectStore.cpp:
530 (WebCore::IDBObjectStore::add):
531 (WebCore::IDBObjectStore::put):
532 * storage/IDBObjectStoreBackendImpl.cpp:
533 (WebCore::IDBObjectStoreBackendImpl::put):
534 (WebCore::IDBObjectStoreBackendImpl::putInternal):
535 * storage/IDBObjectStoreBackendImpl.h:
536 * storage/IDBObjectStoreBackendInterface.h:
538 2011-02-02 Naoki Takano <takano.naoki@gmail.com>
540 Reviewed by Kent Tamura.
542 Fix popup menu RTL bug introduced by Changeset 75982.
543 https://bugs.webkit.org/show_bug.cgi?id=53567
545 PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
547 No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
549 * platform/chromium/PopupMenuChromium.cpp:
550 (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Fix calculation of x position, because layout() considers RTL. And change the parameter from both X and Y positions to only Y position.
551 (WebCore::PopupContainer::showPopup): Change the passing parameter.
552 (WebCore::PopupContainer::refresh): Change the passing parameter.
553 * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
555 2011-02-02 Alejandro G. Castro <alex@igalia.com>
557 Reviewed by Martin Robinson.
559 [GTK] Fix dist compilation
560 https://bugs.webkit.org/show_bug.cgi?id=53579
562 * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
565 2011-02-02 Dai Mikurube <dmikurube@google.com>
567 Reviewed by David Levin.
569 Make mime type lookup in File::create(path) thread-safe
570 https://bugs.webkit.org/show_bug.cgi?id=47700
572 This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
573 The function is to be called as a thread-safe version of getMIMETypeForExtension() when
574 both FILE_SYSTEM and WORKERS are enabled.
576 No tests for this patch. This patch itself doesn't change the behaviors.
577 For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
578 For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
579 The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
580 platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
582 * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
583 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
584 * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
585 * platform/android/TemporaryLinkStubs.cpp:
586 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
587 * platform/brew/MIMETypeRegistryBrew.cpp:
588 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
589 * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
590 (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
591 * platform/efl/MIMETypeRegistryEfl.cpp:
592 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
593 * platform/gtk/MIMETypeRegistryGtk.cpp:
594 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
595 * platform/haiku/MIMETypeRegistryHaiku.cpp:
596 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
597 * platform/mac/MIMETypeRegistryMac.mm:
598 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
599 * platform/qt/MIMETypeRegistryQt.cpp:
600 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
601 * platform/win/MIMETypeRegistryWin.cpp:
602 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
603 * platform/wince/MIMETypeRegistryWinCE.cpp:
604 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
605 * platform/wx/MimeTypeRegistryWx.cpp:
606 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
608 2011-02-01 Adam Barth <abarth@webkit.org>
610 Reviewed by Alexey Proskuryakov.
612 Improve readability of updateWidget by converting bool parameter to an enum
613 https://bugs.webkit.org/show_bug.cgi?id=53576
615 As requested on webkit-dev.
617 * html/HTMLEmbedElement.cpp:
618 (WebCore::HTMLEmbedElement::updateWidget):
619 * html/HTMLEmbedElement.h:
620 * html/HTMLMediaElement.cpp:
621 (WebCore::HTMLMediaElement::updateWidget):
622 * html/HTMLMediaElement.h:
623 * html/HTMLObjectElement.cpp:
624 (WebCore::HTMLObjectElement::updateWidget):
625 * html/HTMLObjectElement.h:
626 * html/HTMLPlugInImageElement.cpp:
627 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
628 * html/HTMLPlugInImageElement.h:
629 * page/FrameView.cpp:
630 (WebCore::FrameView::updateWidget):
632 2011-02-01 James Robinson <jamesr@chromium.org>
634 Reviewed by Adam Barth.
636 [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
637 https://bugs.webkit.org/show_bug.cgi?id=53566
639 A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
640 Other than being large enough for this one test case, this limit is arbitrary.
642 * bindings/v8/V8Proxy.h:
644 2011-02-01 Adam Barth <abarth@webkit.org>
646 Reviewed by Andreas Kling.
648 Remove useless comment
649 https://bugs.webkit.org/show_bug.cgi?id=53549
651 The reason for this parameter is captured in
652 plugins/netscape-plugin-setwindow-size.html, which is a better place to
653 capture it than in this comment (which otherwise just re-iterates the
654 name of the parameter).
656 * html/HTMLPlugInImageElement.cpp:
657 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
659 2011-02-01 James Simonsen <simonjam@chromium.org>
661 Reviewed by Tony Gentilcore.
663 [WebTiming] Remove asserts that verify timestamp order
664 https://bugs.webkit.org/show_bug.cgi?id=53548
666 Covered by existing tests.
668 * loader/FrameLoader.cpp:
669 (WebCore::FrameLoader::stopLoading): Remove assert.
670 * page/DOMWindow.cpp:
671 (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
673 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
675 Add the 'default_targets' enclosure to the flags.
677 * WebCore.gyp/WebCore.gyp: Did it.
679 2011-02-01 Mihai Parparita <mihaip@chromium.org>
681 Reviewed by James Robinson.
683 Async event handlers should not fire within a modal dialog
684 https://bugs.webkit.org/show_bug.cgi?id=53202
686 Asychronous events that use EventQueue would currently fire while a
687 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
688 SuspendableTimer (which automatically gets suspended while dialogs are
689 up and in other cases where JS execution is not allowed).
691 Test: fast/events/scroll-event-during-modal-dialog.html
694 (WebCore::Document::Document):
695 * dom/EventQueue.cpp:
696 (WebCore::EventQueueTimer::EventQueueTimer):
697 (WebCore::EventQueueTimer::fired):
698 (WebCore::EventQueue::EventQueue):
699 (WebCore::EventQueue::enqueueEvent):
700 (WebCore::EventQueue::pendingEventTimerFired):
702 (WebCore::EventQueue::create):
703 * page/SuspendableTimer.cpp:
704 (WebCore::SuspendableTimer::SuspendableTimer):
705 (WebCore::SuspendableTimer::suspend):
706 (WebCore::SuspendableTimer::resume):
707 * page/SuspendableTimer.h:
709 2011-02-01 Patrick Gansterer <paroga@webkit.org>
711 Reviewed by Andreas Kling.
713 Change wrong PLATFORM(WIN) to USE(WININET)
714 https://bugs.webkit.org/show_bug.cgi?id=53547
716 * platform/network/ResourceHandle.h:
718 2011-02-01 Beth Dakin <bdakin@apple.com>
722 * platform/mac/ScrollAnimatorMac.mm:
723 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
725 2011-01-25 Martin Robinson <mrobinson@igalia.com>
727 Reviewed by Gustavo Noronha Silva.
729 [GTK] Two tests crash after r76555
730 https://bugs.webkit.org/show_bug.cgi?id=53057
732 Instead of creating synchronous ResourceHandles manually, use the ::create factory.
733 This ensures that ::start() is not called when there is a scheduled failure and also
734 reduces code duplication.
736 * platform/network/soup/ResourceHandleSoup.cpp:
737 (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
739 2011-02-01 Martin Robinson <mrobinson@igalia.com>
741 Reviewed by Eric Seidel.
743 [GTK] GObject DOM bindings do no support the CallWith attribute
744 https://bugs.webkit.org/show_bug.cgi?id=53331
746 Disable building GObject DOM bindings for IndexedDB because we do not support
747 the CallWith attribute at this time.
749 * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
751 2011-02-01 Darin Adler <darin@apple.com>
753 Reviewed by Brady Eidson.
755 Fix a couple loose ends from the back/forward tree encode/decode work
756 https://bugs.webkit.org/show_bug.cgi?id=53537
758 * history/HistoryItem.cpp:
759 (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
760 original URL string; no need to encode it twice.
761 (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
762 * history/HistoryItem.h: Removed declaration for function that is no
763 longer defined nor used.
765 2011-02-01 Tony Chang <tony@chromium.org>
767 Reviewed by Kent Tamura.
769 [chromium] disable arm uninitialized variable warnings
770 https://bugs.webkit.org/show_bug.cgi?id=53553
772 We just got another error:
773 third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
774 'colorTransparent.unstatic.4879' may be used uninitialized in this
777 * WebCore.gyp/WebCore.gyp:
779 2011-02-01 chris reiss <christopher.reiss@nokia.com>
781 Reviewed by Adam Barth.
783 Self-replicating code makes Safari hang and eventually crash
784 https://bugs.webkit.org/show_bug.cgi?id=15123
787 Here we are replicating the Firefox safeguard against
788 recursive document.write( ) 's.
790 See https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug
791 https://bugzilla.mozilla.org/show_bug.cgi?id=197052 . Firefox does two things -
792 a) imposes a recursion limit of 20 on document.write( ) and
793 b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
794 To see why this is necessary, consider the script :
797 var t = document.body.innerHTML;
801 This will create a tree both broad and deep as the script keeps appending itself to the text. If
802 we just return one level after the recursion limit is reached, we still allow millions of copies to
803 duplicate (and execute).
805 The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
806 to prevent this situation. (IE apparently does the same thing, with a lower recursion limit.)
808 Test: fast/dom/Document/document-write-recursion.html
809 Test: fast/dom/Document/document-close-iframe-load.html
810 Test: fast/dom/Document/document-close-nested-iframe-load.html
814 (WebCore::Document::Document):
815 (WebCore::Document::write):
818 2011-02-01 Johnny Ding <jnd@chromium.org>
820 Reviewed by Darin Adler.
822 Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
823 https://bugs.webkit.org/show_bug.cgi?id=53424
825 Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
827 * html/HTMLAnchorElement.cpp:
828 (WebCore::handleLinkClick):
830 2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
832 Unreviewed Qt buildfix after r77286.
834 https://bugs.webkit.org/show_bug.cgi?id=53520
835 Remove the physical terminology from IntRect and FloatRect.
837 * platform/graphics/TiledBackingStore.cpp:
838 (WebCore::TiledBackingStore::createTiles):
840 2011-02-01 Sam Weinig <sam@webkit.org>
842 Fix Mac production builds.
844 * DerivedSources.make:
845 * WebCore.xcodeproj/project.pbxproj:
846 * platform/mac/ScrollAnimatorMac.h:
847 * platform/mac/ScrollbarThemeMac.h:
849 2011-02-01 Darin Adler <darin@apple.com>
851 Reviewed by Chris Fleizach.
853 REGRESSION: Removing focus from area element causes unwanted scrolling
854 https://bugs.webkit.org/show_bug.cgi?id=50169
856 Test: fast/images/imagemap-scroll.html
858 * html/HTMLAreaElement.cpp:
859 (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
860 RenderImage::areaElementFocusChanged function.
861 (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
862 here that calls setNeedsLayout on the image's renderer. This was an
863 attempt to cause repaint of the renderer, but this function does not
864 need to do that. Also changed this to use the imageElement function
865 to avoid repeating code.
867 * html/HTMLAreaElement.h: Updated for above changes.
869 * rendering/RenderImage.cpp:
870 (WebCore::RenderImage::paint): Updated for name change.
871 (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
872 paintFocusRing, because it only paints area focus rings, and should
873 not be confused with paintFocusRing functions in other classes. Also
874 removed the unused style argument. Removed the code that used an
875 HTMLCollection to see if the focused area element is for this image
876 and instead just call imageElement on the area element.
877 (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
879 * rendering/RenderImage.h: Added a public areaElementFocusChanged
880 function for HTMLAreaElement to call. Made the paintFocusRing function
881 private, renamed it to paintAreaElementFocusRing, and removed its
882 unused style argument.
884 2011-02-01 Patrick Gansterer <paroga@webkit.org>
886 Unreviewed WinCE build fix for r77286.
888 * platform/graphics/wince/GraphicsContextWinCE.cpp:
889 (WebCore::TransparentLayerDC::TransparentLayerDC):
891 2011-02-01 Chris Fleizach <cfleizach@apple.com>
893 Reviewed by Darin Adler.
895 AX: AXPosition of AXScrollArea is wrong
896 https://bugs.webkit.org/show_bug.cgi?id=53511
898 AccessibilityScrollView needed to return a valid documentFrameView() object.
899 At the same time, the code from document() should be consolidated in
900 AccessibilityObject, so all objects can use it.
902 Test: platform/mac/accessibility/webkit-scrollarea-position.html
904 * accessibility/AccessibilityObject.cpp:
905 (WebCore::AccessibilityObject::document):
906 * accessibility/AccessibilityObject.h:
907 * accessibility/AccessibilityScrollView.cpp:
908 (WebCore::AccessibilityScrollView::accessibilityHitTest):
909 (WebCore::AccessibilityScrollView::documentFrameView):
910 * accessibility/AccessibilityScrollView.h:
912 2011-02-01 Zhenyao Mo <zmo@google.com>
914 Reviewed by Kenneth Russell.
916 getUniform should support SAMPLER_2D or SAMPLER_CUBE
917 https://bugs.webkit.org/show_bug.cgi?id=52190
919 * html/canvas/WebGLRenderingContext.cpp:
920 (WebCore::WebGLRenderingContext::getUniform):
922 2011-02-01 Zhenyao Mo <zmo@google.com>
924 Reviewed by Darin Adler.
926 Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
927 https://bugs.webkit.org/show_bug.cgi?id=53531
929 With this fix, running WebGL conformance tests should no longer crash randomly.
931 * platform/graphics/cg/GraphicsContext3DCG.cpp:
932 (WebCore::GraphicsContext3D::getImageData):
934 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
936 One more Chromium build fix after r77286.
938 * platform/chromium/ScrollbarThemeChromiumMac.mm:
939 (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
941 2011-02-01 Sam Weinig <sam@webkit.org>
943 Fix the build for Beth.
945 * platform/mac/ScrollAnimatorMac.mm:
946 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
948 2011-02-01 Sam Weinig <sam@webkit.org>
950 Reviewed by Beth Dakin.
952 Part 2 for <rdar://problem/8492788>
953 Adopt WKScrollbarPainterController
955 Use header detection to define scrollbar painting controller #define.
958 * platform/mac/ScrollAnimatorMac.h:
959 * platform/mac/ScrollbarThemeMac.h:
960 * platform/mac/WebCoreSystemInterface.h:
961 * platform/mac/WebCoreSystemInterface.mm:
963 2011-02-01 David Hyatt <hyatt@apple.com>
965 Reviewed by Oliver Hunt.
967 https://bugs.webkit.org/show_bug.cgi?id=53520
969 Remove the physical terminology from IntRect and FloatRect.
971 Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
972 we need to update our terminology to be more accurate.
974 I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
975 renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
976 even for flipped rectangles.
978 * accessibility/AccessibilityRenderObject.cpp:
979 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
980 * accessibility/mac/AccessibilityObjectWrapper.mm:
981 (-[AccessibilityObjectWrapper position]):
983 (WebCore::ClientRect::right):
984 (WebCore::ClientRect::bottom):
985 * html/HTMLCanvasElement.cpp:
986 (WebCore::HTMLCanvasElement::convertLogicalToDevice):
987 * html/canvas/CanvasRenderingContext2D.cpp:
988 (WebCore::normalizeRect):
989 * inspector/InspectorAgent.cpp:
990 (WebCore::InspectorAgent::drawElementTitle):
991 * page/DOMWindow.cpp:
992 (WebCore::DOMWindow::adjustWindowRect):
993 * page/DragController.cpp:
994 (WebCore::dragLocForSelectionDrag):
995 * page/EventHandler.cpp:
996 (WebCore::EventHandler::sendContextMenuEventForKey):
997 * page/PrintContext.cpp:
998 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
999 (WebCore::PrintContext::pageNumberForElement):
1000 * page/SpatialNavigation.cpp:
1002 (WebCore::areRectsFullyAligned):
1003 (WebCore::areRectsMoreThanFullScreenApart):
1006 (WebCore::isRectInDirection):
1007 (WebCore::entryAndExitPointsForDirection):
1008 (WebCore::virtualRectForDirection):
1009 * page/WindowFeatures.cpp:
1010 (WebCore::WindowFeatures::WindowFeatures):
1011 * platform/ScrollView.cpp:
1012 (WebCore::ScrollView::wheelEvent):
1013 * platform/Scrollbar.cpp:
1014 (WebCore::Scrollbar::setFrameRect):
1015 * platform/ScrollbarThemeComposite.cpp:
1016 (WebCore::ScrollbarThemeComposite::splitTrack):
1017 * platform/chromium/ScrollbarThemeChromium.cpp:
1018 (WebCore::ScrollbarThemeChromium::paintTickmarks):
1019 * platform/graphics/FloatQuad.h:
1020 (WebCore::FloatQuad::FloatQuad):
1021 * platform/graphics/FloatRect.cpp:
1022 (WebCore::FloatRect::intersects):
1023 (WebCore::FloatRect::contains):
1024 (WebCore::FloatRect::intersect):
1025 (WebCore::FloatRect::unite):
1026 (WebCore::enclosingIntRect):
1027 * platform/graphics/FloatRect.h:
1028 (WebCore::FloatRect::maxX):
1029 (WebCore::FloatRect::maxY):
1030 (WebCore::FloatRect::contains):
1031 * platform/graphics/IntRect.cpp:
1032 (WebCore::IntRect::intersects):
1033 (WebCore::IntRect::contains):
1034 (WebCore::IntRect::intersect):
1035 (WebCore::IntRect::unite):
1036 * platform/graphics/IntRect.h:
1037 (WebCore::IntRect::maxX):
1038 (WebCore::IntRect::maxY):
1039 (WebCore::IntRect::shiftXEdgeTo):
1040 (WebCore::IntRect::shiftMaxXEdgeTo):
1041 (WebCore::IntRect::shiftYEdgeTo):
1042 (WebCore::IntRect::shiftMaxYEdgeTo):
1043 (WebCore::IntRect::contains):
1044 * platform/graphics/WidthIterator.cpp:
1045 (WebCore::WidthIterator::advance):
1046 * platform/graphics/cg/GraphicsContextCG.cpp:
1047 (WebCore::GraphicsContext::drawRect):
1048 (WebCore::GraphicsContext::fillPath):
1049 (WebCore::GraphicsContext::fillRect):
1050 * platform/graphics/cg/ImageBufferCG.cpp:
1051 (WebCore::getImageData):
1052 (WebCore::putImageData):
1053 * platform/graphics/cg/ImageCG.cpp:
1054 (WebCore::BitmapImage::draw):
1055 * platform/graphics/filters/FilterEffect.cpp:
1056 (WebCore::FilterEffect::copyImageBytes):
1057 * platform/graphics/mac/ComplexTextController.cpp:
1058 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
1059 * platform/graphics/mac/SimpleFontDataMac.mm:
1060 (WebCore::SimpleFontData::platformBoundsForGlyph):
1061 * platform/graphics/transforms/AffineTransform.cpp:
1062 (WebCore::AffineTransform::mapRect):
1063 * platform/graphics/win/FontCGWin.cpp:
1064 (WebCore::drawGDIGlyphs):
1065 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1066 (WebCore::MediaPlayerPrivate::paint):
1067 * platform/gtk/RenderThemeGtk.cpp:
1068 (WebCore::centerRectVerticallyInParentInputElement):
1069 * platform/mac/WidgetMac.mm:
1070 (WebCore::Widget::paint):
1071 * rendering/InlineFlowBox.cpp:
1072 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1073 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1074 * rendering/InlineTextBox.cpp:
1075 (WebCore::InlineTextBox::selectionRect):
1076 (WebCore::InlineTextBox::paint):
1077 (WebCore::InlineTextBox::positionForOffset):
1078 * rendering/RenderBlock.cpp:
1079 (WebCore::RenderBlock::addOverflowFromChildren):
1080 (WebCore::RenderBlock::paintChildren):
1081 (WebCore::RenderBlock::paintEllipsisBoxes):
1082 (WebCore::RenderBlock::inlineSelectionGaps):
1083 (WebCore::RenderBlock::adjustPointToColumnContents):
1084 (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
1085 (WebCore::RenderBlock::adjustForColumns):
1086 * rendering/RenderBlock.h:
1087 (WebCore::RenderBlock::FloatingObject::right):
1088 (WebCore::RenderBlock::FloatingObject::bottom):
1089 * rendering/RenderBox.cpp:
1090 (WebCore::RenderBox::reflectedRect):
1091 (WebCore::RenderBox::localCaretRect):
1092 (WebCore::RenderBox::addShadowOverflow):
1093 (WebCore::RenderBox::addLayoutOverflow):
1094 (WebCore::RenderBox::visualOverflowRectForPropagation):
1095 (WebCore::RenderBox::layoutOverflowRectForPropagation):
1096 (WebCore::RenderBox::flipForWritingMode):
1097 * rendering/RenderFrameSet.cpp:
1098 (WebCore::RenderFrameSet::paintColumnBorder):
1099 (WebCore::RenderFrameSet::paintRowBorder):
1100 * rendering/RenderInline.cpp:
1101 (WebCore::RenderInline::paintOutlineForLine):
1102 * rendering/RenderLayer.cpp:
1103 (WebCore::RenderLayer::getRectToExpose):
1104 (WebCore::cornerRect):
1105 (WebCore::RenderLayer::positionOverflowControls):
1106 (WebCore::RenderLayer::overflowBottom):
1107 (WebCore::RenderLayer::overflowRight):
1108 (WebCore::RenderLayer::paintResizer):
1109 * rendering/RenderLineBoxList.cpp:
1110 (WebCore::RenderLineBoxList::rangeIntersectsRect):
1111 (WebCore::RenderLineBoxList::paint):
1112 * rendering/RenderListItem.cpp:
1113 (WebCore::RenderListItem::positionListMarker):
1114 * rendering/RenderListMarker.cpp:
1115 (WebCore::RenderListMarker::paint):
1116 * rendering/RenderObject.cpp:
1117 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
1118 * rendering/RenderOverflow.h:
1119 (WebCore::RenderOverflow::RenderOverflow):
1120 (WebCore::RenderOverflow::addLayoutOverflow):
1121 (WebCore::RenderOverflow::addVisualOverflow):
1122 (WebCore::RenderOverflow::setLayoutOverflow):
1123 (WebCore::RenderOverflow::setVisualOverflow):
1124 (WebCore::RenderOverflow::resetLayoutOverflow):
1125 * rendering/RenderReplaced.cpp:
1126 (WebCore::RenderReplaced::shouldPaint):
1127 * rendering/RenderScrollbarTheme.cpp:
1128 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
1129 * rendering/RenderTable.cpp:
1130 (WebCore::RenderTable::paint):
1131 * rendering/RenderTableCell.cpp:
1132 (WebCore::RenderTableCell::paint):
1133 * rendering/RenderTableSection.cpp:
1134 (WebCore::RenderTableSection::paintObject):
1135 * rendering/RenderText.cpp:
1136 (WebCore::RenderText::absoluteQuads):
1137 * rendering/RenderTextControlSingleLine.cpp:
1138 (WebCore::RenderTextControlSingleLine::forwardEvent):
1139 * rendering/RenderThemeMac.mm:
1140 (WebCore::RenderThemeMac::paintMenuListButtonGradients):
1141 (WebCore::RenderThemeMac::paintMenuListButton):
1142 (WebCore::RenderThemeMac::paintSliderTrack):
1143 * rendering/RenderView.cpp:
1144 (WebCore::RenderView::computeRectForRepaint):
1145 (WebCore::RenderView::docBottom):
1146 (WebCore::RenderView::docRight):
1147 * rendering/RootInlineBox.cpp:
1148 (WebCore::RootInlineBox::paddedLayoutOverflowRect):
1149 * rendering/svg/RenderSVGInlineText.cpp:
1150 (WebCore::RenderSVGInlineText::localCaretRect):
1152 2011-02-01 Beth Dakin <bdakin@apple.com>
1154 Reviewed by Sam Weinig.
1156 Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
1158 Lots of new WebCoreSystemInterface functions to export.
1160 * platform/mac/WebCoreSystemInterface.h:
1161 * platform/mac/WebCoreSystemInterface.mm:
1163 Let the scrollAnimator know when the mouse has
1164 moved anywhere inside the page, and when the mouse
1165 has moved in or out of the window.
1166 * page/EventHandler.cpp:
1167 (WebCore::EventHandler::mouseMoved):
1168 (WebCore::EventHandler::updateMouseEventTargetNode):
1170 Let the scrollAnimator know when the window has become
1172 * page/FocusController.cpp:
1173 (WebCore::FocusController::setActive):
1175 Let the scrollAnimator know when all of these things
1177 * page/FrameView.cpp:
1178 (WebCore::FrameView::setContentsSize):
1179 (WebCore::FrameView::didMoveOnscreen):
1180 (WebCore::FrameView::willMoveOffscreen):
1181 (WebCore::FrameView::currentMousePosition):
1182 (WebCore::FrameView::contentsResized):
1184 New functions called through WebKit2 that allow the
1185 scrollAnimator to know when a live resize starts and ends.
1186 (WebCore::FrameView::willStartLiveResize):
1187 (WebCore::FrameView::willEndLiveResize):
1190 New functions on ScrollAnimator that pass information
1191 to the WKPainterController when we're using one.
1192 * platform/ScrollAnimator.h:
1193 (WebCore::ScrollAnimator::scrollableArea):
1194 (WebCore::ScrollAnimator::contentAreaWillPaint):
1195 (WebCore::ScrollAnimator::mouseEnteredContentArea):
1196 (WebCore::ScrollAnimator::mouseExitedContentArea):
1197 (WebCore::ScrollAnimator::mouseMovedInContentArea):
1198 (WebCore::ScrollAnimator::willStartLiveResize):
1199 (WebCore::ScrollAnimator::contentsResized):
1200 (WebCore::ScrollAnimator::willEndLiveResize):
1201 (WebCore::ScrollAnimator::contentAreaDidShow):
1202 (WebCore::ScrollAnimator::contentAreaDidHide):
1203 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
1204 (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
1205 (WebCore::ScrollAnimatorMac::setPainterForPainterController):
1206 (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
1207 (WebCore::ScrollAnimatorMac::notityPositionChanged):
1208 (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
1209 (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
1210 (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
1211 (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
1212 (WebCore::ScrollAnimatorMac::willStartLiveResize):
1213 (WebCore::ScrollAnimatorMac::contentsResized):
1214 (WebCore::ScrollAnimatorMac::willEndLiveResize):
1215 (WebCore::ScrollAnimatorMac::contentAreaDidShow):
1216 (WebCore::ScrollAnimatorMac::contentAreaDidHide):
1218 Let the scrollAnimator know when this is happening.
1219 * platform/ScrollView.cpp:
1220 (WebCore::ScrollView::paint):
1222 New function lets the scrollAnimator get the current
1224 * platform/ScrollView.h:
1225 (WebCore::ScrollView::currentMousePosition):
1227 New function that returns the scrollAnimator when needed.
1228 * platform/ScrollableArea.h:
1229 (WebCore::ScrollableArea::scrollAnimator):
1231 Keep track of if we're in a live resize using a new memeber
1233 * platform/mac/ScrollAnimatorMac.h:
1234 (WebCore::ScrollAnimatorMac::inLiveResize):
1235 * platform/mac/ScrollAnimatorMac.mm:
1238 New delegates for the WKPainter and WKPainterController
1239 (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
1240 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
1241 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
1242 (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
1243 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
1244 (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
1245 (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
1246 (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
1247 (-[ScrollKnobAnimation setCurrentProgress:]):
1248 (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
1249 (-[ScrollbarPainterDelegate convertRectToBacking:]):
1250 (-[ScrollbarPainterDelegate convertRectFromBacking:]):
1251 (-[ScrollbarPainterDelegate layer]):
1252 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
1253 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
1254 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
1255 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
1257 Get the WKScrollbarPainterRefs to synch up with the
1258 WKScrollbarPainterControllerRefs when appropriate
1259 * platform/mac/ScrollbarThemeMac.h:
1260 * platform/mac/ScrollbarThemeMac.mm:
1261 (WebCore::ScrollbarThemeMac::registerScrollbar):
1262 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1263 (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
1264 (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
1266 Implement ScrollableArea's virtual function contentsSize() for access
1267 through the scrollAnimator.
1268 * rendering/RenderLayer.h:
1269 (WebCore::RenderLayer::contentsSize):
1271 2011-02-01 Carol Szabo <carol.szabo@nokia.com>
1273 Reviewed by David Hyatt.
1275 layoutTestController.counterValueForElementById does not return the correct value
1276 https://bugs.webkit.org/show_bug.cgi?id=53037
1278 Test: fast/css/counters/deep-before.html
1280 * rendering/RenderTreeAsText.cpp:
1281 (WebCore::counterValueForElement):
1282 Modified to use the newly available RenderObject::beforePseudoElement()
1283 and RenderObject::afterPseudoElement() instead of the old imperfect
1284 algorithm to find the before and after pseudo elements.
1286 2011-02-01 Anton Muhin <antonm@chromium.org>
1288 Reviewed by Adam Barth.
1290 Allow access for security origin same as this.
1291 https://bugs.webkit.org/show_bug.cgi?id=53440
1293 Hard to test as newly added path currently is never hit.
1295 * page/SecurityOrigin.cpp:
1296 (WebCore::SecurityOrigin::canAccess): allow access if this == other
1298 2011-01-31 Oliver Hunt <oliver@apple.com>
1300 Reviewed by Geoffrey Garen.
1302 Update JSObject storage for new marking API
1303 https://bugs.webkit.org/show_bug.cgi?id=53467
1305 Update WebCore to handle new anonymous slot behaviour.
1307 * bindings/js/JSDOMWindowShell.cpp:
1308 (WebCore::JSDOMWindowShell::setWindow):
1309 * bindings/js/WorkerScriptController.cpp:
1310 (WebCore::WorkerScriptController::initScript):
1311 * bindings/scripts/CodeGeneratorJS.pm:
1313 2011-02-01 Xiaomei Ji <xji@chromium.org>
1315 Reviewed by David Hyatt.
1317 Fix a text rendering problem when enclosing block is RTL and text runs
1318 are in different directionality.
1319 https://bugs.webkit.org/show_bug.cgi?id=34176
1321 The problem happens in the following example scenario (ABC represents
1323 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
1325 The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
1326 TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
1327 TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
1329 The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
1331 Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
1332 creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
1333 the run's render object's ancestor (not only its parent) has already
1334 been constructed or has something following it on the line, in which
1335 case, create a new box for TextRun2 instead of sharing the same box with
1338 In other words, the following 2 div should render the same results
1339 (ABC represents Hebrew characters).
1340 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
1341 <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
1343 Test: fast/dom/34176.html
1345 * rendering/RenderBlockLineLayout.cpp:
1346 (WebCore::parentIsConstructedOrHaveNext):
1347 (WebCore::RenderBlock::createLineBoxes):
1349 2011-02-01 Abhishek Arya <inferno@chromium.org>
1351 Reviewed by Dan Bernstein.
1353 Do not add a node in the document's stylesheet candidate node list if the
1354 node is already removed from document.
1355 https://bugs.webkit.org/show_bug.cgi?id=53441
1357 Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
1360 (WebCore::Document::addStyleSheetCandidateNode):
1362 2011-02-01 Dave Hyatt <hyatt@apple.com>
1364 Reviewed by Darin Adler.
1366 https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
1369 Change printing functions to check writing-mode and properly swap width and height
1372 Fix the setScrollOrigin function so that the origin doesn't cause
1373 scroll spasming during printing (this is only partially successful, but it's better
1376 Rewrite computePageRects to handle both RTL documents properly as well as vertical
1377 text documents properly.
1380 * page/FrameView.cpp:
1381 (WebCore::FrameView::adjustViewSize):
1382 (WebCore::FrameView::forceLayoutForPagination):
1383 * page/PrintContext.cpp:
1384 (WebCore::PrintContext::computePageRects):
1385 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
1386 (WebCore::PrintContext::computeAutomaticScaleFactor):
1387 (WebCore::PrintContext::spoolPage):
1388 (WebCore::PrintContext::spoolRect):
1389 * page/PrintContext.h:
1390 * page/mac/WebCoreFrameView.h:
1391 * platform/ScrollView.cpp:
1392 (WebCore::ScrollView::wheelEvent):
1393 * platform/ScrollView.h:
1394 * platform/mac/ScrollViewMac.mm:
1395 (WebCore::ScrollView::platformSetScrollOrigin):
1396 * rendering/RenderView.cpp:
1397 (WebCore::RenderView::layout):
1399 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
1401 Reviewed by Pavel Feldman.
1403 Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
1405 https://bugs.webkit.org/show_bug.cgi?id=53500
1407 * inspector/InspectorProfilerAgent.cpp:
1408 (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
1410 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
1412 Reviewed by Pavel Feldman.
1414 Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
1416 https://bugs.webkit.org/show_bug.cgi?id=53173
1418 Adding code for accessing heap snapshot data and
1419 performing graph calculations.
1421 * English.lproj/localizedStrings.js:
1422 * inspector/front-end/HeapSnapshot.js:
1423 (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
1424 (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
1425 (WebInspector.HeapSnapshotEdgeIterator):
1426 (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
1427 (WebInspector.HeapSnapshotNodeIterator):
1428 (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
1429 (WebInspector.HeapSnapshotFilteredOrderedIterator):
1430 (WebInspector.HeapSnapshotEdgesProvider):
1431 (WebInspector.HeapSnapshotNodesProvider):
1432 (WebInspector.HeapSnapshotPathFinder):
1433 * inspector/front-end/HeapSnapshotView.js:
1434 (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
1436 2011-02-01 Adam Roben <aroben@apple.com>
1438 Fix linker warnings in Release_LTCG builds
1440 * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
1441 configurations, since they get pulled in via DOMAllInOne.cpp.
1443 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
1445 Reviewed by Yury Semikhatsky.
1447 Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
1448 https://bugs.webkit.org/show_bug.cgi?id=53482
1450 * English.lproj/localizedStrings.js:
1451 * inspector/front-end/ElementsPanel.js:
1452 (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
1453 * inspector/front-end/inspector.js:
1454 (WebInspector.resourceForURL):
1455 (WebInspector.openLinkExternallyLabel):
1457 2011-02-01 Anton Muhin <antonm@chromium.org>
1459 Reviewed by Adam Barth.
1461 Propagate parent document security origin to newly create Document XML response
1462 https://bugs.webkit.org/show_bug.cgi?id=53444
1464 Covered by the existing tests.
1466 * xml/XMLHttpRequest.cpp:
1467 (WebCore::XMLHttpRequest::responseXML):
1469 2011-02-01 Yury Semikhatsky <yurys@chromium.org>
1471 Unreviewed. Rollout r77230 which caused many layout tests
1472 crashes on Chromium Debug bots.
1474 Async event handlers should not fire within a modal dialog
1475 https://bugs.webkit.org/show_bug.cgi?id=53202
1478 (WebCore::Document::Document):
1479 * dom/EventQueue.cpp:
1480 (WebCore::EventQueue::EventQueue):
1481 (WebCore::EventQueue::enqueueEvent):
1482 (WebCore::EventQueue::pendingEventTimerFired):
1485 2011-02-01 Zoltan Herczeg <zherczeg@webkit.org>
1487 Reviewed by Dirk Schulze.
1489 LightElement changes does not require relayout.
1490 https://bugs.webkit.org/show_bug.cgi?id=53232
1492 When an attribute of a LightElement changes, it
1493 send an update message to the lighting filters
1494 to update its corresponding LightSource objects,
1495 and repaint the filters.
1497 Duplicated 'id' attributes removed from svg-filter-animation.svg.
1499 Existing dynamic-update tests covers this feature.
1501 5x speedup on manual-tests/svg-filter-animation.svg
1503 * manual-tests/svg-filter-animation.svg:
1504 * platform/graphics/filters/DistantLightSource.h:
1505 * platform/graphics/filters/FEDiffuseLighting.cpp:
1506 (WebCore::FEDiffuseLighting::setLightingColor):
1507 (WebCore::FEDiffuseLighting::setSurfaceScale):
1508 (WebCore::FEDiffuseLighting::setDiffuseConstant):
1509 (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
1510 (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
1511 * platform/graphics/filters/FEDiffuseLighting.h:
1512 * platform/graphics/filters/LightSource.cpp:
1513 (WebCore::PointLightSource::setX):
1514 (WebCore::PointLightSource::setY):
1515 (WebCore::PointLightSource::setZ):
1516 (WebCore::SpotLightSource::setX):
1517 (WebCore::SpotLightSource::setY):
1518 (WebCore::SpotLightSource::setZ):
1519 (WebCore::SpotLightSource::setPointsAtX):
1520 (WebCore::SpotLightSource::setPointsAtY):
1521 (WebCore::SpotLightSource::setPointsAtZ):
1522 (WebCore::SpotLightSource::setSpecularExponent):
1523 (WebCore::SpotLightSource::setLimitingConeAngle):
1524 (WebCore::DistantLightSource::setAzimuth):
1525 (WebCore::DistantLightSource::setElevation):
1526 (WebCore::LightSource::setAzimuth):
1527 (WebCore::LightSource::setElevation):
1528 (WebCore::LightSource::setX):
1529 (WebCore::LightSource::setY):
1530 (WebCore::LightSource::setZ):
1531 (WebCore::LightSource::setPointsAtX):
1532 (WebCore::LightSource::setPointsAtY):
1533 (WebCore::LightSource::setPointsAtZ):
1534 (WebCore::LightSource::setSpecularExponent):
1535 (WebCore::LightSource::setLimitingConeAngle):
1536 * platform/graphics/filters/LightSource.h:
1537 * platform/graphics/filters/PointLightSource.h:
1538 * platform/graphics/filters/SpotLightSource.h:
1539 * rendering/svg/RenderSVGResourceFilter.cpp:
1540 (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
1541 * svg/SVGFEDiffuseLightingElement.cpp:
1542 (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
1543 (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
1544 (WebCore::SVGFEDiffuseLightingElement::build):
1545 (WebCore::SVGFEDiffuseLightingElement::findLightElement):
1546 (WebCore::SVGFEDiffuseLightingElement::findLight):
1547 * svg/SVGFEDiffuseLightingElement.h:
1548 * svg/SVGFELightElement.cpp:
1549 (WebCore::SVGFELightElement::svgAttributeChanged):
1550 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1551 (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
1552 * svg/SVGFilterPrimitiveStandardAttributes.h:
1554 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
1556 Reviewed by Dimitri Glazkov.
1558 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
1559 https://bugs.webkit.org/show_bug.cgi?id=53289
1561 Moving the nested class DocumentOrderedMap from Document into separate files,
1562 updating code where necessary.
1564 No new tests. (refactoring)
1571 * WebCore.vcproj/WebCore.vcproj:
1572 * WebCore.xcodeproj/project.pbxproj:
1574 (WebCore::Document::getElementById):
1575 (WebCore::Document::getImageMap):
1577 * dom/DocumentOrderedMap.cpp: Added.
1578 (WebCore::keyMatchesId):
1579 (WebCore::keyMatchesMapName):
1580 (WebCore::keyMatchesLowercasedMapName):
1581 (WebCore::DocumentOrderedMap::clear):
1582 (WebCore::DocumentOrderedMap::add):
1583 (WebCore::DocumentOrderedMap::remove):
1584 (WebCore::DocumentOrderedMap::get):
1585 (WebCore::DocumentOrderedMap::getElementById):
1586 (WebCore::DocumentOrderedMap::getElementByMapName):
1587 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
1588 * dom/DocumentOrderedMap.h: Added.
1589 (WebCore::DocumentOrderedMap::contains):
1590 (WebCore::DocumentOrderedMap::containsMultiple):
1591 * dom/DOMAllInOne.cpp:
1593 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
1595 Reviewed by Martin Robinson.
1597 [Gtk] atk_text_set_caret_offset fails for list items
1598 https://bugs.webkit.org/show_bug.cgi?id=53388
1600 Allow using text ranges across list items.
1602 * accessibility/gtk/AccessibilityObjectAtk.cpp:
1603 (WebCore::AccessibilityObject::allowsTextRanges): Add list items
1604 to the list of accessibility objects supporting text ranges.
1606 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
1608 Reviewed by Martin Robinson.
1610 [GTK] character range extents is off when the end of a wrapped line is included
1611 https://bugs.webkit.org/show_bug.cgi?id=53323
1613 Fixed wrong calculation getting the range extents.
1615 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1616 (webkit_accessible_text_get_range_extents): Removed '+1' since the
1617 requested interval shouldn't include the last character.
1619 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
1621 Reviewed by Martin Robinson.
1623 [GTK] Caret Offset is one off at the end of wrapped lines
1624 https://bugs.webkit.org/show_bug.cgi?id=53300
1626 Consider linebreaks as special cases.
1628 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1629 (objectAndOffsetUnignored): In order to avoid getting wrong values
1630 when around linebreaks, we need to workaround this by explicitly
1631 avoiding those '\n' text nodes from affecting the result of
1632 calling to TextIterator:rangeLength().
1634 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
1636 Unreviewed, rolling out r77229.
1637 http://trac.webkit.org/changeset/77229
1638 https://bugs.webkit.org/show_bug.cgi?id=53289
1640 revert mysterious build breakage
1647 * WebCore.vcproj/WebCore.vcproj:
1648 * WebCore.xcodeproj/project.pbxproj:
1649 * dom/DOMAllInOne.cpp:
1651 (WebCore::Document::DocumentOrderedMap::clear):
1652 (WebCore::Document::DocumentOrderedMap::add):
1653 (WebCore::Document::DocumentOrderedMap::remove):
1654 (WebCore::Document::DocumentOrderedMap::get):
1655 (WebCore::keyMatchesId):
1656 (WebCore::Document::getElementById):
1657 (WebCore::keyMatchesMapName):
1658 (WebCore::keyMatchesLowercasedMapName):
1659 (WebCore::Document::getImageMap):
1661 (WebCore::Document::DocumentOrderedMap::contains):
1662 (WebCore::Document::DocumentOrderedMap::containsMultiple):
1663 * dom/DocumentOrderedMap.cpp: Removed.
1664 * dom/DocumentOrderedMap.h: Removed.
1666 2011-02-01 Mihai Parparita <mihaip@chromium.org>
1668 Reviewed by James Robinson.
1670 Async event handlers should not fire within a modal dialog
1671 https://bugs.webkit.org/show_bug.cgi?id=53202
1673 Asychronous events that use EventQueue would currently fire while a
1674 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
1675 SuspendableTimer (which automatically gets suspended while dialogs are
1676 up and in other cases where JS execution is not allowed).
1678 Test: fast/events/scroll-event-during-modal-dialog.html
1681 (WebCore::Document::Document):
1682 * dom/EventQueue.cpp:
1683 (WebCore::EventQueueTimer::EventQueueTimer):
1684 (WebCore::EventQueueTimer::fired):
1685 (WebCore::EventQueue::EventQueue):
1686 (WebCore::EventQueue::enqueueEvent):
1687 (WebCore::EventQueue::pendingEventTimerFired):
1689 (WebCore::EventQueue::create):
1691 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
1693 Reviewed by Dimitri Glazkov.
1695 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
1696 https://bugs.webkit.org/show_bug.cgi?id=53289
1698 Moving the nested class DocumentOrderedMap from Document into separate files,
1699 updating code where necessary.
1701 No new tests. (refactoring)
1708 * WebCore.vcproj/WebCore.vcproj:
1709 * WebCore.xcodeproj/project.pbxproj:
1711 (WebCore::Document::getElementById):
1712 (WebCore::Document::getImageMap):
1714 * dom/DocumentOrderedMap.cpp: Added.
1715 (WebCore::keyMatchesId):
1716 (WebCore::keyMatchesMapName):
1717 (WebCore::keyMatchesLowercasedMapName):
1718 (WebCore::DocumentOrderedMap::clear):
1719 (WebCore::DocumentOrderedMap::add):
1720 (WebCore::DocumentOrderedMap::remove):
1721 (WebCore::DocumentOrderedMap::get):
1722 (WebCore::DocumentOrderedMap::getElementById):
1723 (WebCore::DocumentOrderedMap::getElementByMapName):
1724 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
1725 * dom/DocumentOrderedMap.h: Added.
1726 (WebCore::DocumentOrderedMap::contains):
1727 (WebCore::DocumentOrderedMap::containsMultiple):
1728 * dom/DOMAllInOne.cpp:
1730 2011-02-01 Naoki Takano <takano.naoki@gmail.com>
1732 Reviewed by Darin Fisher.
1734 [Chromium] Autofill should work with HTML5 form elements
1735 https://bugs.webkit.org/show_bug.cgi?id=51809
1736 http://crbug.com/65654
1738 No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
1740 * html/InputType.h: Insert comment for canSetSuggestedValue().
1741 * html/TextFieldInputType.cpp:
1742 (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
1743 * html/TextFieldInputType.h: Declare canSetSuggestedValue().
1744 * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
1745 * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
1747 2011-02-01 Kent Tamura <tkent@chromium.org>
1749 Reviewed by Dan Bernstein.
1751 REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
1752 https://bugs.webkit.org/show_bug.cgi?id=53272
1754 * editing/TextIterator.cpp:
1755 (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
1757 2011-01-31 Alexey Proskuryakov <ap@apple.com>
1759 Reviewed by Maciej Stachowiak.
1761 https://bugs.webkit.org/show_bug.cgi?id=53466
1762 Move WebKit2 to printing via API methods
1764 * WebCore.exp.in: Export IntRect::scale().
1766 2011-01-31 Patrick Gansterer <paroga@webkit.org>
1768 Reviewed by Adam Barth.
1770 Remove obsolete comment after r41871
1771 https://bugs.webkit.org/show_bug.cgi?id=53406
1775 2011-01-31 Simon Fraser <simon.fraser@apple.com>
1777 Fix according to reviewer comments: can just use Color::black now.
1779 * platform/graphics/ShadowBlur.cpp:
1780 (WebCore::ShadowBlur::drawInsetShadow):
1781 (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
1783 2011-01-31 Simon Fraser <simon.fraser@apple.com>
1785 Reviewed by Sam Weinig.
1788 https://bugs.webkit.org/show_bug.cgi?id=53472
1790 Some minor ShadowBlur cleanup.
1792 * platform/graphics/ShadowBlur.h:
1793 * platform/graphics/ShadowBlur.cpp:
1794 (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
1796 (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
1797 (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
1798 layerRect. Make frameSize a float.
1799 (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
1800 layerRect rather than calling calculateLayerBoundingRect() to compute
1801 it itself, since we were calling calculateLayerBoundingRect() twice.
1802 (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
1803 only once. The shadowRect variable was unused, so two return paths could be
1805 (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
1806 beginShadowLayer() now.
1807 (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
1808 We always used alpha=1, so no need to pass that in.
1809 (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
1810 pass that in. Move shadowRect down to first use.
1811 ShadowBlur::clipBounds() was unused.
1813 2011-01-31 No'am Rosenthal <noam.rosenthal@nokia.com>
1815 Reviewed by Kenneth Rohde Christiansen.
1817 [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
1818 https://bugs.webkit.org/show_bug.cgi?id=46748
1820 This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
1821 Added a regression test to tst_QWebFrame.
1823 * bridge/qt/qt_instance.cpp:
1824 (JSC::Bindings::QtInstance::QtInstance):
1826 2011-01-27 MORITA Hajime <morrita@google.com>
1828 Reviewed by Dimitri Glazkov.
1830 Convert <progress> shadow DOM to a DOM-based shadow.
1831 https://bugs.webkit.org/show_bug.cgi?id=50660
1833 * Removed RenderProgress::m_valuePart, moved the shadow node
1834 to the shadow root of HTMLProgressElement.
1835 * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
1836 ProgressBarValueElement is defined only for overriding
1839 No new tests. No behavioral change.
1841 * css/CSSSelector.cpp:
1842 (WebCore::CSSSelector::pseudoId):
1843 (WebCore::nameToPseudoTypeMap):
1844 (WebCore::CSSSelector::extractPseudoType):
1845 * css/CSSSelector.h:
1846 * html/HTMLProgressElement.cpp:
1847 (WebCore::ProgressBarValueElement::ProgressBarValueElement):
1848 (WebCore::ProgressBarValueElement::shadowPseudoId):
1849 (WebCore::ProgressBarValueElement::create):
1850 (WebCore::ProgressBarValueElement::detach):
1851 (WebCore::HTMLProgressElement::parseMappedAttribute):
1852 (WebCore::HTMLProgressElement::attach):
1853 (WebCore::HTMLProgressElement::valuePart):
1854 (WebCore::HTMLProgressElement::didElementStateChange):
1855 (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
1856 * html/HTMLProgressElement.h:
1857 * rendering/RenderProgress.cpp:
1858 (WebCore::RenderProgress::~RenderProgress):
1859 (WebCore::RenderProgress::updateFromElement):
1860 (WebCore::RenderProgress::layoutParts):
1861 (WebCore::RenderProgress::shouldHaveParts):
1862 (WebCore::RenderProgress::valuePart):
1863 * rendering/RenderProgress.h:
1864 * rendering/style/RenderStyleConstants.h:
1866 2011-01-31 Charlie Reis <creis@chromium.org>
1868 Reviewed by Mihai Parparita.
1870 Add sanity check to help diagnose bug 52819
1871 https://bugs.webkit.org/show_bug.cgi?id=53402
1873 Crash early if the children of fromItem look invalid.
1875 * loader/HistoryController.cpp:
1877 2011-01-31 Kalle Vahlman <kalle.vahlman@movial.com>
1879 Reviewed by Andreas Kling.
1881 [Qt] canvas.drawImage(HTMLVideoElement) doesn't work with Qt Multimedia backend
1882 https://bugs.webkit.org/show_bug.cgi?id=53325
1884 Reimplement paintCurrentFrameInContext() rather than delegate the
1885 rendering to paint() to make sure we really do get the video frame
1886 content into the GraphicsContext, regardless of accelerated
1887 compositing and the video scene state.
1889 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1890 (WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext):
1891 * platform/graphics/qt/MediaPlayerPrivateQt.h:
1893 2011-01-31 Emil A Eklund <eae@chromium.org>
1895 Reviewed by Darin Adler.
1897 Setting "selected" attribute to false should have no effect in single line <select>
1898 https://bugs.webkit.org/show_bug.cgi?id=52436
1900 Change SelectElement::setSelectedIndex to select the first selectable
1901 option when the select state of all options is set to false as required
1902 by the HTML5 specification.
1904 Test: fast/dom/HTMLSelectElement/selected-false.html
1906 * dom/SelectElement.cpp:
1907 (WebCore::SelectElement::setSelectedIndex):
1909 2011-01-31 Alexander Pavlov <apavlov@chromium.org>
1911 Reviewed by Yury Semikhatsky.
1913 Web Inspector: Console source references need a left-margin
1914 https://bugs.webkit.org/show_bug.cgi?id=53308
1916 * inspector/front-end/inspector.css:
1917 (.console-message-url): Added a 4px margin on the left.
1919 2011-01-31 Carol Szabo <carol.szabo@nokia.com>
1921 Reviewed by David Hyatt.
1925 It is needlessly expensive to find the generating node from an anonymous renderer of a pseudoelement.
1926 https://bugs.webkit.org/show_bug.cgi?id=53024
1928 No new tests. No change in functionality
1930 * rendering/RenderObject.h:
1931 (WebCore::RenderObject::before):
1932 (WebCore::RenderObject::after):
1933 (WebCore::RenderObject::generatingNode):
1934 Added new accessors for the use of the CSS 2.1 counters code
1936 * rendering/RenderObjectChildList.cpp:
1937 (WebCore::beforeAfterContainer):
1938 (WebCore::RenderObjectChildList::invalidateCounters):
1939 (WebCore::RenderObjectChildList::before):
1940 (WebCore::RenderObjectChildList::after):
1941 Refactored the code to take advantage of the new accessors.
1942 (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1943 Changed to store the generating node in the :before and :after
1945 * rendering/RenderObjectChildList.h:
1947 2011-01-31 Krithigassree Sambamurthy <krithigassree.sambamurthy@nokia.com>
1949 Reviewed by David Hyatt.
1951 Add background-clip to background shorthand
1952 https://bugs.webkit.org/show_bug.cgi?id=52080
1954 Added background-clip to background-shorthand. Also made changes to
1955 include webkitMaskClip to the mask shorthand to keep both in sync.
1957 * css/CSSParser.cpp:
1958 (WebCore::CSSParser::parseValue):
1959 (WebCore::CSSParser::parseFillShorthand):
1961 2011-01-31 Darin Adler <darin@apple.com>
1963 Reviewed by Adele Peterson.
1965 WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
1966 https://bugs.webkit.org/show_bug.cgi?id=53460
1968 * editing/EditorCommand.cpp:
1969 (WebCore::executeScrollPageBackward): Added.
1970 (WebCore::executeScrollPageForward): Added.
1971 (WebCore::executeScrollToBeginningOfDocument): Added.
1972 (WebCore::executeScrollToEndOfDocument): Added.
1973 (WebCore::createCommandMap): Added the four commands above to the map.
1975 2011-01-31 Dan Bernstein <mitz@apple.com>
1977 Reviewed by Adele Peterson.
1979 Inter-ideograph justification should apply to hiragana and katakana as well
1980 https://bugs.webkit.org/show_bug.cgi?id=53464
1982 Changed the test for expansion opportunities from isCJKIdeograph() to isCJKIdeographOrSymbol().
1984 * platform/graphics/Font.cpp:
1985 (WebCore::Font::expansionOpportunityCount):
1986 * platform/graphics/WidthIterator.cpp:
1987 (WebCore::WidthIterator::advance):
1988 * platform/graphics/mac/ComplexTextController.cpp:
1989 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
1991 2011-01-31 Dimitri Glazkov <dglazkov@chromium.org>
1993 Reviewed by James Robinson.
1995 REGRESSION(r76951): Appearance of media controls changed slightly on Qt/Chromium ports
1996 https://bugs.webkit.org/show_bug.cgi?id=53314
1998 Fixes media/controls-strict.html on Chromium.
2000 * css/mediaControlsChromium.css:
2001 (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
2002 Added proper box-sizing to avoid differences between strict/quirks mode.
2004 2011-01-31 Kent Tamura <tkent@chromium.org>
2006 Reviewed by Dimitri Glazkov.
2008 Validation message bubble shouldn't inherit text-security style
2009 https://bugs.webkit.org/show_bug.cgi?id=53457
2011 No new tests because the validation message feature depends on timers
2012 and is enabled only in Chromium port.
2015 (::-webkit-validation-bubble): Reset -webkit-text-security.
2017 2011-01-31 Michael Saboff <msaboff@apple.com>
2019 Reviewed by Geoffrey Garen.
2021 Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
2022 https://bugs.webkit.org/show_bug.cgi?id=53271
2024 Reapplying this patch again.
2025 The removal of this patch in <http://trac.webkit.org/changeset/77125>
2026 as part of https://bugs.webkit.org/show_bug.cgi?id=53418,
2027 removed the both the first (failing) patch (r76893) and this fixed
2028 patch (r76969). This patch includes slight changes necessitated by
2031 Reapplying this patch with the change that the second ASSERT in
2032 RootObject::removeRuntimeObject was changed to use
2033 .uncheckedGet() instead of the failing .get(). The object in question
2034 could be in the process of being GC'ed. The get() call will not return
2035 such an object while the uncheckedGet() call will return the (unsafe)
2036 object. This is the behavior we want.
2038 Precautionary change.
2039 Changed RootObject to use WeakGCMap instead of HashSet.
2040 Found will looking for another issue, but can't produce a test case
2041 that is problematic. THerefore there aren't any new tests.
2043 * bridge/runtime_root.cpp:
2044 (JSC::Bindings::RootObject::invalidate):
2045 (JSC::Bindings::RootObject::addRuntimeObject):
2046 (JSC::Bindings::RootObject::removeRuntimeObject):
2047 * bridge/runtime_root.h:
2049 2011-01-31 Andreas Kling <kling@webkit.org>
2051 Unbreak Qt build after r77151.
2053 * bridge/qt/qt_instance.cpp:
2054 (JSC::Bindings::QtInstance::removeCachedMethod):
2055 (JSC::Bindings::QtInstance::markAggregate):
2057 2011-01-31 takano takumi <takano@apple.com>
2059 Reviewed by Dave Hyatt.
2061 Implement text-combine rendering code
2062 https://bugs.webkit.org/show_bug.cgi?id=50621
2064 Test: fast/text/international/text-combine-image-test.html
2066 * Android.mk: Added RenderCombineText.cpp/h
2067 * CMakeLists.txt: Added RenderCombineText.cpp/h
2068 * GNUmakefile.am: Added RenderCombineText.cpp/h
2070 * WebCore.gypi: Added RenderCombineText.cpp/h
2071 * WebCore.pro: Added RenderCombineText.cpp/h
2072 * WebCore.vcproj/WebCore.vcproj: Added RenderCombineText.cpp/h
2073 * WebCore.xcodeproj/project.pbxproj: Added RenderCombineText.cpp/h
2074 * css/CSSFontFaceSource.cpp:
2075 (WebCore::CSSFontFaceSource::getFontData):
2076 - Added fontDescription.widthVariant to SimpleFontData creation.
2077 * css/CSSStyleSelector.cpp:
2078 (WebCore::CSSStyleSelector::applyProperty):
2079 - Changed to set "Unique" flag to RenderStyle in case of TextCombine.
2081 (WebCore::Text::createRenderer):
2082 - Changed to create RenderCombineText in case of TextCombine.
2083 * loader/cache/CachedFont.cpp:
2084 (WebCore::CachedFont::platformDataFromCustomData):
2085 - Added FontWidthVariant as an argument for FontPlatformData creation.
2086 * loader/cache/CachedFont.h:
2088 * platform/graphics/Font.h:
2089 (WebCore::Font::widthVariant):
2090 - The accessor to FontWidthVariant member variable.
2091 * platform/graphics/FontCache.cpp:
2092 - Made cache to incorporate FontWidthVariant value.
2093 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
2094 (WebCore::FontPlatformDataCacheKey::operator==):
2095 (WebCore::computeHash):
2096 (WebCore::FontCache::getCachedFontPlatformData):
2097 * platform/graphics/FontDescription.h:
2098 - Add a member variable that holds a width variant - none, half-width, third-width, and quarter-width.
2099 (WebCore::FontDescription::FontDescription):
2100 (WebCore::FontDescription::widthVariant):
2101 (WebCore::FontDescription::setWidthVariant):
2102 (WebCore::FontDescription::operator==):
2103 * platform/graphics/FontWidthVariant.h: Added.
2104 * platform/graphics/cairo/FontCustomPlatformData.h:
2105 - Changed to carry FontWidthVariant value.
2106 * platform/graphics/cocoa/FontPlatformData.h:
2107 - Changed to carry FontWidthVariant value.
2108 (WebCore::FontPlatformData::FontPlatformData):
2109 (WebCore::FontPlatformData::widthVariant):
2110 (WebCore::FontPlatformData::hash):
2111 (WebCore::FontPlatformData::operator==):
2112 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2113 (WebCore::FontPlatformData::FontPlatformData):
2114 - Changed to carry FontWidthVariant value.
2115 (WebCore::FontPlatformData::operator=):
2117 (WebCore::mapFontWidthVariantToCTFeatureSelector):
2118 - A function to map a FontWidthVariant value to a CoreText's text spacing feature selector.
2119 (WebCore::FontPlatformData::ctFont):
2120 - Changed to create CTFont with text spacing variant based on FontWidthVariant.
2121 * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
2122 (WebCore::FontCustomPlatformData::fontPlatformData):
2123 - Changed to carry FontWidthVariant value.
2124 * platform/graphics/haiku/FontCustomPlatformData.cpp:
2125 (WebCore::FontCustomPlatformData::fontPlatformData):
2126 - Changed to carry FontWidthVariant value.
2127 * platform/graphics/haiku/FontCustomPlatformData.h:
2128 * platform/graphics/mac/FontCacheMac.mm:
2129 (WebCore::FontCache::createFontPlatformData):
2130 - Changed to carry FontWidthVariant value.
2131 * platform/graphics/mac/FontCustomPlatformData.cpp:
2132 (WebCore::FontCustomPlatformData::fontPlatformData):
2133 - Changed to carry FontWidthVariant value.
2134 * platform/graphics/mac/FontCustomPlatformData.h:
2136 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
2137 (WebCore::shouldUseCoreText):
2138 - Changed to skip CT path when width variant is specified.
2139 * platform/graphics/pango/FontCustomPlatformDataPango.cpp:
2140 (WebCore::FontCustomPlatformData::fontPlatformData):
2142 * platform/graphics/qt/FontCustomPlatformData.h:
2144 * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
2145 (WebCore::FontCustomPlatformData::fontPlatformData):
2147 * platform/graphics/skia/FontCustomPlatformData.cpp:
2148 (WebCore::FontCustomPlatformData::fontPlatformData):
2150 * platform/graphics/skia/FontCustomPlatformData.h:
2152 * platform/graphics/win/FontCustomPlatformData.cpp:
2153 (WebCore::FontCustomPlatformData::fontPlatformData):
2155 * platform/graphics/win/FontCustomPlatformData.h:
2157 * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
2159 (WebCore::FontCustomPlatformData::fontPlatformData):
2161 * platform/graphics/win/FontCustomPlatformDataCairo.h:
2163 * platform/graphics/wince/FontCustomPlatformData.cpp:
2164 (WebCore::FontCustomPlatformData::fontPlatformData):
2166 * platform/graphics/wince/FontCustomPlatformData.h:
2168 * platform/graphics/wx/FontCustomPlatformData.cpp:
2169 (WebCore::FontCustomPlatformData::fontPlatformData):
2171 * platform/graphics/wx/FontCustomPlatformData.h:
2173 * rendering/InlineTextBox.cpp:
2174 (WebCore::InlineTextBox::paint):
2175 - In case of RenderCombineText, we don't rotate text even in vertical writing. Also, we render original text
2176 instead of text returned from text().
2177 * rendering/RenderBlock.cpp:
2178 (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
2179 - Made to call RenderCombinedText's prepareTextCombine() here.
2180 * rendering/RenderBlockLineLayout.cpp:
2181 (WebCore::textWidth):
2182 - Made to always use the render object's width() in case of TextCombine.
2183 (WebCore::RenderBlock::findNextLineBreak):
2184 - Made to call RenderCombinedText's prepareTextCombine() here.
2185 * rendering/RenderCombineText.cpp: Added. A subclass of RenderText.
2186 (WebCore::RenderCombineText::RenderCombineText):
2187 (WebCore::RenderCombineText::styleDidChange):
2188 - Clear the flag that indicated the font has been prepared for combining. The font will be reinitialized in
2189 the next call of RenderBlock::findNextLineBreak().
2190 (WebCore::RenderCombineText::setTextInternal):
2192 (WebCore::RenderCombineText::width):
2193 - Returns 1-em width in case of font combine.
2194 (WebCore::RenderCombineText::adjustTextOrigin):
2195 - Adjust drawing origin point in case of font combine.
2196 (WebCore::RenderCombineText::charactersToRender):
2197 - Return original text instead of current text in case of font combine.
2198 (WebCore::RenderCombineText::combineText):
2199 - This function tries to pack passed text with; 1) the current font as is, 2) the font created
2200 from the descriptor with half-width variant specified, 3) the font with third-width variant, 4) the font
2201 with quarter-width variant.
2202 - If a suitable font successfully found, replace the current font with the new font. If no appropriate font found,
2203 we give up text-combine as the CSS spec describes.
2204 - If a new font found, we replace the text with 0xFFFC. This is needed for a combined text block to be able to
2205 behave like a single character against text decorations.
2206 * rendering/RenderCombineText.h: Added.
2207 (WebCore::RenderCombineText::isCombined):
2208 (WebCore::RenderCombineText::combinedTextWidth):
2209 - Returns 1-em width in case of font combine.
2210 (WebCore::RenderCombineText::renderName):
2211 (WebCore::toRenderCombineText):
2212 * rendering/RenderText.cpp:
2213 (WebCore::RenderText::widthFromCache):
2214 - Made to call RenderCombineText's combinedTextWidth when the text is combined.
2215 * rendering/RenderingAllInOne.cpp: Added RenderCombineText.cpp
2216 * rendering/style/RenderStyle.h:
2217 (WebCore::InheritedFlags::hasTextCombine):
2218 - Added for a quick test of TextCombine.
2220 2011-01-31 Oliver Hunt <oliver@apple.com>
2222 Convert markstack to a slot visitor API
2223 https://bugs.webkit.org/show_bug.cgi?id=53219
2225 rolling r77098, r77099, r77100, r77109, and
2226 r77111 back in, along with a few more Qt fix attempts.
2228 * ForwardingHeaders/runtime/WriteBarrier.h: Added.
2230 * bindings/js/DOMWrapperWorld.h:
2231 (WebCore::DOMWrapperWorld::globalData):
2232 * bindings/js/JSAudioConstructor.cpp:
2233 (WebCore::JSAudioConstructor::JSAudioConstructor):
2234 * bindings/js/JSDOMBinding.cpp:
2235 (WebCore::markDOMNodesForDocument):
2236 (WebCore::markDOMObjectWrapper):
2237 (WebCore::markDOMNodeWrapper):
2238 * bindings/js/JSDOMGlobalObject.cpp:
2239 (WebCore::JSDOMGlobalObject::markChildren):
2240 (WebCore::JSDOMGlobalObject::setInjectedScript):
2241 (WebCore::JSDOMGlobalObject::injectedScript):
2242 * bindings/js/JSDOMGlobalObject.h:
2243 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
2244 (WebCore::getDOMConstructor):
2245 * bindings/js/JSDOMWindowCustom.cpp:
2246 (WebCore::JSDOMWindow::setLocation):
2247 (WebCore::DialogHandler::dialogCreated):
2248 * bindings/js/JSDOMWindowShell.cpp:
2249 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2250 (WebCore::JSDOMWindowShell::setWindow):
2251 (WebCore::JSDOMWindowShell::markChildren):
2252 (WebCore::JSDOMWindowShell::unwrappedObject):
2253 * bindings/js/JSDOMWindowShell.h:
2254 (WebCore::JSDOMWindowShell::window):
2255 (WebCore::JSDOMWindowShell::setWindow):
2256 * bindings/js/JSDeviceMotionEventCustom.cpp:
2257 (WebCore::createAccelerationObject):
2258 (WebCore::createRotationRateObject):
2259 * bindings/js/JSEventListener.cpp:
2260 (WebCore::JSEventListener::JSEventListener):
2261 (WebCore::JSEventListener::markJSFunction):
2262 * bindings/js/JSEventListener.h:
2263 (WebCore::JSEventListener::jsFunction):
2264 * bindings/js/JSHTMLDocumentCustom.cpp:
2265 (WebCore::JSHTMLDocument::setAll):
2266 * bindings/js/JSImageConstructor.cpp:
2267 (WebCore::JSImageConstructor::JSImageConstructor):
2268 * bindings/js/JSImageDataCustom.cpp:
2270 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2271 (WebCore::JSJavaScriptCallFrame::scopeChain):
2272 (WebCore::JSJavaScriptCallFrame::scopeType):
2273 * bindings/js/JSNodeFilterCondition.cpp:
2274 (WebCore::JSNodeFilterCondition::markAggregate):
2275 (WebCore::JSNodeFilterCondition::acceptNode):
2276 * bindings/js/JSNodeFilterCondition.h:
2277 * bindings/js/JSNodeFilterCustom.cpp:
2278 * bindings/js/JSOptionConstructor.cpp:
2279 (WebCore::JSOptionConstructor::JSOptionConstructor):
2280 * bindings/js/JSSQLResultSetRowListCustom.cpp:
2281 (WebCore::JSSQLResultSetRowList::item):
2282 * bindings/js/ScriptCachedFrameData.cpp:
2283 (WebCore::ScriptCachedFrameData::restore):
2284 * bindings/js/ScriptObject.cpp:
2285 (WebCore::ScriptGlobalObject::set):
2286 * bindings/js/SerializedScriptValue.cpp:
2287 (WebCore::CloneDeserializer::putProperty):
2288 * bindings/scripts/CodeGeneratorJS.pm:
2289 * bridge/qt/qt_class.cpp:
2290 (JSC::Bindings::QtClass::fallbackObject):
2291 * bridge/qt/qt_instance.cpp:
2292 (JSC::Bindings::QtInstance::QtInstance):
2293 (JSC::Bindings::QtInstance::removeCachedMethod):
2294 (JSC::Bindings::QtInstance::markAggregate):
2295 * bridge/qt/qt_instance.h:
2296 * bridge/qt/qt_runtime.cpp:
2297 (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
2298 (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
2299 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
2300 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
2301 * bridge/qt/qt_runtime.h:
2304 2011-01-31 Dan Winship <danw@gnome.org>
2306 Reviewed by Gustavo Noronha Silva.
2308 wss (websockets ssl) support for gtk via new gio TLS support
2309 https://bugs.webkit.org/show_bug.cgi?id=50344
2311 Update to use GPollableOutputStream and GTlsConnection to
2314 * platform/network/soup/SocketStreamHandle.h:
2315 * platform/network/soup/SocketStreamHandleSoup.cpp:
2316 (WebCore::SocketStreamHandle::SocketStreamHandle):
2317 (WebCore::SocketStreamHandle::connected):
2318 (WebCore::SocketStreamHandle::platformSend):
2319 (WebCore::SocketStreamHandle::beginWaitingForSocketWritability):
2320 (WebCore::writeReadyCallback):
2322 2011-01-31 Abhishek Arya <inferno@chromium.org>
2324 Reviewed by Dimitri Glazkov.
2326 Check the textarea node still exists in document before casting
2327 it to HTMLTextAreaElement.
2328 https://bugs.webkit.org/show_bug.cgi?id=53429
2330 Test: fast/forms/textarea-node-removed-from-document-crash.html
2332 * rendering/RenderTextControlMultiLine.cpp:
2333 (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
2335 2011-01-27 Abhishek Arya <inferno@chromium.org>
2337 Reviewed by Dave Hyatt.
2339 If beforeChild is wrapped in an anonymous table section, we need to
2340 go the parent to find it and use it before adding childs to table.
2341 https://bugs.webkit.org/show_bug.cgi?id=53276
2343 We need to make sure that beforeChild's parent is "this" before calling
2344 RenderBox::addChild. The previous condition in while is too restrictive
2345 and fails to calculate the right beforeChild value when its display
2346 style is table caption.
2347 Test: fast/table/before-child-non-table-section-add-table-crash.html
2349 * rendering/RenderTable.cpp:
2350 (WebCore::RenderTable::addChild):
2352 2011-01-31 Shane Stephens <shanestephens@google.com>
2354 Reviewed by Simon Fraser.
2356 AffineTransform::translateRight incorrectly computes a translateLeft.
2357 https://bugs.webkit.org/show_bug.cgi?id=52551
2359 Removed translateRight and converted all uses to perform standard
2360 matrix multiplication.
2362 No new tests because patch doesn't modify functionality.
2364 * platform/graphics/transforms/AffineTransform.cpp:
2365 * platform/graphics/transforms/AffineTransform.h:
2366 (WebCore::AffineTransform::translation):
2367 * rendering/svg/RenderSVGResourceMarker.cpp:
2368 (WebCore::RenderSVGResourceMarker::localToParentTransform):
2369 * rendering/svg/RenderSVGRoot.cpp:
2370 (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
2371 (WebCore::RenderSVGRoot::localToParentTransform):
2372 * rendering/svg/RenderSVGViewportContainer.cpp:
2373 (WebCore::RenderSVGViewportContainer::localToParentTransform):
2374 * rendering/svg/SVGTextLayoutEngine.cpp:
2375 (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
2377 2011-01-31 Mario Sanchez Prada <msanchez@igalia.com>
2379 Reviewed by Martin Robinson.
2381 [Gtk] atk_text_set_caret_offset returns True even when it is unsuccessful
2382 https://bugs.webkit.org/show_bug.cgi?id=53389
2384 Return FALSE when not able to set the caret at the specified offset.
2386 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2387 (webkit_accessible_text_set_caret_offset): Return FALSE when the
2388 range created is NULL and adjust offset to account for list markers.
2390 2011-01-28 Pavel Feldman <pfeldman@chromium.org>
2392 Reviewed by Yury Semikhatsky.
2394 Web Inspector: copy HAR to clipboard instead of saving blob on export.
2395 https://bugs.webkit.org/show_bug.cgi?id=53328
2397 * inspector/front-end/NetworkPanel.js:
2398 (WebInspector.NetworkPanel.prototype._exportAll):
2399 (WebInspector.NetworkPanel.prototype._exportResource):
2401 2011-01-30 Pavel Feldman <pfeldman@chromium.org>
2403 Reviewed by Timothy Hatcher.
2405 Web Inspector: speed up network panel rendering.
2406 https://bugs.webkit.org/show_bug.cgi?id=53397
2408 * inspector/front-end/DataGrid.js:
2409 (WebInspector.DataGrid.prototype.get scrollContainer):
2410 * inspector/front-end/NetworkPanel.js:
2411 (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
2412 (WebInspector.NetworkPanel.prototype._positionSummaryBar):
2413 (WebInspector.NetworkPanel.prototype._createTable):
2414 (WebInspector.NetworkPanel.prototype._exportResource):
2415 (WebInspector.NetworkPanel.prototype._onScroll):
2416 * inspector/front-end/networkPanel.css:
2417 (.network-sidebar .data-grid.small tr.offscreen):
2418 (.network-sidebar .data-grid tr.offscreen):
2419 (.network-sidebar .data-grid tr.offscreen td):
2421 2011-01-31 Peter Varga <pvarga@webkit.org>
2423 Reviewed by Andreas Kling.
2425 Remove wrec from WebCore
2426 https://bugs.webkit.org/show_bug.cgi?id=53298
2428 No new tests needed.
2430 * Android.jscbindings.mk:
2431 * ForwardingHeaders/wrec/WREC.h: Removed.
2432 * WebCore.vcproj/WebCore.vcproj:
2433 * WebCore.vcproj/copyForwardingHeaders.cmd:
2435 2011-01-31 Sheriff Bot <webkit.review.bot@gmail.com>
2437 Unreviewed, rolling out r76969.
2438 http://trac.webkit.org/changeset/76969
2439 https://bugs.webkit.org/show_bug.cgi?id=53418
2441 "It is causing crashes in GTK+ and Leopard bots" (Requested by
2442 alexg__ on #webkit).
2444 * bridge/runtime_root.cpp:
2445 (JSC::Bindings::RootObject::invalidate):
2446 (JSC::Bindings::RootObject::addRuntimeObject):
2447 (JSC::Bindings::RootObject::removeRuntimeObject):
2448 * bridge/runtime_root.h:
2450 2011-01-31 Antti Koivisto <antti@apple.com>
2456 * css/CSSSelectorList.h:
2457 (WebCore::CSSSelectorList::next):
2459 2011-01-31 Yury Semikhatsky <yurys@chromium.org>
2461 Unreviewed. Fix Chromium compilation on Linux.
2463 * platform/graphics/ShadowBlur.cpp: added PLATFORM(CHROMIUM) guard
2464 * platform/graphics/ShadowBlur.h: added missing ColorSpace.h header include
2466 2011-01-31 Yury Semikhatsky <yurys@chromium.org>
2468 Unreviewed. Fix Chromium compilation on Mac broken by r77101.
2470 * WebCore.gypi: add ShadowBlur.{h,cpp} to the gypi file.
2472 2011-01-31 Mikhail Naganov <mnaganov@chromium.org>
2474 Reviewed by Yury Semikhatsky.
2476 WebInspector: Change button title from "Clear CPU profiles" to "Clear all profiles".
2478 https://bugs.webkit.org/show_bug.cgi?id=53309
2480 * English.lproj/localizedStrings.js:
2481 * inspector/front-end/ProfilesPanel.js:
2482 (WebInspector.ProfilesPanel):
2484 2011-01-31 Carlos Garcia Campos <cgarcia@igalia.com>
2486 Unreviewed, fix the build with current GTK+ 3.x.
2488 * plugins/gtk/gtk2xtbin.c:
2489 * plugins/gtk/gtk2xtbin.h:
2491 2011-01-30 Kenichi Ishibashi <bashi@google.com>
2493 Reviewed by Kent Tamura.
2495 Dangling form associated elements should not be registered on the document
2496 https://bugs.webkit.org/show_bug.cgi?id=53223
2498 Adds insertedIntoDocument() and remvoedFromDocument() to
2499 FormAssociatedElement class to register the element on the document
2500 if and only if it actually inserted into (removed from) the document.
2502 Test: fast/forms/dangling-form-element-crash.html
2504 * html/FormAssociatedElement.cpp:
2505 (WebCore::FormAssociatedElement::insertedIntoDocument): Added.
2506 (WebCore::FormAssociatedElement::removedFromDocument): Ditto.
2507 (WebCore::FormAssociatedElement::insertedIntoTree): Don't register
2508 the element to a document.
2509 (WebCore::FormAssociatedElement::removedFromTree): Don't unregister
2510 the element from a document.
2511 * html/FormAssociatedElement.h:
2512 * html/HTMLFormControlElement.cpp:
2513 (WebCore::HTMLFormControlElement::insertedIntoDocument): Added.
2514 (WebCore::HTMLFormControlElement::removedFromDocument): Ditto.
2515 * html/HTMLFormControlElement.h:
2516 * html/HTMLObjectElement.cpp:
2517 (WebCore::HTMLObjectElement::insertedIntoDocument): Calls
2518 FormAssociatedElement::insertedIntoDocument().
2519 (WebCore::HTMLObjectElement::removedFromDocument): Calls
2520 FormAssociatedElement::removedFromDocument().
2522 2011-01-30 Csaba Osztrogonác <ossy@webkit.org>
2524 Unreviewed, rolling out r77098, r77099, r77100, r77109, and
2526 http://trac.webkit.org/changeset/77098
2527 http://trac.webkit.org/changeset/77099
2528 http://trac.webkit.org/changeset/77100
2529 http://trac.webkit.org/changeset/77109
2530 http://trac.webkit.org/changeset/77111
2531 https://bugs.webkit.org/show_bug.cgi?id=53219
2535 * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
2537 * bindings/js/DOMWrapperWorld.h:
2538 * bindings/js/JSAudioConstructor.cpp:
2539 (WebCore::JSAudioConstructor::JSAudioConstructor):
2540 * bindings/js/JSDOMBinding.cpp:
2541 (WebCore::markDOMNodesForDocument):
2542 (WebCore::markDOMObjectWrapper):
2543 (WebCore::markDOMNodeWrapper):
2544 * bindings/js/JSDOMGlobalObject.cpp:
2545 (WebCore::JSDOMGlobalObject::markChildren):
2546 (WebCore::JSDOMGlobalObject::setInjectedScript):
2547 (WebCore::JSDOMGlobalObject::injectedScript):
2548 * bindings/js/JSDOMGlobalObject.h:
2549 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
2550 (WebCore::getDOMConstructor):
2551 * bindings/js/JSDOMWindowCustom.cpp:
2552 (WebCore::JSDOMWindow::setLocation):
2553 (WebCore::DialogHandler::dialogCreated):
2554 * bindings/js/JSDOMWindowShell.cpp:
2555 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2556 (WebCore::JSDOMWindowShell::setWindow):
2557 (WebCore::JSDOMWindowShell::markChildren):
2558 (WebCore::JSDOMWindowShell::unwrappedObject):
2559 * bindings/js/JSDOMWindowShell.h:
2560 (WebCore::JSDOMWindowShell::window):
2561 (WebCore::JSDOMWindowShell::setWindow):
2562 * bindings/js/JSDeviceMotionEventCustom.cpp:
2563 (WebCore::createAccelerationObject):
2564 (WebCore::createRotationRateObject):
2565 * bindings/js/JSEventListener.cpp:
2566 (WebCore::JSEventListener::JSEventListener):
2567 (WebCore::JSEventListener::markJSFunction):
2568 * bindings/js/JSEventListener.h:
2569 (WebCore::JSEventListener::jsFunction):
2570 * bindings/js/JSHTMLDocumentCustom.cpp:
2571 (WebCore::JSHTMLDocument::setAll):
2572 * bindings/js/JSImageConstructor.cpp:
2573 (WebCore::JSImageConstructor::JSImageConstructor):
2574 * bindings/js/JSImageDataCustom.cpp:
2576 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2577 (WebCore::JSJavaScriptCallFrame::scopeChain):
2578 (WebCore::JSJavaScriptCallFrame::scopeType):
2579 * bindings/js/JSNodeFilterCondition.cpp:
2580 (WebCore::JSNodeFilterCondition::markAggregate):
2581 (WebCore::JSNodeFilterCondition::acceptNode):
2582 * bindings/js/JSNodeFilterCondition.h:
2583 * bindings/js/JSNodeFilterCustom.cpp:
2584 * bindings/js/JSOptionConstructor.cpp:
2585 (WebCore::JSOptionConstructor::JSOptionConstructor):
2586 * bindings/js/JSSQLResultSetRowListCustom.cpp:
2587 (WebCore::JSSQLResultSetRowList::item):
2588 * bindings/js/ScriptCachedFrameData.cpp:
2589 (WebCore::ScriptCachedFrameData::restore):
2590 * bindings/js/ScriptObject.cpp:
2591 (WebCore::ScriptGlobalObject::set):
2592 * bindings/js/SerializedScriptValue.cpp:
2593 (WebCore::CloneDeserializer::putProperty):
2594 * bindings/scripts/CodeGeneratorJS.pm:
2595 * bridge/qt/qt_instance.cpp:
2596 (JSC::Bindings::QtInstance::QtInstance):
2597 (JSC::Bindings::QtInstance::removeCachedMethod):
2598 (JSC::Bindings::QtInstance::markAggregate):
2599 * bridge/qt/qt_instance.h:
2600 * bridge/qt/qt_runtime.cpp:
2601 (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
2602 (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
2603 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
2604 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
2605 * bridge/qt/qt_runtime.h:
2606 * bridge/runtime_root.cpp:
2607 (JSC::Bindings::RootObject::invalidate):
2608 * bridge/runtime_root.h:
2611 2011-01-30 Sheriff Bot <webkit.review.bot@gmail.com>
2613 Unreviewed, rolling out r77107.
2614 http://trac.webkit.org/changeset/77107
2615 https://bugs.webkit.org/show_bug.cgi?id=53412
2617 Caused 5 new form-related test crashes (Requested by smfr on
2620 * css/CSSSelector.cpp:
2621 (WebCore::CSSSelector::pseudoId):
2622 (WebCore::nameToPseudoTypeMap):
2623 (WebCore::CSSSelector::extractPseudoType):
2624 * css/CSSSelector.h:
2625 * html/HTMLProgressElement.cpp:
2626 (WebCore::HTMLProgressElement::parseMappedAttribute):
2627 (WebCore::HTMLProgressElement::attach):
2628 * html/HTMLProgressElement.h:
2629 * rendering/RenderProgress.cpp:
2630 (WebCore::RenderProgress::~RenderProgress):
2631 (WebCore::RenderProgress::updateFromElement):
2632 (WebCore::RenderProgress::layoutParts):
2633 (WebCore::RenderProgress::shouldHaveParts):
2634 * rendering/RenderProgress.h:
2635 * rendering/style/RenderStyleConstants.h:
2637 2011-01-30 Simon Fraser <simon.fraser@apple.com>
2639 Reviewed by Sam Weinig.
2641 Enhance ShadowBlur to render inset box shadows
2642 https://bugs.webkit.org/show_bug.cgi?id=51567
2644 Use ShadowBlur for inset box-shadows with CG. It
2645 currently lacks a tiled version, but is still much
2646 faster than CG shadows.
2648 Test: fast/box-shadow/inset-box-shadow-radius.html
2650 * platform/graphics/ShadowBlur.cpp:
2651 * platform/graphics/ShadowBlur.h: New method for inset
2653 (WebCore::ShadowBlur::drawInsetShadow):
2655 * platform/graphics/GraphicsContext.cpp: #ifdef out
2656 fillRectWithRoundedHole() for CG.
2658 * platform/graphics/cg/GraphicsContextCG.cpp:
2659 (WebCore::GraphicsContext::fillRectWithRoundedHole): If there's
2660 a shadow with a radius > 0, use ShadowBlur.
2662 2011-01-28 Kenneth Russell <kbr@google.com>
2664 Reviewed by Chris Marrin.
2666 WebGL shows PNG Textures with indexed colors too dark
2667 https://bugs.webkit.org/show_bug.cgi?id=47477
2669 Properly handle indexed PNG images by re-rendering them as RGBA
2670 images before upload. Verified with this layout test and the test
2671 cases from bugs 47477 and 53269.
2673 * platform/graphics/cg/GraphicsContext3DCG.cpp:
2674 (WebCore::GraphicsContext3D::getImageData):
2676 2011-01-27 MORITA Hajime <morrita@google.com>
2678 Reviewed by Dimitri Glazkov.
2680 Convert <progress> shadow DOM to a DOM-based shadow.
2681 https://bugs.webkit.org/show_bug.cgi?id=50660
2683 * Removed RenderProgress::m_valuePart, moved the shadow node
2684 to the shadow root of HTMLProgressElement.
2685 * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
2686 ProgressBarValueElement is defined only for overriding
2689 No new tests. No behavioral change.
2691 * css/CSSSelector.cpp:
2692 (WebCore::CSSSelector::pseudoId):
2693 (WebCore::nameToPseudoTypeMap):
2694 (WebCore::CSSSelector::extractPseudoType):
2695 * css/CSSSelector.h:
2696 * html/HTMLProgressElement.cpp:
2697 (WebCore::ProgressBarValueElement::ProgressBarValueElement):
2698 (WebCore::ProgressBarValueElement::shadowPseudoId):
2699 (WebCore::ProgressBarValueElement::create):
2700 (WebCore::HTMLProgressElement::parseMappedAttribute):
2701 (WebCore::HTMLProgressElement::attach):
2702 (WebCore::HTMLProgressElement::valuePart):
2703 (WebCore::HTMLProgressElement::didElementStateChange):
2704 (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
2705 * html/HTMLProgressElement.h:
2706 * rendering/RenderProgress.cpp:
2707 (WebCore::RenderProgress::~RenderProgress):
2708 (WebCore::RenderProgress::updateFromElement):
2709 (WebCore::RenderProgress::layoutParts):
2710 (WebCore::RenderProgress::shouldHaveParts):
2711 (WebCore::RenderProgress::valuePart):
2712 * rendering/RenderProgress.h:
2713 * rendering/style/RenderStyleConstants.h:
2715 2011-01-30 Simon Fraser <simon.fraser@apple.com>
2717 Reviewed by Ariya Hidayat.
2719 Enhance ShadowBlur to render inset box shadows; Part 1.
2720 https://bugs.webkit.org/show_bug.cgi?id=51567
2722 Add a new method to GraphicsContext to render a rect with a rounded hole,
2723 for use by inset box-shadow code. Knowledge that we're rendering a rounded
2724 hole will enable ShadowBlur to be used here in future.
2726 * platform/graphics/GraphicsContext.cpp:
2727 (WebCore::GraphicsContext::fillRectWithRoundedHole):
2728 * platform/graphics/GraphicsContext.h:
2729 * rendering/RenderBoxModelObject.cpp:
2730 (WebCore::RenderBoxModelObject::paintBoxShadow):
2732 2011-01-23 MORITA Hajime <morrita@google.com>
2734 Reviewed by Eric Seidel.
2736 REGRESSION: Inset shadow with too large border radius misses rounded corner.
2737 https://bugs.webkit.org/show_bug.cgi?id=52800
2739 The refactoring on r76083 broke the invariant between border
2740 IntRect and its radii because RoundedIntRect::setRect() is called
2741 after getRoundedInnerBorderWithBorderWidths(), which enforces the
2742 invariant. Th rounded-rect clipping code verifies the invariant,
2743 and discard the invalid radii, that results broken paintings.
2745 This change moved setRect() before
2746 getRoundedInnerBorderWithBorderWidths() not to modify the valid
2747 RoundedIntRect value.
2749 Test: fast/box-shadow/inset-with-extraordinary-radii-and-border.html
2751 * rendering/RenderBoxModelObject.cpp:
2752 (WebCore::RenderBoxModelObject::paintBoxShadow):
2754 2011-01-30 Simon Fraser <simon.fraser@apple.com>
2756 Attempt to fix Windows build by adding ShadowBlur.cpp/h to the
2759 * WebCore.vcproj/WebCore.vcproj:
2761 2011-01-30 Simon Fraser <simon.fraser@apple.com>
2763 Reviewed by Dan Bernstein.
2765 -webkit-box-shadow causes awful scroll/resize/redraw performance
2766 https://bugs.webkit.org/show_bug.cgi?id=22102
2768 Use ShadowBlur for CG, whe rendering shadows on rects and
2769 rounded rects outside of canvas.
2771 CG shadows with a radius of more than 8px do not render
2772 correctly. We preserve this incorrect rendering by compensating
2773 for it when rending -webkit-box-shadow. Calls that should use
2774 this deprecated radius behavior now use setLegacyShadow().
2776 Test: fast/box-shadow/box-shadow-transformed.html
2778 * html/canvas/CanvasRenderingContext2D.cpp: Use setLegacyShadow()
2779 for canvas, to indicate that it should use the deprecated radius
2781 (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault): Ditto.
2782 (WebCore::CanvasRenderingContext2D::setShadow): Ditto.
2783 (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
2785 * platform/graphics/GraphicsContext.cpp:
2786 (WebCore::GraphicsContext::setLegacyShadow): Set the m_state.shadowsUseLegacyRadius bit.
2788 * platform/graphics/GraphicsContext.h:
2789 (WebCore::GraphicsContextState::GraphicsContextState): Add a
2790 shadowsUseLegacyRadius bit to the state.
2792 * platform/graphics/cg/GraphicsContextCG.cpp:
2793 (WebCore::radiusToLegacyRadius): Map from the actual radius to one
2794 that approximates CG behavior.
2795 (WebCore::hasBlurredShadow): Helper that returns true if we have a shadow
2796 with a non-zero blur radius.
2797 (WebCore::GraphicsContext::fillRect): Use ShadowBlur if not canvas.
2798 (WebCore::GraphicsContext::fillRoundedRect): Ditto.
2799 (WebCore::GraphicsContext::setPlatformShadow): Comment.
2801 * rendering/RenderBoxModelObject.cpp:
2802 (WebCore::RenderBoxModelObject::paintBoxShadow): Call setLegacyShadow()
2803 for -webkit-box-shadow.
2805 * platform/graphics/ShadowBlur.cpp:
2806 (WebCore::ShadowBlur::calculateLayerBoundingRect): Fix some pixel crack issues
2807 by rounding up the blur radius.
2808 (WebCore::ShadowBlur::drawRectShadow): Ditto
2809 (WebCore::ShadowBlur::drawRectShadowWithTiling): Ditto.
2811 2011-01-30 Oliver Hunt <oliver@apple.com>
2813 Try to fix Qt build (again).
2815 * bridge/qt/qt_runtime.cpp:
2816 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
2817 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
2819 2011-01-30 Oliver Hunt <oliver@apple.com>
2821 Try to fix Qt build.
2823 * bridge/qt/qt_instance.cpp:
2824 (JSC::Bindings::QtInstance::QtInstance):
2825 (JSC::Bindings::QtInstance::removeCachedMethod):
2826 (JSC::Bindings::QtInstance::markAggregate):
2827 * bridge/qt/qt_instance.h:
2829 2011-01-30 Oliver Hunt <oliver@apple.com>
2831 Convert markstack to a slot visitor API
2832 https://bugs.webkit.org/show_bug.cgi?id=53219
2834 rolling r77006 and r77020 back in.
2836 * ForwardingHeaders/runtime/WriteBarrier.h: Added.
2838 * bindings/js/DOMWrapperWorld.h:
2839 (WebCore::DOMWrapperWorld::globalData):
2840 * bindings/js/JSAudioConstructor.cpp:
2841 (WebCore::JSAudioConstructor::JSAudioConstructor):
2842 * bindings/js/JSDOMBinding.cpp:
2843 (WebCore::markDOMNodesForDocument):
2844 (WebCore::markDOMObjectWrapper):
2845 (WebCore::markDOMNodeWrapper):
2846 * bindings/js/JSDOMGlobalObject.cpp:
2847 (WebCore::JSDOMGlobalObject::markChildren):
2848 (WebCore::JSDOMGlobalObject::setInjectedScript):
2849 (WebCore::JSDOMGlobalObject::injectedScript):
2850 * bindings/js/JSDOMGlobalObject.h:
2851 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
2852 (WebCore::getDOMConstructor):
2853 * bindings/js/JSDOMWindowCustom.cpp:
2854 (WebCore::JSDOMWindow::setLocation):
2855 (WebCore::DialogHandler::dialogCreated):
2856 * bindings/js/JSDOMWindowShell.cpp:
2857 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2858 (WebCore::JSDOMWindowShell::setWindow):
2859 (WebCore::JSDOMWindowShell::markChildren):
2860 (WebCore::JSDOMWindowShell::unwrappedObject):
2861 * bindings/js/JSDOMWindowShell.h:
2862 (WebCore::JSDOMWindowShell::window):
2863 (WebCore::JSDOMWindowShell::setWindow):
2864 * bindings/js/JSDeviceMotionEventCustom.cpp:
2865 (WebCore::createAccelerationObject):
2866 (WebCore::createRotationRateObject):
2867 * bindings/js/JSEventListener.cpp:
2868 (WebCore::JSEventListener::JSEventListener):
2869 (WebCore::JSEventListener::markJSFunction):
2870 * bindings/js/JSEventListener.h:
2871 (WebCore::JSEventListener::jsFunction):
2872 * bindings/js/JSHTMLDocumentCustom.cpp:
2873 (WebCore::JSHTMLDocument::setAll):
2874 * bindings/js/JSImageConstructor.cpp:
2875 (WebCore::JSImageConstructor::JSImageConstructor):
2876 * bindings/js/JSImageDataCustom.cpp:
2878 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2879 (WebCore::JSJavaScriptCallFrame::scopeChain):
2880 (WebCore::JSJavaScriptCallFrame::scopeType):
2881 * bindings/js/JSNodeFilterCondition.cpp:
2882 (WebCore::JSNodeFilterCondition::markAggregate):
2883 (WebCore::JSNodeFilterCondition::acceptNode):
2884 * bindings/js/JSNodeFilterCondition.h:
2885 * bindings/js/JSNodeFilterCustom.cpp:
2886 * bindings/js/JSOptionConstructor.cpp:
2887 (WebCore::JSOptionConstructor::JSOptionConstructor):
2888 * bindings/js/JSSQLResultSetRowListCustom.cpp:
2889 (WebCore::JSSQLResultSetRowList::item):
2890 * bindings/js/ScriptCachedFrameData.cpp:
2891 (WebCore::ScriptCachedFrameData::restore):
2892 * bindings/js/ScriptObject.cpp:
2893 (WebCore::ScriptGlobalObject::set):
2894 * bindings/js/SerializedScriptValue.cpp:
2895 (WebCore::CloneDeserializer::putProperty):
2896 * bindings/scripts/CodeGeneratorJS.pm:
2897 * bridge/qt/qt_runtime.cpp:
2898 (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
2899 (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
2900 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
2901 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
2902 * bridge/qt/qt_runtime.h:
2903 * bridge/runtime_root.cpp:
2904 (JSC::Bindings::RootObject::invalidate):
2905 * bridge/runtime_root.h:
2908 2011-01-30 Simon Fraser <simon.fraser@apple.com>
2910 Reviewed by Sam Weinig.
2912 Make ContextShadow code cross-platform
2913 https://bugs.webkit.org/show_bug.cgi?id=51312
2915 Add a new class, ShadowBlur, that contains most of the
2916 code from ContextShadow, but is fully cross-platform.
2917 It depends on one new method, GraphicsContext::clipBounds(),
2918 which platforms will have to implement.
2920 Add ShadowBlur to the Mac Xcode project, but don't use it
2923 * WebCore.xcodeproj/project.pbxproj:
2924 * platform/graphics/GraphicsContext.cpp:
2925 (WebCore::GraphicsContext::clipBounds):
2926 * platform/graphics/GraphicsContext.h:
2927 * platform/graphics/ShadowBlur.cpp: Added.
2928 (WebCore::roundUpToMultipleOf32):
2929 (WebCore::ScratchBuffer::ScratchBuffer):
2930 (WebCore::ScratchBuffer::getScratchBuffer):
2931 (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
2932 (WebCore::ScratchBuffer::timerFired):
2933 (WebCore::ScratchBuffer::clearScratchBuffer):
2934 (WebCore::ScratchBuffer::shared):
2935 (WebCore::ShadowBlur::ShadowBlur):
2936 (WebCore::ShadowBlur::blurLayerImage):
2937 (WebCore::ShadowBlur::adjustBlurDistance):
2938 (WebCore::ShadowBlur::calculateLayerBoundingRect):
2939 (WebCore::ShadowBlur::beginShadowLayer):
2940 (WebCore::ShadowBlur::endShadowLayer):
2941 (WebCore::ShadowBlur::drawRectShadow):
2942 (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
2943 (WebCore::ShadowBlur::drawRectShadowWithTiling):
2944 (WebCore::ShadowBlur::clipBounds):
2945 * platform/graphics/ShadowBlur.h: Added.
2946 (WebCore::ShadowBlur::setShadowsIgnoreTransforms):
2947 (WebCore::ShadowBlur::shadowsIgnoreTransforms):
2948 * platform/graphics/cg/GraphicsContextCG.cpp:
2949 (WebCore::GraphicsContext::clipBounds):
2951 2011-01-29 Simon Fraser <simon.fraser@apple.com>
2953 Reviewed by Dan Bernstein.
2955 CSS3 gradients with em-based stops fail to repaint when font size changes
2956 https://bugs.webkit.org/show_bug.cgi?id=51845
2958 Mark as uncacheable gradidients whose color stops depend on font size,
2959 and don't attempt to put these into CSSImageGeneratorValue's image cache.
2960 This means we return a new gradient each time, which is fairly cheap, and
2961 fixes repaint issues under changing font size.
2963 Test: fast/repaint/gradients-em-stops-repaint.html
2965 * css/CSSGradientValue.cpp:
2966 (WebCore::CSSGradientValue::image):
2967 (WebCore::CSSGradientValue::isCacheable):
2968 * css/CSSGradientValue.h:
2970 2011-01-29 Geoffrey Garen <ggaren@apple.com>
2972 Undo try to fix the Qt build.
2974 My guess didn't work.
2978 2011-01-29 Geoffrey Garen <ggaren@apple.com>
2980 Try to fix the Qt build.
2982 * WebCore.pro: Added platform/text/CharacterNames.h.
2984 2011-01-28 Geoffrey Garen <ggaren@apple.com>
2986 Reviewed by Maciej Stachowiak.
2988 Some more Heap cleanup.
2989 https://bugs.webkit.org/show_bug.cgi?id=53357
2991 Updated for JavaScriptCore changes.
2993 * bindings/js/ScriptGCEvent.cpp:
2994 (WebCore::ScriptGCEvent::getHeapSize):
2996 2011-01-29 Adam Barth <abarth@webkit.org>
2998 Reviewed by Daniel Bates.
3000 Fix XSSFilter crash when extracting the source for a token twice
3001 https://bugs.webkit.org/show_bug.cgi?id=53368
3003 Previously, it was unsafe to extract the source for the same token
3004 twice because the HTMLSourceTracker would advance its internal
3005 representation of the SegmentedString. This patch introduces a cache
3006 to make calling HTMLSourceTracker::sourceForToken multiple times safe.
3008 * html/parser/HTMLSourceTracker.cpp:
3009 (WebCore::HTMLSourceTracker::end):
3010 (WebCore::HTMLSourceTracker::sourceForToken):
3011 * html/parser/HTMLSourceTracker.h:
3013 2011-01-29 Maciej Stachowiak <mjs@apple.com>
3015 Reviewed by Dan Bernstein.
3017 Fix fat build for both 32-bit and 64-bit under llvm-gcc 4.2
3018 https://bugs.webkit.org/show_bug.cgi?id=53386
3020 * platform/mac/ScrollAnimatorMac.mm:
3021 (WebCore::elasticDeltaForReboundDelta):
3022 (WebCore::scrollWheelMultiplier):
3023 (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
3024 (WebCore::ScrollAnimatorMac::beginScrollGesture):
3025 (WebCore::roundTowardZero):
3026 (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
3028 2011-01-29 Daniel Bates <dbates@rim.com>
3030 Reviewed by Maciej Stachowiak.
3032 Remove reference to ${CMAKE_SOURCE_DIR}/Source in CMake files
3033 https://bugs.webkit.org/show_bug.cgi?id=53382
3035 Our file system hierarchy ensures that CMAKE_SOURCE_DIR is defined to be /Source.
3036 So, ${CMAKE_SOURCE_DIR}/Source evaluates to the non-existent directory /Source/Source.
3037 Therefore, we should remove such references.
3041 2011-01-29 Sam Weinig <sam@webkit.org>
3043 Reviewed by Jon Honeycutt.
3045 Fix 32-bit build on the Mac.
3047 * platform/mac/ScrollAnimatorMac.mm:
3048 (WebCore::roundTowardZero):
3049 (WebCore::roundToDevicePixelTowardZero):
3050 Use floats instead of doubles to avoid double-to-float conversion
3053 2011-01-29 Simon Fraser <simon.fraser@apple.com>
3055 Reviewed by Adam Barth.
3057 Use clampToInteger() functions in a few places
3058 https://bugs.webkit.org/show_bug.cgi?id=53363
3060 * css/CSSStyleSelector.cpp:
3061 (WebCore::CSSStyleSelector::applyProperty): Use clampToInteger() for z-index.
3062 (WebCore::CSSStyleSelector::createTransformOperations): Use clampToPositiveInteger().
3063 * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Ditto.
3064 (WebCore::PerspectiveTransformOperation::blend): Ditto.
3066 2011-01-29 Patrick Gansterer <paroga@webkit.org>
3068 Reviewed by David Kilzer.
3070 Move CharacterNames.h into WTF directory
3071 https://bugs.webkit.org/show_bug.cgi?id=49618
3073 * ForwardingHeaders/wtf/unicode/CharacterNames.h: Added.
3076 * WebCore.vcproj/WebCore.vcproj:
3077 * WebCore.xcodeproj/project.pbxproj:
3078 * accessibility/AccessibilityObject.cpp:
3079 * accessibility/AccessibilityRenderObject.cpp:
3080 * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
3081 * bindings/js/JSHTMLDocumentCustom.cpp:
3083 * dom/SelectElement.cpp:
3084 * editing/CompositeEditCommand.cpp:
3085 * editing/Editor.cpp:
3086 * editing/HTMLInterchange.cpp:
3087 * editing/InsertTextCommand.cpp:
3088 * editing/MarkupAccumulator.cpp:
3089 * editing/TextIterator.cpp:
3090 * editing/VisibleSelection.cpp:
3091 * editing/htmlediting.cpp:
3092 * editing/htmlediting.h:
3093 * editing/markup.cpp:
3094 * html/FTPDirectoryDocument.cpp:
3095 * html/HTMLFormControlElement.cpp:
3096 * html/parser/HTMLTreeBuilder.cpp:
3097 * loader/appcache/ManifestParser.cpp:
3098 * platform/chromium/PopupMenuChromium.cpp:
3099 * platform/graphics/Font.h:
3100 * platform/graphics/FontFastPath.cpp:
3101 * platform/graphics/GlyphPageTreeNode.cpp:
3102 * platform/graphics/StringTruncator.cpp:
3103 * platform/graphics/mac/ComplexTextController.cpp:
3104 * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
3105 * platform/graphics/wince/GraphicsContextWinCE.cpp:
3106 * platform/mac/PasteboardMac.mm:
3107 * platform/text/TextCodecICU.cpp:
3108 * platform/text/mac/TextCodecMac.cpp:
3109 * platform/text/transcoder/FontTranscoder.cpp:
3110 * rendering/RenderBlockLineLayout.cpp:
3111 * rendering/RenderFlexibleBox.cpp:
3112 * rendering/RenderListMarker.cpp:
3113 * rendering/RenderText.cpp:
3114 * rendering/RenderTextControl.cpp:
3115 * rendering/RenderTreeAsText.cpp:
3116 * rendering/break_lines.cpp:
3117 * rendering/mathml/RenderMathMLOperator.h:
3118 * websockets/WebSocketHandshake.cpp:
3119 * wml/WMLTableElement.cpp:
3121 2011-01-29 Dan Winship <danw@gnome.org>
3123 Reviewed by Xan Lopez.
3125 [GTK] Remove HAVE_LIBSOUP_2_29_90 conditionals; we depend on
3127 https://bugs.webkit.org/show_bug.cgi?id=50675
3129 * platform/network/soup/CookieJarSoup.cpp:
3130 (WebCore::defaultCookieJar):
3131 (WebCore::setCookies):
3132 * platform/network/soup/ResourceHandleSoup.cpp:
3133 (WebCore::ResourceHandle::prepareForURL):
3134 (WebCore::restartedCallback):
3135 (WebCore::startHttp):
3136 * platform/network/soup/ResourceRequestSoup.cpp:
3137 (WebCore::ResourceRequest::updateSoupMessage):
3138 (WebCore::ResourceRequest::toSoupMessage):
3139 (WebCore::ResourceRequest::updateFromSoupMessage):
3141 2011-01-29 Adam Barth <abarth@webkit.org>
3143 Reviewed by Daniel Bates.
3145 XSSFilter should replace URLs with about:blank instead of the empty string
3146 https://bugs.webkit.org/show_bug.cgi?id=53370
3148 Using the empty string will make the URL complete to the current
3149 document's URL, which isn't really what we want. Instead, we want to
3150 use about:blank, which is safe.
3152 * html/parser/XSSFilter.cpp:
3153 (WebCore::XSSFilter::filterObjectToken):
3154 (WebCore::XSSFilter::filterEmbedToken):
3156 2011-01-29 Adam Barth <abarth@webkit.org>
3158 Reviewed by Daniel Bates.
3160 XSSFilter should pass xssAuditor/script-tag-addslashes*
3161 https://bugs.webkit.org/show_bug.cgi?id=53365
3163 We need to canonicalize strings to avoid being tricked by addslashes.
3165 * html/parser/XSSFilter.cpp:
3166 (WebCore::HTMLNames::isNonCanonicalCharacter):
3167 - This function is copied from the XSSAuditor (with some tweaks).
3168 We'll eventually remove the XSSAuditor once we've got XSSFilter
3170 (WebCore::HTMLNames::canonicalize):
3171 (WebCore::HTMLNames::decodeURL):
3172 (WebCore::XSSFilter::isContainedInRequest):
3174 2011-01-29 Adam Barth <abarth@webkit.org>
3176 Reviewed by Daniel Bates.
3178 XSSFilter should pass xssAuditor/script-tag-with-source-same-host.html
3179 and xssAuditor/script-tag-post-*
3180 https://bugs.webkit.org/show_bug.cgi?id=53364
3182 We're supposed to allow loading same-origin resources even if they
3183 appear as part of the request.
3185 Also, we're supposed to look at the POST data too. :)
3187 * html/parser/XSSFilter.cpp:
3188 (WebCore::XSSFilter::eraseAttributeIfInjected):
3189 (WebCore::XSSFilter::isSameOriginResource):
3190 - Copy/paste from XSSAuditor::isSameOriginResource. We'll
3191 eventually remove the XSSAuditor version when XSSFilter is done.
3192 * html/parser/XSSFilter.h:
3194 2011-01-29 Adam Barth <abarth@webkit.org>
3196 Reviewed by Daniel Bates.
3198 XSSFilter should pass 16 of the xssAuditor/script-tag* tests
3199 https://bugs.webkit.org/show_bug.cgi?id=53362
3201 Turns out we need to replace the src attribute of script tags with
3202 about:blank to avoid loading the main document URL as a script. Also,
3203 move misplaced return statement that was triggering the console message
3206 * html/parser/HTMLToken.h:
3207 (WebCore::HTMLToken::appendToAttributeValue):
3208 * html/parser/XSSFilter.cpp:
3209 (WebCore::XSSFilter::filterScriptToken):
3210 (WebCore::XSSFilter::eraseAttributeIfInjected):
3211 * html/parser/XSSFilter.h:
3213 2011-01-28 Jon Honeycutt <jhoneycutt@apple.com>
3215 Downloads in WK2 on Windows should write resume data to bundle
3216 https://bugs.webkit.org/show_bug.cgi?id=53282
3217 <rdar://problem/8753077>
3219 Reviewed by Alice Liu.
3221 * WebCore.vcproj/WebCore.vcproj:
3222 Added new files to project.
3224 * platform/network/cf/DownloadBundle.h: Added.
3225 * platform/network/win/DownloadBundleWin.cpp: Added.
3226 (WebCore::DownloadBundle::magicNumber):
3227 Moved from WebKit's WebDownload so that WebKit and WebKit2 can share
3229 (WebCore::DownloadBundle::fileExtension):
3231 (WebCore::DownloadBundle::appendResumeData):
3232 Ditto - but modified to return bool rather than HRESULT and to clean up
3234 (WebCore::DownloadBundle::extractResumeData):
3235 Ditto - modified to clean up whitespace.
3237 2011-01-29 Sheriff Bot <webkit.review.bot@gmail.com>
3239 Unreviewed, rolling out r77050.
3240 http://trac.webkit.org/changeset/77050
3241 https://bugs.webkit.org/show_bug.cgi?id=53371
3243 Caused a crash in Chromium's test_shell_tests (Requested by
3246 * html/parser/HTMLTreeBuilder.cpp:
3247 (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
3248 (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
3249 (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
3250 * html/parser/HTMLTreeBuilder.h:
3252 2011-01-28 Eric Seidel <eric@webkit.org>
3254 Reviewed by Darin Adler.
3256 HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
3257 https://bugs.webkit.org/show_bug.cgi?id=48719
3259 It's unclear exactly what the Peacekeeper benchmark is testing,
3260 because I haven't found a way to run it myself.
3262 However, I constructed a benchmark which shows at least one possible slow point.
3263 The HTML5 spec talks about creating a new document for every time we use
3264 the fragment parsing algorithm. Document() it turns out, it a huge bloated
3265 mess, and the constructor and destructor do a huge amount of work.
3266 To avoid constructing (or destructing) documents for each innerHTML call,
3267 this patch adds a shared dummy document used by all innerHTML calls.
3269 This patch brings us from 7x slower than Safari 5 on tiny-innerHTML
3270 to only 1.5x slower than Safari 5. I'm sure there is more work to do here.
3272 Saving a shared Document like this is error prone. Currently
3273 DummyDocumentFactory::releaseDocument() calls removeAllChildren()
3274 in an attempt to clear the Document's state. However it's possible
3275 that that call is not sufficient and we'll have future bugs here.
3277 * html/parser/HTMLTreeBuilder.cpp:
3278 (WebCore::DummyDocumentFactory::createDummyDocument):
3279 (WebCore::DummyDocumentFactory::releaseDocument):
3280 (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
3281 (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
3282 (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
3283 * html/parser/HTMLTreeBuilder.h:
3285 2011-01-28 Johnny Ding <jnd@chromium.org>
3287 Reviewed by Adam Barth.
3289 Gesture API: Don't use current gesture status to set "forceUserGesture" parameter when calling ScriptController::executeScript.
3290 The "forceUserGesture" parameter should be only set when you are definitely sure that the running script is from a hyper-link.
3291 https://bugs.webkit.org/show_bug.cgi?id=53244
3293 Test: fast/events/popup-blocked-from-iframe-src.html
3295 * bindings/ScriptControllerBase.cpp:
3296 (WebCore::ScriptController::executeIfJavaScriptURL):
3298 2011-01-28 Simon Fraser <simon.fraser@apple.com>
3300 Reviewed by Gavin Barraclough.
3302 Add various clampToInt() methods to MathExtras.h
3303 https://bugs.webkit.org/show_bug.cgi?id=52910
3305 Use clampToInteger() from MathExtras.h
3307 * css/CSSParser.cpp:
3308 (WebCore::CSSParser::parseCounter):
3310 2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com>
3312 Unreviewed, rolling out r77006 and r77020.
3313 http://trac.webkit.org/changeset/77006
3314 http://trac.webkit.org/changeset/77020
3315 https://bugs.webkit.org/show_bug.cgi?id=53360
3317 "Broke Windows tests" (Requested by rniwa on #webkit).
3319 * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
3321 * bindings/js/DOMWrapperWorld.h:
3322 * bindings/js/JSAudioConstructor.cpp:
3323 (WebCore::JSAudioConstructor::JSAudioConstructor):
3324 * bindings/js/JSDOMBinding.cpp:
3325 (WebCore::markDOMNodesForDocument):
3326 (WebCore::markDOMObjectWrapper):
3327 (WebCore::markDOMNodeWrapper):
3328 * bindings/js/JSDOMGlobalObject.cpp:
3329 (WebCore::JSDOMGlobalObject::markChildren):
3330 (WebCore::JSDOMGlobalObject::setInjectedScript):
3331 (WebCore::JSDOMGlobalObject::injectedScript):
3332 * bindings/js/JSDOMGlobalObject.h:
3333 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
3334 (WebCore::getDOMConstructor):
3335 * bindings/js/JSDOMWindowCustom.cpp:
3336 (WebCore::JSDOMWindow::setLocation):
3337 (WebCore::DialogHandler::dialogCreated):
3338 * bindings/js/JSDOMWindowShell.cpp:
3339 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
3340 (WebCore::JSDOMWindowShell::setWindow):
3341 (WebCore::JSDOMWindowShell::markChildren):
3342 (WebCore::JSDOMWindowShell::unwrappedObject):
3343 * bindings/js/JSDOMWindowShell.h:
3344 (WebCore::JSDOMWindowShell::window):
3345 (WebCore::JSDOMWindowShell::setWindow):
3346 * bindings/js/JSDeviceMotionEventCustom.cpp:
3347 (WebCore::createAccelerationObject):
3348 (WebCore::createRotationRateObject):
3349 * bindings/js/JSEventListener.cpp:
3350 (WebCore::JSEventListener::JSEventListener):
3351 (WebCore::JSEventListener::markJSFunction):
3352 * bindings/js/JSEventListener.h:
3353 (WebCore::JSEventListener::jsFunction):
3354 * bindings/js/JSHTMLDocumentCustom.cpp:
3355 (WebCore::JSHTMLDocument::setAll):
3356 * bindings/js/JSImageConstructor.cpp:
3357 (WebCore::JSImageConstructor::JSImageConstructor):
3358 * bindings/js/JSImageDataCustom.cpp:
3360 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3361 (WebCore::JSJavaScriptCallFrame::scopeChain):
3362 (WebCore::JSJavaScriptCallFrame::scopeType):
3363 * bindings/js/JSNodeFilterCondition.cpp:
3364 (WebCore::JSNodeFilterCondition::markAggregate):
3365 (WebCore::JSNodeFilterCondition::acceptNode):
3366 * bindings/js/JSNodeFilterCondition.h:
3367 * bindings/js/JSNodeFilterCustom.cpp:
3368 * bindings/js/JSOptionConstructor.cpp:
3369 (WebCore::JSOptionConstructor::JSOptionConstructor):
3370 * bindings/js/JSSQLResultSetRowListCustom.cpp:
3371 (WebCore::JSSQLResultSetRowList::item):
3372 * bindings/js/ScriptCachedFrameData.cpp:
3373 (WebCore::ScriptCachedFrameData::restore):
3374 * bindings/js/ScriptObject.cpp:
3375 (WebCore::ScriptGlobalObject::set):
3376 * bindings/js/SerializedScriptValue.cpp:
3377 (WebCore::CloneDeserializer::putProperty):
3378 * bindings/scripts/CodeGeneratorJS.pm:
3379 * bridge/qt/qt_runtime.cpp:
3380 (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
3381 (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
3382 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
3383 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
3384 * bridge/qt/qt_runtime.h:
3385 * bridge/runtime_root.cpp:
3386 (JSC::Bindings::RootObject::invalidate):
3387 * bridge/runtime_root.h:
3390 2011-01-28 Adam Barth <abarth@webkit.org>
3392 Reviewed by Eric Seidel.
3394 XSSFilter should log to the console when it blocks something
3395 https://bugs.webkit.org/show_bug.cgi?id=53354
3397 This patch refactors a bunch of methods in XSSFilter to return a bool
3398 indicating whether they blocked anything. Using this bool, we decide
3399 whether to log to the console. We're using the same log message as the
3400 XSSAuditor, but it seems likely we can improve this message in the
3401 future (especially by piping in the correct line number, which is now
3402 accessible via the parser).
3404 * html/parser/XSSFilter.cpp:
3405 (WebCore::HTMLNames::isNameOfInlineEventHandler):
3406 (WebCore::XSSFilter::filterToken):
3407 (WebCore::XSSFilter::filterTokenInitial):
3408 (WebCore::XSSFilter::filterTokenAfterScriptStartTag):
3409 (WebCore::XSSFilter::filterScriptToken):
3410 (WebCore::XSSFilter::filterObjectToken):
3411 (WebCore::XSSFilter::filterEmbedToken):
3412 (WebCore::XSSFilter::filterAppletToken):
3413 (WebCore::XSSFilter::filterMetaToken):
3414 (WebCore::XSSFilter::filterBaseToken):
3415 (WebCore::XSSFilter::eraseInlineEventHandlersIfInjected):
3416 * html/parser/XSSFilter.h:
3418 2011-01-28 Adam Barth <abarth@webkit.org>
3420 Reviewed by Daniel Bates.
3422 Wire up settings->xssAuditorEnabled to XSSFilter
3423 https://bugs.webkit.org/show_bug.cgi?id=53345
3425 * html/parser/XSSFilter.cpp:
3426 (WebCore::XSSFilter::XSSFilter):
3427 (WebCore::XSSFilter::filterToken):
3428 * html/parser/XSSFilter.h:
3430 2011-01-28 Adam Barth <abarth@webkit.org>
3432 Reviewed by Daniel Bates.
3434 Teach XSSFilter about <meta> and <base> tags
3435 https://bugs.webkit.org/show_bug.cgi?id=53339
3437 I'm not 100% sure we need to block <meta http-equiv>, but it seems
3438 prudent given how powerful that attribute is. We definitely need to
3439 block injection of <base href> because that can redirect script tags
3440 that use relative URLs.
3442 * html/parser/XSSFilter.cpp:
3443 (WebCore::XSSFilter::filterToken):
3444 (WebCore::XSSFilter::filterMetaToken):
3445 (WebCore::XSSFilter::filterBaseToken):
3446 * html/parser/XSSFilter.h:
3448 2011-01-28 Adam Barth <abarth@webkit.org>
3450 Reviewed by Daniel Bates.
3452 Teach XSSFilter about <applet>
3453 https://bugs.webkit.org/show_bug.cgi?id=53338
3455 HTML5 is pretty light on information about how the <applet> tag works.
3456 According to this site:
3458 http://download.oracle.com/javase/1.4.2/docs/guide/misc/applet.html
3460 The "code" and "object" attributes are the essential attributes for
3461 determining which piece of Java to run. We might need to expand to the
3462 codebase and archive attributes at some point, but hopefully code and
3463 object will be sufficient.
3465 * html/parser/XSSFilter.cpp:
3466 (WebCore::XSSFilter::filterToken):
3467 (WebCore::XSSFilter::filterAppletToken):
3468 * html/parser/XSSFilter.h:
3470 2011-01-28 Adam Barth <abarth@webkit.org>
3472 Reviewed by Daniel Bates.
3474 Teach the XSSFilter about object and embed tags
3475 https://bugs.webkit.org/show_bug.cgi?id=53336
3477 For <object> and <embed>, we filter out attribute values that either
3478 indicate which piece of media to load or which plugin to load. In a
3479 perfect world, we'd only need to filter out the URLs of the media, but
3480 some plug-ins (like Flash) have lots of fun places you can hide the
3481 URL (e.g., the "movie" <param>).
3483 * html/parser/XSSFilter.cpp:
3484 (WebCore::XSSFilter::filterToken):
3485 (WebCore::XSSFilter::filterScriptToken):
3486 (WebCore::XSSFilter::filterObjectToken):
3487 (WebCore::XSSFilter::filterEmbedToken):
3488 (WebCore::XSSFilter::eraseAttributeIfInjected):
3489 * html/parser/XSSFilter.h:
3491 2011-01-28 Oliver Hunt <oliver@apple.com>
3495 * bridge/qt/qt_runtime.cpp:
3496 (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
3497 (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
3498 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
3499 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):