⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Sep 26, 2009:

8:15 PM Changeset in webkit [48796] by ddkilzer@apple.com
  • 2 edits in trunk

GTK BUILD FIX: add ENABLE_ORIENTATION_EVENTS support to configure.ac

  • configure.ac: Added support for ENABLE_ORIENTATION_EVENTS.
8:02 PM Changeset in webkit [48795] by ddkilzer@apple.com
  • 6 edits in trunk

Part 2 of 2: <http://webkit.org/b/29753> DerivedSources.make broken for non-Mac targets

Reviewed by Darin Adler.

Fix ENABLE_ORIENTATION_EVENTS for non-Mac platforms.

WebCore:

  • DerivedSources.make: Moved Platform.h check for ENABLE_ORIENTATION_EVENTS into Mac-only section and added default of ENABLE_ORIENTATION_EVENTS = 0 to non-Mac section. Added ifndef test to make it possible to override both ENABLE_DASHBOARD_SUPPORT and ENABLE_ORIENTATION_EVENTS external to the makefile. Moved addition of ENABLE_ORIENTATION_EVENTS to ADDITIONAL_IDL_DEFINES to common section.
  • GNUmakefile.am: Added support for ENABLE_ORIENTATION_EVENTS if it is ever used.
  • WebCore.pro: Ditto.

WebKit:

  • chromium/features.gypi: Added 'ENABLE_ORIENTATION_EVENTS=0' to disable this feature by default.
4:14 PM Changeset in webkit [48794] by ddkilzer@apple.com
  • 3 edits in trunk/WebKitTools
<http://webkit.org/b/29764> mark-bug-fixed: add -oopen switch

Reviewed by Eric Seidel.

The -oopen switch uses the open(1) command on Mac OS X to

open the bug URL in the default web browser. If there are
similar mechanisms on other platforms, they may be added later.

  • Scripts/mark-bug-fixed:
(MarkBugFixed.init): Added -oopen switch to list of parse

options.
(MarkBugFixed._determine_bug_id_and_svn_revision): Moved logging
code into main() and extracted prompting code into
_prompt_user_for_correctness().
(MarkBugFixed._open_bug_in_web_browser): Added.
(MarkBugFixed._prompt_user_for_correctness): Added.
(MarkBugFixed.main): Added logging code from
_determine_bug_id_and_svn_revision(). Added code to call
_open_bug_in_web_browser() if the switch is set. Added code to
call _prompt_user_for_correctness() when needed.

  • Scripts/modules/bugzilla.py: (Bugzilla.short_bug_url_for_bug_id): Added.
3:57 PM Changeset in webkit [48793] by ddkilzer@apple.com
  • 3 edits in trunk/WebKitTools

svn-unapply and svn-apply don't work when used outside multiple svn working directories

<http://webkit.org/b/29744>
<rdar://problem/7252905>

Reviewed by Eric Seidel.

Some users have a workflow where svn-create-patch, svn-apply and
svn-unapply are used outside of multiple svn working
directories. Instead of aborting the scripts in these cases,
print a warning and assume that Subversion is being used.

  • Scripts/VCSUtils.pm: (determineVCSRoot): Call warn() instead of die() if both isGit() and isSVN() initially return false. Set $VCSUtils::isSVN to 1 to enforce the assumption about Subversion, then return determineSVNRoot().
  • Scripts/svn-apply: Switch to using isGit() and isSVN() from VCSUtils.pm. They both already cache their values and checking here is redundant since determineVCSRoot() is called later.
11:56 AM Changeset in webkit [48792] by eric@webkit.org
  • 18 edits in trunk/WebCore

2009-09-26 Kent Tamura <tkent@chromium.org>

Reviewed by David Kilzer.

Move placeholder-related code to HTMLTextFormControlElement from
HTMLInputElement, WMLInputElement, InputElement, and
HTMLTextAreaElement.
https://bugs.webkit.org/show_bug.cgi?id=28703

  • dom/InputElement.cpp: (WebCore::InputElement::dispatchFocusEvent): (WebCore::InputElement::dispatchBlurEvent): (WebCore::InputElement::setValueFromRenderer):
  • dom/InputElement.h:
  • html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement): (WebCore::HTMLTextFormControlElement::~HTMLTextFormControlElement): (WebCore::HTMLTextFormControlElement::dispatchFocusEvent): (WebCore::HTMLTextFormControlElement::dispatchBlurEvent): (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible): (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
  • html/HTMLFormControlElement.h: (WebCore::HTMLTextFormControlElement::handleFocusEvent): (WebCore::HTMLTextFormControlElement::handleBlurEvent):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::HTMLInputElement): (WebCore::HTMLInputElement::handleFocusEvent): (WebCore::HTMLInputElement::handleBlurEvent): (WebCore::HTMLInputElement::parseMappedAttribute): (WebCore::HTMLInputElement::createRenderer): (WebCore::HTMLInputElement::setValue): (WebCore::HTMLInputElement::setValueFromRenderer):
  • html/HTMLInputElement.h: (WebCore::HTMLInputElement::supportsPlaceholder): (WebCore::HTMLInputElement::isEmptyValue):
  • html/HTMLIsIndexElement.cpp: (WebCore::HTMLIsIndexElement::parseMappedAttribute):
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): (WebCore::HTMLTextAreaElement::createRenderer):
  • html/HTMLTextAreaElement.h: (WebCore::HTMLTextAreaElement::supportsPlaceholder): (WebCore::HTMLTextAreaElement::isEmptyValue):
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl):
  • rendering/RenderTextControl.h:
  • rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
  • rendering/RenderTextControlMultiLine.h:
  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::updateFromElement):
  • rendering/RenderTextControlSingleLine.h:
  • wml/WMLInputElement.cpp: (WebCore::WMLInputElement::setValue): (WebCore::WMLInputElement::createRenderer):
  • wml/WMLInputElement.h:
10:51 AM Changeset in webkit [48791] by eric@webkit.org
  • 3 edits
    1 add in trunk/WebKitTools

2009-09-26 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Gustavo Noronha.

[Layout tests] [Gtk] Gtk DumpRenderTree should use WebKit test fonts
https://bugs.webkit.org/show_bug.cgi?id=29689

Load test fonts through FontConfig before each test.
This ensures a more proper rendering of the tests.

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (initializeFonts): (runTest): (main):
  • DumpRenderTree/gtk/fonts.conf: Copied from WebKitTools/DumpRenderTree/qt/fonts.conf.
  • GNUmakefile.am:
8:00 AM Changeset in webkit [48790] by eric@webkit.org
  • 2 edits in trunk/WebCore

2009-09-26 Shu Chang <Chang.Shu@nokia.com>

Reviewed by Alexey Proskuryakov.

Optimize the code so only the text from start to end is scanned.
https://bugs.webkit.org/show_bug.cgi?id=29092

On a platform with webkit+Qt+Symbian, the parsing time for a 600K text
file improved from 400ms to 40ms (10x faster).

  • dom/Text.cpp: (WebCore::Text::createWithLengthLimit):
6:12 AM Changeset in webkit [48789] by eric@webkit.org
  • 2 edits
    2 adds in trunk/WebCore

2009-09-26 Xiaomei Ji <xji@chromium.org>

Reviewed by Eric Seidel.

This Patch fixes [chromium] the drop-down is always left-aligned even
for RTL element.
https://bugs.webkit.org/show_bug.cgi?id=29612

For auto-complete, the items in drop-down should be right-aligned if
the directionality of <input> field is RTL.
For <select><option>, the items in drop-down should be right-aligned
if the directionality of <select> is RTL.

No automatic test is possible. Manual tests are added.

  • manual-tests/autofill_alignment.html: Added.
  • manual-tests/select_alignment.html: Added.
  • platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupListBox::paintRow): Adjust the starting x-axis of text to be paint if it should be right-aligned.
5:47 AM Changeset in webkit [48788] by Simon Hausmann
  • 3 edits
    1 add in trunk/JavaScriptCore

Add MarkStackSymbian.cpp to build JavascriptCore for Symbian.

Patch by Yongjun Zhang <yongjun.zhang@nokia.com> on 2009-09-26
Reviewed by Simon Hausmann.

Re-use Windows shrinkAllocation implementation because Symbian doesn't
support releasing part of memory region.

Use fastMalloc and fastFree to implement allocateStack and releaseStack
for Symbian port.

(JSC::MarkStack::MarkStackArray::shrinkAllocation):

  • runtime/MarkStackSymbian.cpp: Added.

(JSC::MarkStack::initializePagesize):
(JSC::MarkStack::allocateStack):
(JSC::MarkStack::releaseStack):

Sep 25, 2009:

11:43 PM Changeset in webkit [48787] by mitz@apple.com
  • 2 edits in trunk/WebCore

REGRESSION (r48775) FontList.plist written by TOT WebKit causes Safari 4
to crash on launch
https://bugs.webkit.org/show_bug.cgi?id=29759

Reviewed by Sam Weinig.

  • platform/graphics/win/FontDatabase.cpp:

(WebCore::writeFontDatabaseToPlist): Reverted to saving the CG font DB
property list at the root of FontList.plist, but with an additional
key for the last value of the Fonts registry key.
(WebCore::populateFontDatabase): Pass the FontList.plist in its entirety
to populatFontDatabaseFromPlist.

11:41 PM Changeset in webkit [48786] by kevino@webkit.org
  • 2 edits in trunk/WebKit/wx

wx build fix. Add EmptyPluginHalterClient when creating Page.

11:31 PM Changeset in webkit [48785] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Build fix. Adding missing header files.

9:32 PM Changeset in webkit [48784] by ddkilzer@apple.com
  • 2 edits in trunk/WebCore

Part 1 of 2: <http://webkit.org/b/29753> DerivedSources.make broken for non-Mac targets

Reviewed by Darin Adler.

  • DerivedSources.make: Move tests for ENABLE_CONTEXT_MENUS, ENABLE_DRAG_SUPPORT and ENABLE_INSPECTOR into Mac-only section.
7:35 PM Changeset in webkit [48783] by eric@webkit.org
  • 3 edits
    3 adds in trunk

2009-09-25 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Load blocks during unload should not affect targeted loads
https://bugs.webkit.org/show_bug.cgi?id=29747

Test that we can follow targeted hyperlinks in an unload handler.

  • fast/loader/resources/unload-hyperlink-targeted-subframe.html: Added.
  • fast/loader/unload-hyperlink-targeted-expected.txt: Added.
  • fast/loader/unload-hyperlink-targeted.html: Added.

2009-09-25 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Load blocks during unload should not affect targeted loads
https://bugs.webkit.org/show_bug.cgi?id=29747

Move the check of the unload state after checking for targeted links.

Test: fast/loader/unload-hyperlink-targeted.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadURL):
7:27 PM Changeset in webkit [48782] by eric@webkit.org
  • 7 edits in trunk/JavaScriptCore

2009-09-25 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Gavin Barraclough.

Fix unaligned data access in YARR_JIT on ARMv5 and below.
https://bugs.webkit.org/show_bug.cgi?id=29695

On ARMv5 and below all data access should be naturally aligned.
In the YARR_JIT there is a case when character pairs are
loaded from the input string, but this data access is not
naturally aligned. This fix introduces load32WithUnalignedHalfWords
and branch32WithUnalignedHalfWords functions which contain
naturally aligned memory loads - half word loads - on ARMv5 and below.

  • assembler/MacroAssemblerARM.cpp: (JSC::MacroAssemblerARM::load32WithUnalignedHalfWords):
  • assembler/MacroAssemblerARM.h: (JSC::MacroAssemblerARM::load32WithUnalignedHalfWords): (JSC::MacroAssemblerARM::branch32WithUnalignedHalfWords):
  • assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::load32WithUnalignedHalfWords): (JSC::MacroAssemblerARMv7::branch32): (JSC::MacroAssemblerARMv7::branch32WithUnalignedHalfWords):
  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::load32WithUnalignedHalfWords): (JSC::MacroAssemblerX86Common::branch32WithUnalignedHalfWords):
  • wtf/Platform.h:
  • yarr/RegexJIT.cpp: (JSC::Yarr::RegexGenerator::generatePatternCharacterPair):
7:13 PM Changeset in webkit [48781] by eric@webkit.org
  • 13 edits
    5 copies
    5 adds in trunk

2009-09-25 Kenneth Russell <kbr@google.com>

Reviewed by Dimitri Glazkov.

[Chromium] Add initial V8 bindings for WebGL
https://bugs.webkit.org/show_bug.cgi?id=29664

  • WebCore.gypi:
  • bindings/scripts/CodeGeneratorV8.pm:
  • bindings/v8/DOMObjectsInclude.h:
  • bindings/v8/DerivedSourcesAllInOne.cpp:
  • bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::getTemplate):
  • bindings/v8/V8Index.cpp:
  • bindings/v8/V8Index.h:
  • bindings/v8/custom/V8CanvasArrayBufferCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL):
  • bindings/v8/custom/V8CanvasArrayCustom.h: Added. (WebCore::constructCanvasArray):
  • bindings/v8/custom/V8CanvasByteArrayCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::INDEXED_PROPERTY_GETTER): (WebCore::INDEXED_PROPERTY_SETTER):
  • bindings/v8/custom/V8CanvasFloatArrayCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::INDEXED_PROPERTY_GETTER): (WebCore::INDEXED_PROPERTY_SETTER):
  • bindings/v8/custom/V8CanvasIntArrayCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::INDEXED_PROPERTY_GETTER): (WebCore::INDEXED_PROPERTY_SETTER):
  • bindings/v8/custom/V8CanvasRenderingContext3DCustom.cpp: Added. (WebCore::jsArrayToFloatArray): (WebCore::jsArrayToIntArray): (WebCore::CALLBACK_FUNC_DECL): (WebCore::): (WebCore::vertexAttribAndUniformHelperf): (WebCore::uniformHelperi): (WebCore::uniformMatrixHelper):
  • bindings/v8/custom/V8CanvasShortArrayCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::INDEXED_PROPERTY_GETTER): (WebCore::INDEXED_PROPERTY_SETTER):
  • bindings/v8/custom/V8CanvasUnsignedByteArrayCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::INDEXED_PROPERTY_GETTER): (WebCore::INDEXED_PROPERTY_SETTER):
  • bindings/v8/custom/V8CanvasUnsignedIntArrayCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::INDEXED_PROPERTY_GETTER): (WebCore::INDEXED_PROPERTY_SETTER):
  • bindings/v8/custom/V8CanvasUnsignedShortArrayCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::INDEXED_PROPERTY_GETTER): (WebCore::INDEXED_PROPERTY_SETTER):
  • bindings/v8/custom/V8CustomBinding.h:
  • bindings/v8/custom/V8DocumentCustom.cpp: (WebCore::CALLBACK_FUNC_DECL):
  • bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: (WebCore::CALLBACK_FUNC_DECL):
  • platform/graphics/GraphicsContext3D.h:
6:45 PM Changeset in webkit [48780] by jorlow@chromium.org
  • 4 edits in trunk

JavaScriptCore: This is breaking Chromium try bots, so I'm counting this as a build fix.

Patch by Jeremy Orlow <jorlow@chromium.org> on 2009-09-25
Add more svn:ignore exceptions. On different platforms, these files are
generated with different case for JavaScriptCore. Also there are some
wtf project files that get built apparently.

WebCore: This is breaking Chromium try bots, so I'm counting this as a build fix.

Patch by Jeremy Orlow <jorlow@chromium.org> on 2009-09-25
Add more svn:ignore exceptions. On different platforms, these files are
generated with different case for WebCore.

  • WebCore.gyp: Changed property svn:ignore.
5:57 PM Changeset in webkit [48779] by adachan@apple.com
  • 3 edits in trunk/JavaScriptCore

Build fix.

5:21 PM Changeset in webkit [48778] by ap@apple.com
  • 30 edits
    10 deletes in trunk

Reverting r48767, as it broke Windows build in a non-trivial way.

4:18 PM Changeset in webkit [48777] by agl@chromium.org
  • 2 edits in trunk/WebCore

2009-09-24 Tony Chang <tony@chromium.org>

Reviewed by David Levin.

Add a gyp variable to allow building a debug webcore without debug
symbols. This allows for faster compile, link, and gdb times.

https://bugs.webkit.org/show_bug.cgi?id=29721

No new tests, build config change.

  • WebCore.gyp/WebCore.gyp:
4:11 PM Changeset in webkit [48776] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-09-25 Darin Fisher <darin@chromium.org>

Reviewed by Dimitri Glazkov.

Declare RegisteredEventListener as a class instead of a struct.
This fixes a warning in the Chromium build.

  • dom/RegisteredEventListener.h:
4:07 PM Changeset in webkit [48775] by mitz@apple.com
  • 6 edits in trunk

WebCore: WebCore part of
<rdar://problem/7211635> 2 byte characters are displayed as garbaged
<rdar://problem/7212626> garbled/gibberish text (off-by-one)

Reviewed by Jon Honeycutt.

When the Windows Fonts directory contains more than one font file for a
given font name, which of the fonts gets assigned to the name in the
Core Graphics font database was determined arbitrarily and did not
always match the font GDI used for the same font name. The mismatch
caused character-to-glyph mapping to use one font and glyph rendering to
use another.

The fix is to update the Core Graphics font database from the registry
entries (that reflect the name-to-font mapping that GDI uses) after
populating it with the result of scanning the Fonts directory. As a
consequence, the directory needs to be scanned at startup every time the
registry key changes, so the last value of the registry key is kept
in the property list on disk so that it could be compared to the current
value on startup.

  • platform/graphics/win/FontDatabase.cpp:

(WebCore::populateFontDatabaseFromPlist): Now takes a property list as
a parameter and avoids round-tripping through XML by calling
wkAddFontsFromPlist() instead of wkAddFontsFromPlistRepresentation().
(WebCore::fontFilenamesFromRegistryKey):
(WebCore::cgFontDBKey):
(WebCore::writeFontDatabaseToPlist): Now takes the CG font DB property
list and a property list with the font filenames from the registry and
writes a dictionary with those property lists as values.
(WebCore::fontFilenamesFromRegistry): Added. Returns an array with the
values in the HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
registry key.
(WebCore::populateFontDatabase): Changed to read the contents of the
Fonts registry key and compare it with the last-saved value from the
property list, and to call wkAddFontsFromRegistry() after populating the
CG font DB from the file system. Uses wkCreateFontsPlist() instead of
wkCreateFontsPlistRepresentation() to avoid round-tripping through XML.

WebKitLibraries: WebKitSystemInterface changes for
<rdar://problem/7211635> 2 byte characters are displayed as garbaged
<rdar://problem/7212626> garbled/gibberish text (off-by-one)

Reviewed by Adam Roben.

  • win/include/WebKitSystemInterface/WebKitSystemInterface.h: Added

wkAddFontsFromPlistRepresentation() and replaced
wkCreateFontsPlistRepresentation() with wkCreateFontsPlist() and
wkAddFontsFromPlistRepresentation() with wkAddFontsFromPlist().

  • win/lib/WebKitSystemInterface.lib:
  • win/lib/WebKitSystemInterface_debug.lib:
3:26 PM Changeset in webkit [48774] by ggaren@apple.com
  • 18 edits in trunk

JavaScriptCore: Inlined some object creation code, including lexicalGlobalObject access
https://bugs.webkit.org/show_bug.cgi?id=29750

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-25
Reviewed by Darin Adler.

SunSpider says 0.5% faster.

0.8% speedup on bench-alloc-nonretained.js.
2.5% speedup on v8-splay.js.

  • interpreter/CachedCall.h:

(JSC::CachedCall::CachedCall):

  • interpreter/CallFrame.h:

(JSC::ExecState::lexicalGlobalObject):
(JSC::ExecState::globalThisValue):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::dumpRegisters):
(JSC::Interpreter::execute):
(JSC::Interpreter::privateExecute):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunction):

  • runtime/ScopeChain.cpp:

(JSC::ScopeChainNode::print):

  • runtime/ScopeChain.h:

(JSC::ScopeChainNode::ScopeChainNode):
(JSC::ScopeChainNode::~ScopeChainNode):
(JSC::ScopeChainNode::push):
(JSC::ScopeChain::ScopeChain):
(JSC::ScopeChain::globalObject): Added a globalObject data member to ScopeChainNode.
Replaced accessor function for globalObject() with data member. Replaced
globalThisObject() accessor with direct access to globalThis, to match.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObject.h: Inlined array and object construction.

WebCore: Inlined some object creation code, including lexicalGlobalObject access
https://bugs.webkit.org/show_bug.cgi?id=29750

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-25
Reviewed by Darin Adler.

  • bindings/js/JSInspectorBackendCustom.cpp:

(WebCore::JSInspectorBackend::currentCallFrame):

  • inspector/JavaScriptDebugServer.cpp:

(WebCore::JavaScriptDebugServer::hasBreakpoint): Updated for JavaScriptCore
API changes.

3:24 PM Changeset in webkit [48773] by hyatt@apple.com
  • 5 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=24399
Make @import work in user stylesheets. The first bug was that the URL wasn't being set on the
user sheets themselves, so relative @import URLs couldn't resolve properly. The second bug
was that the loads would be denied. This is fixed by using the requestUserCSSStyleSheet method
instead of the normal request method. In order to know when to do this, CSSStyleSheets now have
a propagated boolean, m_isUserStyleSheet, that lets them know if they are user stylesheets or not.

Reviewed by Anders Carlsson.

  • css/CSSImportRule.cpp:

(WebCore::CSSImportRule::insertedIntoParent):

  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::CSSStyleSheet):

  • css/CSSStyleSheet.h:

(WebCore::CSSStyleSheet::setIsUserStyleSheet):
(WebCore::CSSStyleSheet::isUserStyleSheet):

  • dom/Document.cpp:

(WebCore::Document::pageUserSheet):
(WebCore::Document::pageGroupUserSheets):

3:02 PM Changeset in webkit [48772] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitTools
<http://webkit.org/b/29718> mark-bug-fixed: add -uupdate-only switch

Reviewed by Eric Seidel.

  • Scripts/mark-bug-fixed:
(MarkBugFixed.init): Added -uupdate-only switch to list

of parse options.

(MarkBugFixed.main): When -uupdate-only is specified, add a

comment to the bug without marking it Resolved/Fixed.

3:01 PM Changeset in webkit [48771] by Simon Fraser
  • 3 edits
    4 adds in trunk

2009-09-25 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler.

Crash with hardware accelerated rotation of a PDF image in a data URL
<rdar://problem/7250378>

PDF images don't return a color space from CGImageGetColorSpace(),
so we need to null-check the return value before use.

Test: compositing/color-matching/pdf-image-match.html

  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::setContentsToImage):
2:40 PM Changeset in webkit [48770] by Darin Adler
  • 2 edits in trunk/WebKit/win

Speed up access to history items by caching date computation.

Patch by Darin Adler <Darin Adler> on 2009-09-25
Reviewed by Steve Falkenburg.

  • History/WebHistory.mm:

(getDayBoundaries): Refactored from timeIntervalForBeginningOfDay.
Returns the beginning of the day that the passed time is within and
the beginning of the next day.
(beginningOfDay): Added. Uses getDayBoundaries so it can be fast for
multiple dates within the same day, which is the common case.
(dateKey): Added. Calls beginningOfDay and converts to an integer.
(WebHistory::findKey): Changed to call dateKey instead of
timeIntervalForBeginningOfDay.

2:08 PM Changeset in webkit [48769] by Darin Adler
  • 8 edits
    1 copy
    5 adds in trunk

Null-deref when first access to an Attr node is after its Element is destroyed
https://bugs.webkit.org/show_bug.cgi?id=29748

Patch by Darin Adler <Darin Adler> on 2009-09-25
Reviewed by Geoffrey Garen.

WebCore:

Test: fast/dom/Attr/access-after-element-destruction.html

  • bindings/js/JSAttrCustom.cpp:

(WebCore::JSAttr::markChildren): Added. Keeps the ownerElement alive as
long as the Attr is alive.

  • bindings/js/JSNamedNodeMapCustom.cpp:

(WebCore::JSNamedNodeMap::markChildren): Added. Keeps the Element alive as
long as the NamedNodeMap is alive.

  • dom/Attr.idl: Added CustomMarkFunction attribute.
  • dom/NamedAttrMap.cpp:

(WebCore::NamedNodeMap::getAttributeItem): Tweaked formatting.
(WebCore::NamedNodeMap::detachFromElement): Call clearAttributes so we don't
have attributes hanging around that might need an Attr node created; that way
we won't crash with a null-dereference trying to deal with one of them. This
can't happen when working with JavaScript since the Element will be kept
alive due to the change above.
(WebCore::NamedNodeMap::addAttribute): Fix function name in comment.
(WebCore::NamedNodeMap::removeAttribute): Removed unneeded "+ 1" and added
missing braces.

  • dom/NamedAttrMap.h: Made the element function public so it can be used by

the JavaScript binding to keep the Element alive.

  • dom/NamedNodeMap.idl: Added CustomMarkFunction attribute.

LayoutTests:

  • fast/dom/Attr/access-after-element-destruction-expected.txt: Added.
  • fast/dom/Attr/access-after-element-destruction.html: Added.
  • fast/dom/Attr/script-tests/TEMPLATE.html: Copied from LayoutTests/fast/dom/Node/script-tests/TEMPLATE.html.
  • fast/dom/Attr/script-tests/access-after-element-destruction.js: Added.
2:07 PM Changeset in webkit [48768] by Darin Adler
  • 2 edits in trunk/WebKitTools
  • Scripts/prepare-ChangeLog: Leave files from the script-tests directory

out, just as we do for the resources directory.

Reviewed by Geoffrey Garen.

1:44 PM Changeset in webkit [48767] by ap@apple.com
  • 30 edits
    10 adds in trunk

Reviewed by Darin Adler and Sam Weinig.

Onclick not fired for an element copied with cloneContents() or cloneNode()
https://bugs.webkit.org/show_bug.cgi?id=25130

The change here is that JS event listeners don't keep a reference to a global object from
where they were created, and instead take it as a parameter when parsing source code. Also,
the listener creation won't fail just because it happens for an element in a frameless
document.
Thus, moving nodes between documents no longer results in having incorrect registered
lazy event listeners on them.

Tests: fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html

fast/events/attribute-listener-cloned-from-frameless-doc-context.html
fast/events/attribute-listener-cloned-from-frameless-doc.xhtml
fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html
fast/events/attribute-listener-extracted-from-frameless-doc-context.html

  • bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): Don't take a reference to JSDOMGlobalObject. (WebCore::JSEventListener::jsFunction): Take ScriptExecutionContext as a parameter for getting to JSDOMGlobalObject. It's not used in base class, but is in JSLazyEventListner. (WebCore::JSEventListener::markJSFunction): Don't mark the global object. (WebCore::JSEventListener::handleEvent): Get global object from ScriptExecutionContext. (WebCore::JSEventListener::reportError): Ditto.
  • bindings/js/JSEventListener.h: (WebCore::JSEventListener::create): Don't keep a reference to JSDOMGlobalObject.
  • bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): Listener creation was split between this function and ScriptEventListener; moved it here, as JS global object can be different now.
  • bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create): Keep source URL, which can not be determined at parsing time.
  • bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Moved code for listener creation to JSLazyEventListener. XSSAuditor code remains here, because tests expect that errors are logged at document parsing time, and because I don't know what other side effects moving it vould have.
  • dom/EventListener.h: handleEvent() and reportError() now take ScriptExecutionContext, because JSC needs a global context here.
  • bindings/js/JSAbstractWorkerCustom.cpp: (WebCore::JSAbstractWorker::addEventListener): (WebCore::JSAbstractWorker::removeEventListener):
  • bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::addEventListener): (WebCore::JSDOMApplicationCache::removeEventListener):
  • bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::addEventListener): (WebCore::JSDOMWindow::removeEventListener):
  • bindings/js/JSEventSourceCustom.cpp: (WebCore::JSEventSource::addEventListener): (WebCore::JSEventSource::removeEventListener):
  • bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::addEventListener): (WebCore::JSMessagePort::removeEventListener):
  • bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::addEventListener): (WebCore::JSNode::removeEventListener):
  • bindings/js/JSSVGElementInstanceCustom.cpp: (WebCore::JSSVGElementInstance::addEventListener): (WebCore::JSSVGElementInstance::removeEventListener):
  • bindings/js/JSWorkerContextCustom.cpp: (WebCore::JSWorkerContext::addEventListener): (WebCore::JSWorkerContext::removeEventListener):
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::addEventListener): (WebCore::JSXMLHttpRequest::removeEventListener):
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::addEventListener): (WebCore::JSXMLHttpRequestUpload::removeEventListener):
  • bindings/objc/ObjCEventListener.h:
  • bindings/objc/ObjCEventListener.mm: (WebCore::ObjCEventListener::handleEvent):
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/EventTarget.cpp: (WebCore::EventTarget::fireEventListeners):
  • inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::handleEvent):
  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMStorageResource.cpp: (WebCore::InspectorDOMStorageResource::handleEvent):
  • inspector/InspectorDOMStorageResource.h:
  • loader/ImageDocument.cpp: (WebCore::ImageEventListener::handleEvent):
  • svg/animation/SVGSMILElement.cpp: (WebCore::ConditionEventListener::handleEvent):
  • workers/WorkerContext.cpp: (WebCore::WorkerContext::reportException): Don't pass global object to JSEventListener::create(), which no longer needs it. Note that some of these functions still have an early return for null global object, which can probably be removed in a later patch. Pass ScriptExecutionContext to EventListener methods that now need it.
1:24 PM Changeset in webkit [48766] by Darin Adler
  • 1 edit
    1 add in trunk/LayoutTests

Checked in a file that was created by make-script-test-wrappers.

Patch by Darin Adler <Darin Adler> on 2009-09-25

  • platform/gtk/editing/pasteboard/middle-click-onpaste.html: Added.
1:00 PM Changeset in webkit [48765] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2009-09-25 Adam Barth <abarth@webkit.org>

Unreviewed. Added Tony to committers.py because he's a
committer now.

  • Scripts/modules/committers.py:
11:55 AM Changeset in webkit [48764] by adele@apple.com
  • 5 edits
    2 adds in trunk

WebCore: Fix for https://bugs.webkit.org/show_bug.cgi?id=29740
<rdar://problem/7168738> Gmail: After changing a foreground text color, pressing return doesn't apply background to new line

Patch by Enrica Casucci <enrica@apple.com> on 2009-09-25
Reviewed by Darin Adler, Dan Bernstein, Adele Peterson, and others.

Change the way style is preserved when inserting a new paragraph.
The original code handled insertion at the beginning and at the end of a paragraph as special
cases. The newly created paragraph contained a set of nodes generated starting from the
computed style of the insertion node. This approach has two problems:

  1. if the insertion node has a non opaque background color and one of the parent element did have

a solid background color the new paragraph did not have the element with the solid color in the tree.

  1. in some circumstances it generated more markup than the original paragraph had (a span with bold, italic,

background color and some font attribute was being reproduced as span + bold + italic + font as separate tags.
The new approach is to recreate in the new paragraph the same hierarchy of nodes found in the
paragraph where the insertion point is.

Test: editing/inserting/insert-bg-font.html

  • editing/InsertParagraphSeparatorCommand.cpp:

(WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock): retrieves the list of all the ancestors
between the insert node and the outer block.
(WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock): uses the list of ancestors to recreate
in the new paragraph the same element hierarchy present in the starting paragraph.
(WebCore::InsertParagraphSeparatorCommand::doApply): changed the code to handle the general case of insertion
in the middle of the paragraph to use the new methods. Changed the handling of the insertion at the beginning and
at the end of the paragraph to use the new methods instead of applying the calculated style.

  • editing/InsertParagraphSeparatorCommand.h: added methods getAncestorsInsideBlock and cloneHierarchyUnderNewBlock.

LayoutTests: Updated the expected results to reflect the changes in the way the new paragraph
is created and added test case for https://bugs.webkit.org/show_bug.cgi?id=29740
<rdar://problem/7168738> Gmail: After changing a foreground text color, pressing return doesn't apply background to new line

Patch by Enrica Casucci <enrica@apple.com> on 2009-09-25
Reviewed by Darin Adler, Dan Bernstein, Adele Peterson, and others.

  • editing/inserting/insert-bg-font.html: Added.
  • platform/mac/editing/inserting/insert-bg-font-expected.txt: Added.
  • platform/mac/editing/pasteboard/5478250-expected.txt:
11:36 AM Changeset in webkit [48763] by eric@webkit.org
  • 4 edits in trunk/WebCore

2009-09-25 Patrick Mueller <Patrick_Mueller@us.ibm.com>

Reviewed by Timothy Hatcher.

Content-type parameters not taken into account when building form-data
https://bugs.webkit.org/show_bug.cgi?id=28970

existing manual test case extended with new tests

  • English.lproj/localizedStrings.js:
  • inspector/front-end/ResourceView.js: (WebInspector.ResourceView.prototype._refreshFormData): (WebInspector.ResourceView.prototype._refreshParms):
  • manual-tests/inspector/display-form-data.html:
11:27 AM Changeset in webkit [48762] by eric@webkit.org
  • 5 edits in trunk/WebKitTools

2009-09-25 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

commit-queue should auto-retry patches which fail to commit due to out of date files
https://bugs.webkit.org/show_bug.cgi?id=28316

  • Scripts/bugzilla-tool:
    • Handle new CheckoutNeedsUpdate exception.
  • Scripts/modules/logging_unittest.py:
    • Call the ScriptError constructor correctly (this test had regressed).
  • Scripts/modules/scm.py:
    • Added the ability to define custom error handlers for run_command and added a commit_error_handler which throws CheckoutNeedsUpdate instead of ScriptError.
    • Re-ordered ScriptError constructor arguments to make ScriptError("message text") usage possible.
  • Scripts/modules/scm_unittest.py:
    • Added tests of new error handlers.
10:53 AM Changeset in webkit [48761] by eric@webkit.org
  • 6 edits
    4 adds in trunk

2009-09-25 Yuan Song <song.yuan@ericsson.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=14566

Add test "invalid-domain-change-throws-exception.html" to ensure a SECURITY_ERR exception is raised if an attempt is made to change document.domain to an invalid value. In the existing test case "basic-textareas.html", fix the faulty behavior of setting document.domain to invalid value, and replace the data URL to a file URL that points to "basic-textareas-standards.html" in order to make "basic-textareas.html" runnable in a browser.

  • fast/forms/basic-textareas.html:
  • fast/forms/resources/basic-textareas-standards.html: Added.
  • fast/js/invalid-domain-change-throws-exception-expected.txt: Added.
  • fast/js/invalid-domain-change-throws-exception.html: Added.
  • fast/js/resources/invalid-domain-change-throws-exception.js: Added.

2009-09-25 Yuan Song <song.yuan@ericsson.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=14566

Raise SECURITY_ERR exception if an attempt is made to change document.domain to an invalid value.

Test: fast/js/invalid-domain-change-throws-exception.html

  • dom/Document.cpp: (WebCore::Document::setDomain):
  • dom/Document.h:
  • dom/Document.idl:
10:40 AM Changeset in webkit [48760] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2009-09-25 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

commit-queue should give better feedback when failing a patch
https://bugs.webkit.org/show_bug.cgi?id=29316

  • Scripts/bugzilla-tool:
    • Update ScriptError uses to the new constructor format.
    • Move CommitQueue._run_command to WebKitLandingScripts.run_command_with_teed_output so that we can print to both stdout as well as an output buffer for error reporting.
    • Update run_and_throw_if_fail to use teed output so that it can report the "output" as part of ScriptError.
    • Use e.message_with_output() when failing a patch (this is the real fix here). I also removed use of "This patch will require manual commit." as that's not always true.
    • Add missing word "bug" from log message.
  • Scripts/modules/scm.py:
    • Make ScriptError save a bunch more data so that error messages can be nicer.
    • Update ScriptError callers.
10:31 AM BuildingOnWindows edited by dbates@webkit.org
Changed title of subsection to reflect fix for linker problems (diff)
9:36 AM Changeset in webkit [48759] by eric@webkit.org
  • 3 edits
    2 adds in trunk

2009-09-25 Adam Barth <abarth@webkit.org>

Reviewed by Dimitri Glazkov.

[V8] Teach ScheduledAction::execute about isolated worlds
https://bugs.webkit.org/show_bug.cgi?id=27703

Test a strange error condition after clearing a setInterval
timer. The key point is not to crash on this test.

  • fast/dom/timer-clear-interval-in-handler-and-generate-error-expected.txt: Added.
  • fast/dom/timer-clear-interval-in-handler-and-generate-error.html: Added.

2009-09-25 Adam Barth <abarth@webkit.org>

Reviewed by Dimitri Glazkov.

[V8] Teach ScheduledAction::execute about isolated worlds
https://bugs.webkit.org/show_bug.cgi?id=27703

When setTimeout is called with a string argument in an isolated
world, we now compile the string in the isolated world.

Last time we tried this change, we got a lot of crashes. This
time we're using a fresh local handle as our context to avoid
trouble if the peristent handle gets disposed before we leave
the context.

Test: fast/dom/timer-clear-interval-in-handler-and-generate-error.html

  • bindings/v8/ScheduledAction.cpp: (WebCore::ScheduledAction::execute):
9:30 AM Changeset in webkit [48758] by eric@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-09-25 Csaba Osztrogonac <oszi@inf.u-szeged.hu>

Reviewed by Simon Hausmann.

[Qt] Make tst_qwebframe work if Qt built without SSL support
https://bugs.webkit.org/show_bug.cgi?id=29735

  • tests/qwebframe/tst_qwebframe.cpp: Missing #ifndef blocks added.
9:23 AM Changeset in webkit [48757] by eric@webkit.org
  • 2 edits in trunk/WebCore

2009-09-25 Paul Godavari <paul@chromium.org>

Reviewed by Darin Fisher.

Fix a regression in Mac Chromium popup menus, where the user's
selection was ignored and the popup became unresponsive.
https://bugs.webkit.org/show_bug.cgi?id=29726

The fix is to notify the popup's client that the popup was hidden,
even if the popup has no parent.

  • platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupListBox::hidePopup):
9:10 AM Changeset in webkit [48756] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-09-25 Laszlo Gombos <Laszlo Gombos>

Reviewed by Gavin Barraclough.

Add ARM version detection rules for Symbian
https://bugs.webkit.org/show_bug.cgi?id=29715

  • wtf/Platform.h:
8:47 AM Changeset in webkit [48755] by pfeldman@chromium.org
  • 5 edits in trunk/WebCore

2009-09-25 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Dan Bernstein.

Enable Pasteboard::writePlainText for Chromium and fix code style nits.
https://bugs.webkit.org/show_bug.cgi?id=29734

  • platform/chromium/PasteboardChromium.cpp: (WebCore::Pasteboard::writePlainText):
  • platform/gtk/PasteboardGtk.cpp: (WebCore::Pasteboard::writePlainText): (WebCore::Pasteboard::writeURL):
  • platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::writeSelection): (WebCore::Pasteboard::writePlainText): (WebCore::Pasteboard::writeURL):
  • platform/qt/PasteboardQt.cpp: (WebCore::Pasteboard::writePlainText):
8:32 AM Changeset in webkit [48754] by Adam Roben
  • 4 edits in trunk/WebKit/win

Add SPI to invalidate a WebView's backing store

This is useful in conjunction with
IWebUIDelegatePrivate2::drawBackground. This provides a way for the UI
delegate to force WebView to get its background redrawn.

Fixes <http://webkit.org/b/29737> Need SPI to invalidate a WebView's
backing store

Reviewed by Anders Carlsson.

  • Interfaces/IWebViewPrivate.idl: Added invalidateBackingStore.
  • WebView.cpp:

(WebView::invalidateBackingStore): If rect is 0, invalidate our whole
client rect. Otherwise invalidate the intersection of rect with our
client rect.

  • WebView.h:
7:01 AM Changeset in webkit [48753] by kov@webkit.org
  • 4 edits in trunk/WebKit/gtk

2009-09-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

Pop down the context menu when the page transitions to committed,
to avoid keeping a context menu out of context.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
  • webkit/webkitprivate.h:
  • webkit/webkitwebview.cpp: (destroy_menu_cb): (webkit_web_view_forward_context_menu_event):
1:54 AM Changeset in webkit [48752] by Simon Hausmann
  • 2 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=28876
[Qt] reduce peak memory consumption of text decoding.

Patch by Yongjun Zhang <yongjun.zhang@nokia.com> on 2009-09-25
Reviewed by Ariya Hidayat.

Chop large input buffer into small buffers to reduce peak memory
during decoding.

  • platform/text/qt/TextCodecQt.cpp:

(WebCore::TextCodecQt::decode):

1:53 AM Changeset in webkit [48751] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

[Qt] Update QWebElement API to remove script related methods.
QWebElement::evaluateScript is the only one kept, these are
removed to postpone most of the QtWebKit<->JavaScript API design
after 4.6.
https://bugs.webkit.org/show_bug.cgi?id=29708

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2009-09-24
Reviewed by Simon Hausmann.

  • Api/qwebelement.cpp:
  • Api/qwebelement.h:

Methods removed:

  • QWebElement::callFunction
  • QWebElement::functions
  • QWebElement::scriptableProperty
  • QWebElement::setScriptableProperty
  • QWebElement::scriptableProperties
  • tests/qwebelement/tst_qwebelement.cpp:

(tst_QWebElement::evaluateScript):

1:19 AM Changeset in webkit [48750] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

[Qt] Rename QWebElement::evaluateScript
to QWebElement::evaluateJavaScript.
https://bugs.webkit.org/show_bug.cgi?id=29709

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2009-09-25
Reviewed by Simon Hausmann.

  • Api/qwebelement.cpp:

(QWebElement::evaluateJavaScript):

  • Api/qwebelement.h:
  • tests/qwebelement/tst_qwebelement.cpp:

(tst_QWebElement::evaluateJavaScript):

1:18 AM Changeset in webkit [48749] by Simon Hausmann
  • 5 edits in trunk/WebKit/qt

[Qt] Update the stypeProperty API of QWebElement.
https://bugs.webkit.org/show_bug.cgi?id=29711

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2009-09-25
Reviewed by Simon Hausmann.

  • Api/qwebelement.cpp:

(QWebElement::styleProperty):

  • Merge the stypeProperty and the computedStyleProperty methods
  • Remove the default value for the style resolving enum
  • Rename ResolveRule to StyleResolveStrategy

(QWebElement::setStyleProperty):

  • Remove the priority argument since it is possible to control the behaviour by adding !important or removing in the value.
  • Api/qwebelement.h:
  • tests/qwebelement/tst_qwebelement.cpp:

(tst_QWebElement::style):
(tst_QWebElement::computedStyle):

  • tests/qwebframe/tst_qwebframe.cpp:
Note: See TracTimeline for information about the timeline view.