Timeline
Jul 1, 2007:
- 10:48 PM Changeset in webkit [23925] by
-
- 2 edits in trunk/WebCore
Clarify/fix {Shadow,BorderImage}ParseContext's memory management
Prefast emitted warnings that drew my attention to
{Shadow,BorderImage}ParseContext::failed(). It turned out that these
methods were actually correct, but rather confusing. "failed" really
meant "abort and clean up" rather than "did you fail?", which was
unclear. However, once I figured that out, the "and clean up" part was
still a bit confusing, because all failed() did was to set a flag that
would later cause the ParseContext's members to be deleted in the
destructor. To clear this up, I've gotten rid of the failed() method
altogether. It always returned false, so I've replaced all calls to
it with the value false.
I also noticed that the lifetime management of the ParseContexts'
members was in all cases confusing, and in some cases wrong. The
m_border{Top,Right,Bottom,Left} members of BorderImageParseContext
were leaked whenever a border-image property was successfully parsed.
I fixed that by holding these members in OwnPtrs. The
CSSPrimitiveValue members of {Shadow,BorderImage}ParseContext, which
inherit from Shared, were being explicitly deleted, which is not a
safe way to manage the lifetime of objects that inherit from Shared.
To fix this, I put those members inside RefPtrs. These two changes
allowed me to remove the destructors entirely.
Reviewed by Darin.
All regression tests pass.
- css/cssparser.cpp:
(WebCore::ShadowParseContext::commitValue): Use .release() to avoid
ref-count churn.
(WebCore::ShadowParseContext::commitLength): Use a RefPtr for the new value to
avoid a leak.
(WebCore::CSSParser::parseShadow): Use 'false' instead of
'context.failed()', and use .release() to avoid ref-count churn.
(WebCore::BorderImageParseContext::commitWidth): Updated to use
OwnPtr.
(WebCore::CSSParser::parseBorderImage): Use 'false' instead of
'context.failed'.
- 10:18 PM Changeset in webkit [23924] by
-
- 2 edits in trunk/WebKit
Reviewed by Alexey.
Fix for <rdar://problem/5306210> Some events are still passed to WebCore despite being handled by the IM
http://bugs.webkit.org/show_bug.cgi?id=14457
We have to assume that the IM will consume all events, so we remove the dependency
on -[WebHTMLView hasMarkedText].
- WebView/WebHTMLView.mm: (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
- 9:13 PM Changeset in webkit [23923] by
-
- 2 edits in trunk/WebCore
Reviewed by John Sullivan.
<rdar://problem/5297146>
Crash in Mail at WebCore::Frame::setUserStyleSheetLocation (reproducible w/ particular message)
- loader/Cache.cpp: (WebCore::Cache::requestResource): Only insert the resource in the LRU list if the cache is enabled.
(WebCore::Cache::insertInLRUList):
(WebCore::Cache::resourceAccessed):
Assert that the resource is in the cache.
- 7:26 PM Changeset in webkit [23922] by
-
- 3 edits4 deletes in trunk
- css/tokenizer.flex: Rolled out the fix for 14453. The layout test wasn't passing. We'll try again.
- 5:51 PM Changeset in webkit [23921] by
-
- 8 edits in branches/wx-port-alpha/trunk
Restore the Windows build after libpng/libjpeg and Python extension changes.
- 5:44 PM Changeset in webkit [23920] by
-
- 2 edits in trunk/WebCore
Fix a crash in ~PluginViewWin()
This crash was introduced in r23827.
Reviewed by Anders.
Fixes dom/html/level2/html/HTMLAnchorElement01.html
- plugins/win/PluginViewWin.cpp:
(WebCore::PluginViewWin::~PluginViewWin): Allow m_plugin to be null.
- 4:47 PM Changeset in webkit [23919] by
-
- 3 edits4 adds in trunk
LayoutTests:
Reviewed by Darin.
Regression test for:
http://bugs.webkit.org/show_bug.cgi?id=14453
REGRESSION: www.nzherald.co.nz almost all the formating is gone
- css2.1/hex-color-regression-expected.checksum: Added.
- css2.1/hex-color-regression-expected.png: Added.
- css2.1/hex-color-regression-expected.txt: Added.
- css2.1/hex-color-regression.html: Added.
WebCore:
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=14453
REGRESSION: www.nzherald.co.nz almost all the formating is gone
- css/tokenizer.flex: Allow hex colors with 2, 4, or 5 hex digits.
- 4:22 PM Changeset in webkit [23918] by
-
- 2 edits in trunk/LayoutTests
Fixed a no-SVG test failure by removing a node that was affecting the test results differently
depending on whether SVG support was compiled in or not.
- fast/xpath/namespace-vs-predicate.xhtml: Remove the r_00 node at the end of the test.
- 4:01 PM Changeset in webkit [23917] by
-
- 2 edits in trunk/WebKitTools
Fix some paths to make http tests work again on Windows
Rubberstamped by Sam.
- Scripts/run-webkit-tests:
- 10:38 AM Changeset in webkit [23916] by
-
- 15 edits in trunk
LayoutTests:
Reviewed by Oliver.
Third round of implicit 64-32 bit conversion errors fixes.
<rdar://problem/5292262>
getFloatValue() used to return a double and now returns a float for a small
loss of precision.
- fast/css/getFloatValueForUnit-expected.checksum:
- fast/css/getFloatValueForUnit-expected.png:
- fast/css/getFloatValueForUnit-expected.txt:
- fast/css/getFloatValueForUnit.html:
WebCore:
Reviewed by Oliver.
Third round of implicit 64-32 bit conversion errors fixes.
<rdar://problem/5292262>
- Use new CSSPrimitiveValue::getDoubleValue() and CSSPrimitiveValue::getIntValue() methods instead of CSSPrimitiveValue::getFloatValue() where appropriate.
- css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::computeLengthInt): (WebCore::CSSPrimitiveValue::computeLengthIntForLength): (WebCore::CSSPrimitiveValue::computeLengthShort): (WebCore::CSSPrimitiveValue::computeLengthFloat): (WebCore::CSSPrimitiveValue::computeLengthDouble): (WebCore::CSSPrimitiveValue::getDoubleValue):
- css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::getDoubleValue): (WebCore::CSSPrimitiveValue::getFloatValue): (WebCore::CSSPrimitiveValue::getIntValue):
- css/Counter.h: (WebCore::Counter::listStyleNumber):
- css/MediaQueryEvaluator.cpp: (WebCore::parseAspectRatio):
- css/cssparser.cpp: (WebCore::BorderImageParseContext::commitBorderImage):
- css/cssstyleselector.cpp: (WebCore::convertToLength): (WebCore::applyCounterList): (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::mapBackgroundSize): (WebCore::CSSStyleSelector::mapBackgroundXPosition): (WebCore::CSSStyleSelector::mapBackgroundYPosition):
- html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::parseMappedAttribute):
- ksvg2/css/SVGCSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applySVGProperty):
- ksvg2/misc/KCanvasRenderingStyle.cpp: (WebCore::KSVGPainterFactory::cssPrimitiveToLength): (WebCore::KSVGPainterFactory::dashArrayFromRenderingStyle):
- 10:23 AM Changeset in webkit [23915] by
-
- 1 edit2 moves in trunk/LayoutTests
Fixed a no-SVG test failure by moving a test that requires SVG into the svg directory.
- fast/dom/svg-element-attribute-js-null-expected.txt: Removed.
- fast/dom/svg-element-attribute-js-null.xhtml: Removed.
- svg/dom/svg-element-attribute-js-null-expected.txt: Copied from fast/dom/svg-element-attribute-js-null-expected.txt.
- svg/dom/svg-element-attribute-js-null.xhtml: Copied from fast/dom/svg-element-attribute-js-null.xhtml.
- 10:05 AM Changeset in webkit [23914] by
-
- 1 edit1 add in trunk/LayoutTests
Added a missing file for the test for <rdar://problem/5303567> REGRESSION: XMLHttpRequest.responseXML
- fast/loader/resources/plist.app: Added. Just some random XML file I found somewhere; seems to make the test succeed instead of failing every time!
- 8:52 AM Changeset in webkit [23913] by
-
- 3 edits2 deletes in trunk
Roll out r23911 as it introduced two layout test failures.
- 7:26 AM Changeset in webkit [23912] by
-
- 7 edits in trunk
2007-07-01 Pamela Greene <pamg.bugs@gmail.com>
Reviewed by Darin.
Fix for <http://bugs.webkit.org/show_bug.cgi?id=14320>
Bug 14320: <canvas> gradient stops at identical offsets are applied in the wrong order
<rdar://problem/5290084>
Use std::stable_sort() instead of qsort() to sort gradient stops.
Adjust the comparison function accordingly.
- html/CanvasGradient.cpp: (WebCore::compareStops): (WebCore::CanvasGradient::findStop):
2007-07-01 Pamela Greene <pamg.bugs@gmail.com>
Reviewed by Darin.
Tests for <http://bugs.webkit.org/show_bug.cgi?id=14320>
Bug 14320: <canvas> gradient stops at identical offsets are applied in the wrong order
<rdar://problem/5290084>
Add tests for various combinations of stops, including multiple stops at
the same offsets, sorted and unsorted. Update results accordingly.
- fast/canvas/fillrect_gradient-expected.checksum:
- fast/canvas/fillrect_gradient-expected.png:
- fast/canvas/fillrect_gradient-expected.txt:
- fast/canvas/fillrect_gradient.html:
- 7:20 AM Changeset in webkit [23911] by
-
- 3 edits2 adds in trunk
2007-07-01 MorganL <morganl.webkit@yahoo.com>
Reviewed by Darin.
Fix for http://bugs.webkit.org/show_bug.cgi?id=14448
HTMLObjectElement::data should return an absolute URL
- html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::isImageType): (WebCore::HTMLObjectElement::data):
2007-07-01 MorganL <morganl.webkit@yahoo.com>
Reviewed by Darin.
Tests for http://bugs.webkit.org/show_bug.cgi?id=14448
HTMLObjectElement::data should return an absolute URL
- fast/dom/object-data-absurl-expected.txt: Added.
- fast/dom/object-data-absurl.html: Added.
- 7:17 AM Changeset in webkit [23910] by
-
- 2 edits in trunk/WebCore
2007-07-01 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Darin.
m_usesPageCache was not initialized. As the b/f cache is only
implemented in the Mac port and WebView.mm is taking care of calling
Settings::setUsesPageCache I decided to make it false by default.
- page/Settings.cpp: (WebCore::Settings::Settings): m_usesPageCache was not initialized
- 7:16 AM Changeset in webkit [23909] by
-
- 2 edits in trunk/WebCore
2007-07-01 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Darin.
Inherited- and NonInheritedFlags is a bit field. But for comparsion
the other part of the union _iflags/_niflags is used for comparions.
This will compare 5 uninitialized bits of _iflags and 22 of _niflags.
Make sure the unused bits have a specified value.
- ksvg2/css/SVGRenderStyle.h: (WebCore::SVGRenderStyle::setBitDefaults): Make sure the unused bits have a value as well.
- 7:14 AM Changeset in webkit [23908] by
-
- 2 edits in trunk/WebKitSite
2007-07-01 Mitz Pettel <mitz@webkit.org>
Reviewed by Darin.
- http://bugs.webkit.org/show_bug.cgi?id=14481 Broken links on coding/lgpl-license.html
- coding/lgpl-license.html:
Jun 30, 2007:
- 9:53 PM Changeset in webkit [23907] by
-
- 2 edits in trunk/WebCore
Compile WebCore with /W4 on Windows
Some more warnings were disabled globally, including assignment within
a conditional, unused variable, and various warnings related to
inability to instantiate opaque structs.
In addition, the "unreachable code" warning was turned off for
CSSGrammar.cpp and XPathGrammar.cpp.
Reviewed by Oliver.
- WebCore.vcproj/WebCore.vcproj:
- 9:53 PM Changeset in webkit [23906] by
-
- 17 edits2 adds in trunk
Give CString an equality operator to fix a bug in HTMLFormElement::formData
WebCore:
Give CString an equality operator to fix a bug in HTMLFormElement::formData
The bug was spotted by MSVC /W4. The problem was that we were comparing
a CString to a char* using ==, but CString had no equality operator.
The result was that the CString was being cast to a const char* and a
pointer comparison was being done, which would (essentially) always
return false.
There are two parts to the fix: get rid of CString's const char*
casting operator, and add an equality operator. Previous uses of the
casting operator have been changed to use CString::data().
Test: http/misc/isindex-formdata.html
Reviewed by Oliver.
- dom/XMLTokenizer.cpp: (WebCore::parseXMLDocumentFragment):
- html/HTMLDocument.cpp: (WebCore::HTMLDocument::determineParseMode):
- html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
- loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::checkForCSSCharset):
- platform/CString.cpp: (WebCore::operator==):
- platform/CString.h:
- platform/KURL.cpp: (WebCore::encodeRelativeString):
- platform/StringImpl.cpp: (WebCore::StringImpl::toDouble):
- platform/network/cf/FormDataStreamCFNet.cpp: (WebCore::setHTTPBody):
- platform/network/mac/FormDataStreamMac.mm: (WebCore::setHTTPBody):
- platform/win/ClipboardUtilitiesWin.cpp: (WebCore::markupToCF_HTML):
- plugins/win/PluginPackageWin.cpp: (WebCore::splitString):
- plugins/win/PluginStreamWin.cpp: (WebCore::PluginStreamWin::startStream): (WebCore::PluginStreamWin::destroyStream): (WebCore::PluginStreamWin::sendJavaScriptStream): (WebCore::PluginStreamWin::didFinishLoading):
- plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::start): (WebCore::createUTF8String): (WebCore::PluginViewWin::userAgent):
- xml/XSLStyleSheet.cpp: (WebCore::XSLStyleSheet::locateStylesheetSubResource):
- xml/XSLTProcessor.cpp: (WebCore::xsltParamArrayFromParameterMap):
LayoutTests:
New test that makes sure we handle putting isindex into form data correctly.
Reviewed by Oliver.
- http/tests/misc/isindex-formdata-expected.txt: Added.
- http/tests/misc/isindex-formdata.html: Added.
- 9:53 PM Changeset in webkit [23905] by
-
- 3 edits in trunk/WebCore
Initialize two variables that MSVC /W4 isn't smart enough to realize always get initialized
Reviewed by John.
- editing/Editor.cpp:
(WebCore::Editor::advanceToNextMisspelling):
- html/HTMLParser.cpp:
- 9:53 PM Changeset in webkit [23904] by
-
- 2 edits in trunk/WebCore
Fix some possibly unitialized variables found by MSVC /W4
Reviewed by John.
- rendering/bidi.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
- 9:52 PM Changeset in webkit [23903] by
-
- 2 edits in trunk/WebCore
Remove bogus cast found by MSVC /W4
Reviewed by John and Oliver.
- ksvg2/css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
- 9:52 PM Changeset in webkit [23902] by
-
- 3 edits in trunk/WebCore
Remove unused local functions uncovered by MSVC /W4
Reviewed by John and Oliver.
- platform/win/SearchPopupMenuWin.cpp:
- rendering/RenderText.cpp:
- 9:52 PM Changeset in webkit [23901] by
-
- 5 edits in trunk/WebCore
Don't take the address of temporary values to appease MSVC /W4
Reviewed by Oliver.
No regression test possible.
- platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::invalidateItem):
(WebCore::PopupMenu::valueChanged):
(WebCore::PopupWndProc):
- platform/win/ScrollViewWin.cpp:
(WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
- platform/win/UniscribeController.cpp:
(WebCore::UniscribeController::shapeAndPlaceItem):
- platform/win/WidgetWin.cpp:
(WebCore::Widget::invalidateRect):
- 9:52 PM Changeset in webkit [23900] by
-
- 2 edits in trunk/WebCore
Make an int -> UINT conversion explicit that MSVC /W4 complains about
Reviewed by John and Oliver.
No regression test possible.
- platform/win/SoundWin.cpp:
- 9:51 PM Changeset in webkit [23899] by
-
- 8 edits in trunk/WebCore
Remove unreachable code uncovered by MSVC /W4
Reviewed by Oliver.
No regression test possible.
- html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::createPattern):
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isLiveLink):
- html/HTMLElement.cpp:
(WebCore::HTMLElement::contentEditable):
- platform/DeprecatedString.cpp:
(WebCore::allocateHandle):
(WebCore::freeHandle):
- plugins/win/npapi.cpp:
(pluginViewForInstance):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::isWidthSpecified):
(WebCore::RenderImage::isHeightSpecified):
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isControlStyled):
- 11:08 AM Changeset in webkit [23898] by
-
- 1 edit in trunk/WebCore/WebCore.vcproj/WebCore.make
Build fix.
- 9:29 AM Changeset in webkit [23897] by
-
- 10 edits in trunk
WebCore:
Reviewed by Oliver Hunt.
- WebCore support for accessing the set of rectangles that encompass the selected text
- page/Frame.h:
- page/Frame.cpp: (WebCore::Frame::selectionTextRects): new function, fills in a passed Vector with the line box rects that represent the selected range
- rendering/RenderText.cpp: (WebCore::RenderText::addLineBoxRects): fixed off-by-one bug involving use of the confusing function InlineTextBox::end()
- WebCore.exp: exported symbol for this new function
WebKit:
Reviewed by Oliver Hunt.
- WebKit support for accessing the set of rectangles that encompass the selected text
- WebView/WebDocumentPrivate.h: added -selectionTextRects to WebDocumentSelection protocol; tweaked comments
- WebView/WebHTMLView.mm: (-[WebHTMLView _selectionDraggingRect]): use selectionRect instead of selectionImageRect since they're the same and maybe we can get rid of selectionImageRect someday (-[WebHTMLView selectionTextRects]): added implementation of new protocol method, which calls through to WebCore
- WebView/WebPDFView.mm: (-[WebPDFView selectionTextRects]): added simple implementation of new protocol method, which just returns the single selection rect. PDFKit doesn't support obtaining multiple rects to describe a multi-line selection. (-[WebPDFView selectionImageForcingWhiteText:]): use selectionRect instead of selectionImageRect since they're the same and maybe we can get rid of selectionImageRect someday
- Misc/WebSearchableTextView.m: (-[WebSearchableTextView selectionTextRects]): added no-op implementation of new protocol method to this obsolete class