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

Timeline



Dec 18, 2008:

11:34 PM Changeset in webkit [39393] by mitz@apple.com
  • 33 edits in trunk

WebCore:

Reviewed by Sam Weinig.

  • avoid using the ResourceHandle-level credential storage, if any, unless the client opts to use it; when use of the credential storage is disallowed, all authentication challenges are sent to the client.
  • let the FrameLoaderClient decide whether to use the credential storage.
  • loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::shouldUseCredentialStorage): Added. Returns false.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::shouldUseCredentialStorage): Added. Calls through to the FrameLoaderClient.
  • loader/FrameLoader.h: Declared shouldUseCredentialStorage().
  • loader/FrameLoaderClient.h: Declared shouldUseCredentialStorage().
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::shouldUseCredentialStorage): Added. Calls through to the FrameLoader.
  • loader/ResourceLoader.h: (WebCore::ResourceLoader::shouldUseCredentialStorage): Implemented this ResourceHandleClient method.
  • loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::shouldUseCredentialStorage): Added. Overrides the ResourceLoader implementation by letting the client supply the return value. If the client does not do this, continues with the ResourceLoader behavior of asking the FrameLoader.
  • loader/SubresourceLoader.h: Removed an unused #include and declared shouldUseCredentialStorage().
  • loader/SubresourceLoaderClient.h: (WebCore::SubresourceLoaderClient::getShouldUseCredentialStorage): Added a default implementation which returns false, meaning the client does not wish to decide whether the credential storage should be used.
  • platform/network/ResourceHandle.h: Removed unused forward declarations. Declared a new member function, shouldUseCredentialStorage(), on Mac and CFNetwork-using builds.
  • platform/network/ResourceHandleClient.h: (WebCore::ResourceHandleClient::shouldUseCredentialStorage): Added this default implementation that returns false.
  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::findCFNetworkModule): Added. Returns a handle to the CFNetwork module. (WebCore::cfNetworkVersion): Added. Returns the high word of the CFNetwork library's product version. (WebCore::highestSupportedCFURLConnectionClientVersion): Added. Returns the highest version of the CFURLConnectionClient structure supported by the CFNetwork library. The only reason to check this at runtime is that WebKit may be linking at runtime against an older version of CFNetwork than the one it was built with, as is the case with nightly builds. (WebCore::shouldUseCredentialStorageCallback): Added this CFURLConnection callback which calls through to ResourceHandle::shouldUseCredentialStorage(). (WebCore::ResourceHandle::start): Pass a version 3 CFURLConnectionClient including the shouldUseCredentialStorage callback. At runtime, clamp the client structure version down to the highest supported by CFNetwork. (WebCore::ResourceHandle::shouldUseCredentialStorage): Added. Calls through to the client if there is one. Otherwise returns false.
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::shouldUseCredentialStorage): Ditto. (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]): Added this delegate method which callls through to ResourceHandle::shouldUseCredentialStorage().

WebKit/gtk:

Reviewed by Sam Weinig.

  • stub out FrameLoaderClient::shouldUseCredentialStorage().
  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::shouldUseCredentialStorage):
  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/mac:

Reviewed by Sam Weinig.

  • implement FrameLoaderClient::shouldUseCredentialStorage() by calling a new resource load delegae method.
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::shouldUseCredentialStorage): Added. Calls the delegate method. If the method is unimplemented, returns true for backwards compatibility.
  • WebView/WebView.mm: (-[WebView _cacheResourceLoadDelegateImplementations]): Initialize the shouldUseCredentialStorageFunc member. (CallResourceLoadDelegateReturningBoolean): Added.
  • WebView/WebViewInternal.h:
  • WebView/WebResourceLoadDelegatePrivate.h: Declared the delegate method -webView:resource:shouldUseCredentialStorageForDataSource:.

WebKit/qt:

Reviewed by Sam Weinig.

  • stub out FrameLoaderClient::shouldUseCredentialStorage().
  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::shouldUseCredentialStorage):
  • WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

Reviewed by Sam Weinig.

  • implement FrameLoaderClient::shouldUseCredentialStorage() by calling a new resource load delegae method.
  • Interfaces/IWebResourceLoadDelegatePrivate.idl: Added a ne interface, IWebResourceLoadDelegatePrivate2, including a new method, shouldUseCredentialStorage().
  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::shouldUseCredentialStorage): Added. Calls the delegate method. If the method is unimplemented, returns true for backwards compatibility.
  • WebCoreSupport/WebFrameLoaderClient.h:

WebKit/wx:

Reviewed by Sam Weinig.

  • stub out FrameLoaderClient::shouldUseCredentialStorage().
  • WebKitSupport/FrameLoaderClientWx.cpp: (WebCore::FrameLoaderClientWx::shouldUseCredentialStorage):
  • WebKitSupport/FrameLoaderClientWx.h:
10:54 PM Changeset in webkit [39392] by cwzwarich@webkit.org
  • 2 edits in trunk/WebKit/mac

2008-12-18 Cameron Zwarich <zwarich@apple.com>

Reviewed by Jonathan Honeycutt.

Fix an apparent typo in r39385 that is causing lots of crashes.

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
7:21 PM Changeset in webkit [39391] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-18 Gavin Barraclough <barraclough@apple.com>

Reviewed by Sam Weinig.

Same as last revision, adding cases for pre & post inc & dec.

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

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
6:58 PM Changeset in webkit [39390] by abarth@webkit.org
  • 2 deletes in trunk/LayoutTests/fast/dom

Revert 39363 because the test doesn't pass.

6:30 PM Changeset in webkit [39389] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-18 Gavin Barraclough <barraclough@apple.com>

Reviewed by Sam Weinig.

Fixes for the JIT's handling of JSImmediate values on x86-64.
On 64-bit systems, the code in JSImmediate.h relies on the upper
bits of a JSImmediate being a sign extension of the low 32-bits.
This was not being enforced by the JIT, since a number of inline
operations were being performed on 32-bit values in registers, and
when a 32-bit result is written to a register on x86-64 the value
is zero-extended to 64-bits.


This fix honors previous behavoir. A better fix in the long run
(when the JIT is enabled by default) may be to change JSImmediate.h
so it no longer relies on the upper bits of the pointer,... though
if we're going to change JSImmediate.h for 64-bit, we probably may
as well change the format so that the full range of 32-bit ints can
be stored, rather than just 31-bits.

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

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::addPtr): (JSC::MacroAssembler::andPtr): (JSC::MacroAssembler::orPtr): (JSC::MacroAssembler::or32): (JSC::MacroAssembler::xor32): (JSC::MacroAssembler::xorPtr): (JSC::MacroAssembler::signExtend32ToPtr):
  • assembler/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::andq_rr): (JSC::X86Assembler::andq_ir): (JSC::X86Assembler::orq_rr): (JSC::X86Assembler::xorq_ir): (JSC::X86Assembler::movsxd_rr):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITInlineMethods.h: (JSC::JIT::emitFastArithReTagImmediate): (JSC::JIT::emitFastArithPotentiallyReTagImmediate): (JSC::JIT::emitFastArithImmToInt):
5:51 PM Changeset in webkit [39388] by ddkilzer@apple.com
  • 2 edits in trunk/WebCore

Reset role to "Private" on 6 header files to fix clean builds after r39378

Reviewed by BUILD FIX.

  • WebCore.xcodeproj/project.pbxproj: Added back "Private" role that was lost on 6 headers when they were "moved": AffineTransform.h, Animation.h, AnimationList.h, TimingFunction.h, TransformOperation.h and TransformOperations.h.
5:49 PM Changeset in webkit [39387] by pam@chromium.org
  • 2 edits in trunk/WebCore

2008-12-18 Pamela Greene <pam@chromium.org>

Reviewed by Dan Bernstein.

Add initializer for m_textDirectionSubmenuInclusionBehavior.
https://bugs.webkit.org/show_bug.cgi?id=22926

  • page/Settings.cpp: (WebCore::Settings::Settings): Initialize m_textDirectionSubmenuInclusionBehavior
5:37 PM Changeset in webkit [39386] by beidson@apple.com
  • 4 edits in trunk/WebKit/mac

2008-12-18 Brady Eidson <beidson@apple.com>

Reviewed by John Sullivan

Initial visit to a website creates history items that start with a visit count of
zero instead of one

  • History/WebHistory.mm: (-[WebHistoryPrivate visitedURL:withTitle:]): Set the visit count on new items
  • History/WebHistoryItem.mm: (-[WebHistoryItem _setVisitCount:]): Call through to the WebCore item
  • History/WebHistoryItemInternal.h:
5:15 PM Changeset in webkit [39385] by weinig@apple.com
  • 29 edits in trunk

WebCore:

2008-12-18 Sam Weinig <sam@webkit.org>

Reviewed by John Sullivan.

Add new FrameLoaderClient method to indicate the first visually
non-empty layout based on an heuristic. Right now that heuristic
is the first layout after an image, text or plugin has been added
to the render tree, but I can imagine it becoming much smarter.

  • loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::didFirstVisuallyNonEmptyLayout):
  • loader/FrameLoader.h:
  • loader/FrameLoaderClient.h:
  • page/FrameView.cpp: (WebCore::FrameViewPrivate::reset): (WebCore::FrameView::layout): (WebCore::FrameView::performPostLayoutTasks): (WebCore::FrameView::setIsVisuallyNonEmpty):
  • page/FrameView.h:
  • rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage):
  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::RenderPartObject):
  • rendering/RenderText.cpp: (WebCore::RenderText::RenderText):

WebKit/gtk:

2008-12-18 Sam Weinig <sam@webkit.org>

Reviewed by John Sullivan.

Stub out FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout()

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/mac:

2008-12-18 Sam Weinig <sam@webkit.org>

Reviewed by John Sullivan.

Implement FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout() by calling
a new private frame load delegate method.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
  • WebView/WebView.mm: (-[WebView _cacheFrameLoadDelegateImplementations]):
  • WebView/WebViewInternal.h:
  • WebView/WebViewPrivate.h:

WebKit/qt:

2008-12-18 Sam Weinig <sam@webkit.org>

Reviewed by John Sullivan.

Stub out FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout()

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::dispatchDidFirstVisuallyNonEmptyLayout):
  • WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

2008-12-18 Sam Weinig <sam@webkit.org>

Reviewed by John Sullivan.

Implement FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout() by calling
a new private frame load delegate method.

  • Interfaces/IWebFrameLoadDelegatePrivate.idl:
  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
  • WebCoreSupport/WebFrameLoaderClient.h:

WebKit/wx:

2008-12-18 Sam Weinig <sam@webkit.org>

Reviewed by John Sullivan.

Stub out FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout()

  • WebKitSupport/FrameLoaderClientWx.cpp: (WebCore::FrameLoaderClientWx::dispatchDidFirstVisuallyNonEmptyLayout):
  • WebKitSupport/FrameLoaderClientWx.h:
4:39 PM Changeset in webkit [39384] by pol@apple.com
  • 35 edits
    3 moves
    1 add in trunk/LayoutTests

2008-12-18 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Darin Adler.

Rewrote some of the transition layout tests that were using setTimeout() to use the transition pause API in DRT when available.

Rewrote the transition layout tests that were specifically testing the transition end event to use common JS code from transition-end-event-helpers.js.

Fixed some typos.

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

  • transitions/end-event-helpers.js: Removed.
  • transitions/interrupt-transform-transition-expected.txt:
  • transitions/interrupt-transform-transition.html:
  • transitions/opacity-transition-zindex.html:
  • transitions/start-transform-transition.html:
  • transitions/transform-op-list-match-expected.txt:
  • transitions/transform-op-list-match.html:
  • transitions/transform-op-list-no-match-expected.txt:
  • transitions/transform-op-list-no-match.html:
  • transitions/transition-end-event-all-properties-expected.txt:
  • transitions/transition-end-event-all-properties.html:
  • transitions/transition-end-event-attributes-expected.txt:
  • transitions/transition-end-event-attributes.html:
  • transitions/transition-end-event-container-expected.txt:
  • transitions/transition-end-event-container.html:
  • transitions/transition-end-event-helpers.js: Copied from LayoutTests/transitions/end-event-helpers.js. (recordTransitionEndEvent): (runTransitionTest.processEndEvents.compareEventInfo): (runTransitionTest.processEndEvents.examineResults): (runTransitionTest.processEndEvents): (runTransitionTest.startTest): (runTransitionTest.window): (runTransitionTest):
  • transitions/transition-end-event-left-expected.txt:
  • transitions/transition-end-event-left.html:
  • transitions/transition-end-event-multiple-01-expected.txt:
  • transitions/transition-end-event-multiple-01.html:
  • transitions/transition-end-event-multiple-02-expected.txt:
  • transitions/transition-end-event-multiple-02.html:
  • transitions/transition-end-event-multiple-03-expected.txt:
  • transitions/transition-end-event-multiple-03.html:
  • transitions/transition-end-event-multiple-04-expected.txt:
  • transitions/transition-end-event-multiple-04.html:
  • transitions/transition-end-event-nested-expected.txt:
  • transitions/transition-end-event-nested.html:
  • transitions/transition-end-event-set-none-expected.txt:
  • transitions/transition-end-event-set-none.html:
  • transitions/transition-end-event-transform-expected.txt:
  • transitions/transition-end-event-transform.html:
  • transitions/transition-end-event-window-expected.txt:
  • transitions/transition-end-event-window.html:
  • transitions/transition-test-helpers.js: Added. (runTransitionTest.isCloseEnough): (runTransitionTest.checkExpectedValue): (runTransitionTest.endTest): (runTransitionTest.runTest): (runTransitionTest.startTest): (runTransitionTest.if):
  • transitions/transition-timing-function-expected.txt: Copied from LayoutTests/transitions/transition-timing-function-software-expected.txt.
  • transitions/transition-timing-function-software-expected.txt: Removed.
  • transitions/transition-timing-function-software.html: Removed.
  • transitions/transition-timing-function.html: Copied from LayoutTests/transitions/transition-timing-function-software.html.
  • transitions/zero-duration-in-list-expected.txt:
  • transitions/zero-duration-in-list.html:
3:58 PM Changeset in webkit [39383] by Darin Adler
  • 4 edits in trunk/WebCore

2008-12-18 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • fix <rdar://problem/6449841> reduce memory use of ResourceResponseBase by removing two maps

We were parsing the cache-control and pragma header field values into maps.
I changed that so instead we only cache two bits with the data we were actually
using. Later we might want to move this responsibility out of this class entirely;
we can cache it at the higher level instead.

  • loader/CachedResource.cpp: (WebCore::CachedResource::mustRevalidate): Changed to call a specific API to get at the bits in quest instead of a general "cache control directives" API.
  • platform/network/ResourceResponseBase.cpp: (WebCore::ResourceResponseBase::setHTTPHeaderField): Remove the logic for the pragma header field since no one is using this for now. (WebCore::ResourceResponseBase::parseCacheControlDirectives): Eliminated the return value and made this function have side effects only. Changed it so it's the caller's responsibility to check m_haveParsedCacheControl. Set m_cacheControlContainsNoCache and m_cacheControlContainsMustRevalidate rather than keeping a map around.
  • platform/network/ResourceResponseBase.h: (WebCore::ResourceResponseBase::cacheControlContainsNoCache): Added. (WebCore::ResourceResponseBase::cacheControlContainsMustRevalidate): Added. (WebCore::ResourceResponseBase::ResourceResponseBase): Updated since I removed m_haveParsedCacheControl and renamed m_haveParsedCacheControlHeader to remove the imprecise use of the term "header".
3:07 PM Changeset in webkit [39382] by sfalken@apple.com
  • 22 edits in trunk/WebCore

Build fix.
Delete 2nd copy of code in these files.

  • platform/animation/Animation.cpp:
  • platform/animation/Animation.h:
  • platform/animation/AnimationList.cpp:
  • platform/animation/AnimationList.h:
  • platform/animation/TimingFunction.h:
  • platform/graphics/transforms/AffineTransform.cpp:
  • platform/graphics/transforms/AffineTransform.h:
  • platform/graphics/transforms/IdentityTransformOperation.h:
  • platform/graphics/transforms/MatrixTransformOperation.cpp:
  • platform/graphics/transforms/MatrixTransformOperation.h:
  • platform/graphics/transforms/RotateTransformOperation.cpp:
  • platform/graphics/transforms/RotateTransformOperation.h:
  • platform/graphics/transforms/ScaleTransformOperation.cpp:
  • platform/graphics/transforms/ScaleTransformOperation.h:
  • platform/graphics/transforms/SkewTransformOperation.cpp:
  • platform/graphics/transforms/SkewTransformOperation.h:
  • platform/graphics/transforms/TransformOperation.h:
  • platform/graphics/transforms/TransformOperations.cpp:
  • platform/graphics/transforms/TransformOperations.h:
  • platform/graphics/transforms/TranslateTransformOperation.cpp:
  • platform/graphics/transforms/TranslateTransformOperation.h:
2:51 PM Changeset in webkit [39381] by sfalken@apple.com
  • 1 edit in trunk/WebCore/WebCore.vcproj/WebCore.vcproj

Partial build fix.

2:14 PM Changeset in webkit [39380] by barraclough@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-12-18 Gavin Barraclough <barraclough@apple.com>

Reviewed by Sam Weinig.

Just a tidy up - rename & refactor some the #defines configuring the JIT.

  • interpreter/Interpreter.cpp: (JSC::Interpreter::cti_op_convert_this): (JSC::Interpreter::cti_op_end): (JSC::Interpreter::cti_op_add): (JSC::Interpreter::cti_op_pre_inc): (JSC::Interpreter::cti_timeout_check): (JSC::Interpreter::cti_register_file_check): (JSC::Interpreter::cti_op_loop_if_less): (JSC::Interpreter::cti_op_loop_if_lesseq): (JSC::Interpreter::cti_op_new_object): (JSC::Interpreter::cti_op_put_by_id_generic): (JSC::Interpreter::cti_op_get_by_id_generic): (JSC::Interpreter::cti_op_put_by_id): (JSC::Interpreter::cti_op_put_by_id_second): (JSC::Interpreter::cti_op_put_by_id_fail): (JSC::Interpreter::cti_op_get_by_id): (JSC::Interpreter::cti_op_get_by_id_second): (JSC::Interpreter::cti_op_get_by_id_self_fail): (JSC::Interpreter::cti_op_get_by_id_proto_list): (JSC::Interpreter::cti_op_get_by_id_proto_list_full): (JSC::Interpreter::cti_op_get_by_id_proto_fail): (JSC::Interpreter::cti_op_get_by_id_array_fail): (JSC::Interpreter::cti_op_get_by_id_string_fail): (JSC::Interpreter::cti_op_instanceof): (JSC::Interpreter::cti_op_del_by_id): (JSC::Interpreter::cti_op_mul): (JSC::Interpreter::cti_op_new_func): (JSC::Interpreter::cti_op_call_JSFunction): (JSC::Interpreter::cti_op_call_arityCheck): (JSC::Interpreter::cti_vm_dontLazyLinkCall): (JSC::Interpreter::cti_vm_lazyLinkCall): (JSC::Interpreter::cti_op_push_activation): (JSC::Interpreter::cti_op_call_NotJSFunction): (JSC::Interpreter::cti_op_create_arguments): (JSC::Interpreter::cti_op_create_arguments_no_params): (JSC::Interpreter::cti_op_tear_off_activation): (JSC::Interpreter::cti_op_tear_off_arguments): (JSC::Interpreter::cti_op_profile_will_call): (JSC::Interpreter::cti_op_profile_did_call): (JSC::Interpreter::cti_op_ret_scopeChain): (JSC::Interpreter::cti_op_new_array): (JSC::Interpreter::cti_op_resolve): (JSC::Interpreter::cti_op_construct_JSConstruct): (JSC::Interpreter::cti_op_construct_NotJSConstruct): (JSC::Interpreter::cti_op_get_by_val): (JSC::Interpreter::cti_op_resolve_func): (JSC::Interpreter::cti_op_sub): (JSC::Interpreter::cti_op_put_by_val): (JSC::Interpreter::cti_op_put_by_val_array): (JSC::Interpreter::cti_op_lesseq): (JSC::Interpreter::cti_op_loop_if_true): (JSC::Interpreter::cti_op_negate): (JSC::Interpreter::cti_op_resolve_base): (JSC::Interpreter::cti_op_resolve_skip): (JSC::Interpreter::cti_op_resolve_global): (JSC::Interpreter::cti_op_div): (JSC::Interpreter::cti_op_pre_dec): (JSC::Interpreter::cti_op_jless): (JSC::Interpreter::cti_op_not): (JSC::Interpreter::cti_op_jtrue): (JSC::Interpreter::cti_op_post_inc): (JSC::Interpreter::cti_op_eq): (JSC::Interpreter::cti_op_lshift): (JSC::Interpreter::cti_op_bitand): (JSC::Interpreter::cti_op_rshift): (JSC::Interpreter::cti_op_bitnot): (JSC::Interpreter::cti_op_resolve_with_base): (JSC::Interpreter::cti_op_new_func_exp): (JSC::Interpreter::cti_op_mod): (JSC::Interpreter::cti_op_less): (JSC::Interpreter::cti_op_neq): (JSC::Interpreter::cti_op_post_dec): (JSC::Interpreter::cti_op_urshift): (JSC::Interpreter::cti_op_bitxor): (JSC::Interpreter::cti_op_new_regexp): (JSC::Interpreter::cti_op_bitor): (JSC::Interpreter::cti_op_call_eval): (JSC::Interpreter::cti_op_throw): (JSC::Interpreter::cti_op_get_pnames): (JSC::Interpreter::cti_op_next_pname): (JSC::Interpreter::cti_op_push_scope): (JSC::Interpreter::cti_op_pop_scope): (JSC::Interpreter::cti_op_typeof): (JSC::Interpreter::cti_op_is_undefined): (JSC::Interpreter::cti_op_is_boolean): (JSC::Interpreter::cti_op_is_number): (JSC::Interpreter::cti_op_is_string): (JSC::Interpreter::cti_op_is_object): (JSC::Interpreter::cti_op_is_function): (JSC::Interpreter::cti_op_stricteq): (JSC::Interpreter::cti_op_nstricteq): (JSC::Interpreter::cti_op_to_jsnumber): (JSC::Interpreter::cti_op_in): (JSC::Interpreter::cti_op_push_new_scope): (JSC::Interpreter::cti_op_jmp_scopes): (JSC::Interpreter::cti_op_put_by_index): (JSC::Interpreter::cti_op_switch_imm): (JSC::Interpreter::cti_op_switch_char): (JSC::Interpreter::cti_op_switch_string): (JSC::Interpreter::cti_op_del_by_val): (JSC::Interpreter::cti_op_put_getter): (JSC::Interpreter::cti_op_put_setter): (JSC::Interpreter::cti_op_new_error): (JSC::Interpreter::cti_op_debug): (JSC::Interpreter::cti_vm_throw):
  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile):
  • jit/JIT.h:
  • jit/JITInlineMethods.h: (JSC::JIT::restoreArgumentReference): (JSC::JIT::restoreArgumentReferenceForTrampoline):
  • wtf/Platform.h:
1:21 PM Changeset in webkit [39379] by darin@chromium.org
  • 7 edits
    2 adds in trunk/WebCore

2008-12-18 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Geoffrey Garen.

https://bugs.webkit.org/show_bug.cgi?id=22859
Abstract away the use of JSDOMWindow in CachedPage and introduce
ScriptCachedPageData abstraction.

  • GNUmakefile.am: Added ScriptCachedPageData to project.
  • WebCore.pro: Added ScriptCachedPageData to project.
  • WebCore.vcproj/WebCore.vcproj: Added ScriptCachedPageData to project.
  • WebCore.xcodeproj/project.pbxproj: Added ScriptCachedPageData to

project.

  • bindings/js/ScriptCachedPageData.cpp: Added. (WebCore::ScriptCachedPageData::ScriptCachedPageData): (WebCore::ScriptCachedPageData::~ScriptCachedPageData): (WebCore::ScriptCachedPageData::restore): (WebCore::ScriptCachedPageData::clear):
  • bindings/js/ScriptCachedPageData.h: Added.
  • history/CachedPage.cpp: Replaced JSDOMWindow and ProtectedPtr with

ScriptCachedPageData.

(WebCore::CachedPage::CachedPage):
(WebCore::CachedPage::domWindow):
(WebCore::CachedPage::restore):
(WebCore::CachedPage::clear):

  • history/CachedPage.h: Replaced JSDOMWindow and ProtectedPtr with

ScriptCachedPageData.

1:06 PM Changeset in webkit [39378] by cmarrin@apple.com
  • 2 edits
    23 adds
    21 deletes in trunk/WebCore

Reviewed by Dave Hyatt.

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

To avoid future dependency issues, all the TransformOperations and Animation related files need to be moved to platform

10:19 AM Changeset in webkit [39377] by cwzwarich@webkit.org
  • 12 edits
    3 adds in trunk

2008-12-18 Cameron Zwarich <zwarich@apple.com>

Reviewed by Geoff Garen.

Bug 21855: REGRESSION (r37323): Gmail complains about popup blocking when opening a link
<https://bugs.webkit.org/show_bug.cgi?id=21855>
<rdar://problem/6278244>

If JavaScript is not currently executing, the handleEvent member function
of JSAbstractEventListener should set the dynamic global object to the
global object of the context in which the event occurred.


If this is not set, then JavaScriptCore will simply take the global object
of the context where the event handler function was created, which may be
a different frame. This will cause the popup blocker to incorrectly block
windows opened from onclick events inside of an iframe whose handler was
created in the outer frame, as it will check the outer frame and see that
it is not processing any events.

JavaScriptCore:

  • interpreter/Interpreter.cpp:
  • runtime/JSGlobalObject.h: (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): (JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope):

WebCore:

  • bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent):

WebKitTools:

  • DumpRenderTree/mac/EventSendingController.h:
  • DumpRenderTree/mac/EventSendingController.mm: (+[EventSendingController isSelectorExcludedFromWebScript:]): Expose scheduleAsynchronousClick to JavaScript. (-[EventSendingController scheduleAsynchronousClick]): Add.

LayoutTests:

  • fast/events/popup-blocking-click-in-iframe-expected.txt: Added.
  • fast/events/popup-blocking-click-in-iframe.html: Added.
  • fast/events/resources/popup-blocking-click-in-iframe-otherFrame.html: Added.
  • platform/gtk/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
10:02 AM Changeset in webkit [39376] by pam@chromium.org
  • 1 edit
    1 delete in trunk

2008-12-18 Pamela Greene <pam@chromium.org>

Submitted without review.
Right, remove the whole misplaced directory, not just the tests.

  • fast: Removed.
  • fast/dom: Removed.
9:56 AM Changeset in webkit [39375] by pam@chromium.org
  • 2 edits
    2 moves in trunk

Root level:

2008-12-18 Pamela Greene <pam@chromium.org>

Submitted without review.
Moving layout test into LayoutTests where it belongs.

  • fast/dom/setter-type-enforcement-expected.txt: Removed.
  • fast/dom/setter-type-enforcement.html: Removed.

LayoutTests:

2008-12-18 Pamela Greene <pam@chromium.org>

Submitted without review.
Moving layout test from root level into LayoutTests where it belongs.

  • fast/dom/setter-type-enforcement-expected.txt: Copied from fast/dom/setter-type-enforcement-expected.txt.
  • fast/dom/setter-type-enforcement.html: Copied from fast/dom/setter-type-enforcement.html.
9:45 AM Changeset in webkit [39374] by ggaren@apple.com
  • 3 edits
    3 adds in trunk

JavaScriptCore:

2008-12-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Gavin Barraclough.


Fixed https://bugs.webkit.org/show_bug.cgi?id=22393
Segfault when caching property accesses to primitive cells.


Changed some asObject casts to asCell casts in cases where a primitive
value may be a cell and not an object.


Re-enabled property caching for primitives in cases where it had been
disabled because of this bug.


Updated a comment to better explain something Darin thought needed
explaining in an old patch review.

  • interpreter/Interpreter.cpp: (JSC::countPrototypeChainEntriesAndCheckForProxies): (JSC::Interpreter::tryCacheGetByID): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_get_by_id_self_fail): (JSC::Interpreter::cti_op_get_by_id_proto_list):

LayoutTests:

2008-12-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Gavin Barraclough.


Added a test for https://bugs.webkit.org/show_bug.cgi?id=22393
Segfault when caching property accesses to primitive cells.

  • fast/js/primitive-property-access-edge-cases-expected.txt: Added.
  • fast/js/primitive-property-access-edge-cases.html: Added.
  • fast/js/resources/primitive-property-access-edge-cases.js: Added. ():
9:42 AM Changeset in webkit [39373] by Simon Fraser
  • 5 edits
    4 adds in trunk

2008-12-17 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

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

Add the ability to compute clip rects independently from
caching them on the RenderLayer. When painting reflections, use
such temporarily computed clipRects, otherwise the layer may cache
clipRects which are invalid, since they have been computed with
a rootLayer that is not the one usually used to paint.

Test: fast/reflections/reflection-overflow-hidden.html

6:37 AM Changeset in webkit [39372] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-12-17 Laszlo Gombos <Laszlo Gombos>

Reviewed by Simon Hausmann.

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

Fix MinGW QtWebKit linking problems and also make the
QtWebKit build system more robust.

Dec 17, 2008:

11:02 PM Changeset in webkit [39371] by barraclough@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-12-17 Gavin Barraclough <barraclough@apple.com>

Reviewed by Cameron Zwarich.

Fixes for Sunspider failures with the JIT enabled on x86-64.

  • assembler/MacroAssembler.h:

Switch the order of the RegisterID & Address form of je32, to keep it consistent with jne32.

  • jit/JIT.cpp:
  • jit/JIT.h:
  • jit/JITInlineMethods.h:

Port the m_ctiVirtualCall tramopline generation to use the MacroAssembler interface.

  • jit/JITCall.cpp:

Fix bug in the non-optimizing code path, vptr check should have been to the memory address pointer
to by the register, not to the register itself.

  • wrec/WRECGenerator.cpp:

See assembler/MacroAssembler.h, above.

7:38 PM Changeset in webkit [39370] by barraclough@apple.com
  • 9 edits in trunk/JavaScriptCore

2008-12-17 Gavin Barraclough <barraclough@apple.com>

Reviewed by Sam Weinig.

print("Hello, 64-bit jitted world!");
Get hello-world working through the JIT, on x86-64.

  • assembler/X86Assembler.h:

Fix encoding of opcode + RegisterID format instructions for 64-bit.

  • interpreter/Interpreter.cpp:
  • interpreter/Interpreter.h:

Make VoidPtrPair actually be a pair of void*s.
(Possibly should make this change for 32-bit Mac platforms, too - but won't change 32-bit behaviour in this patch).

  • jit/JIT.cpp:
  • jit/JIT.h:

Provide names for the timeoutCheckRegister & callFrameRegister on x86-64,
force x86-64 ctiTrampoline arguments onto the stack,
implement the asm trampolines for x86-64,
implement the restoreArgumentReference methods for x86-64 calling conventions.

  • jit/JITCall.cpp:
  • jit/JITInlineMethods.h:
  • wtf/Platform.h:

Add switch settings to ENABLE(JIT), on PLATFORM(X86_64) (currently still disabled).

5:56 PM Changeset in webkit [39369] by Nikolas Zimmermann
  • 21 edits in trunk

Reviewed by Maciej Stachowiak.

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

wml.css is based on an older copy of html4.css. Synchronize them.
Remove all entries, that are irrelevant for WML.

Fix <do> appearance: should behave like HTMLs <button>.

4:00 PM Changeset in webkit [39368] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-17 Sam Weinig <sam@webkit.org>

Reviewed by Gavin Barraclough.

Add more CodeBlock statistics.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpStatistics):
2:16 PM Changeset in webkit [39367] by abarth@webkit.org
  • 6 edits in trunk/WebCore

2008-12-17 Yury Semikhatsky <yurys@google.com>

Reviewed by Timothy Hatcher.
Landed by Adam Barth.

Added more checks that WebInspector.panels.{resources,scripts} are
defined where they are accessed from other panels and WebInspector
(some panels are not yet supported in Chrome).

  • inspector/front-end/Console.js: (WebInspector.Console.prototype.addMessage): (WebInspector.Console.prototype.clearMessages): (WebInspector.Console.prototype.completions):
  • inspector/front-end/ObjectPropertiesSection.js: (WebInspector.ObjectPropertyTreeElement.prototype.evaluateExpression):
  • inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.get searchableViews): (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
  • inspector/front-end/SourceView.js: (WebInspector.SourceView.prototype._addBreakpoint):
  • inspector/front-end/inspector.js: (WebInspector.addResource): (WebInspector.removeResource): (WebInspector.showResourceForURL):
1:25 PM Changeset in webkit [39366] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-17 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22897
<rdar://problem/6428342>
Look into feasibility of discarding bytecode after native codegen

Clear the bytecode Instruction vector at the end JIT generation.

Saves 4.8 MB on Membuster head.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): Add logging for the case that someone tries to dump the instructions of a CodeBlock that has had its bytecode vector cleared. (JSC::CodeBlock::CodeBlock): Initialize the instructionCount (JSC::CodeBlock::handlerForBytecodeOffset): Use instructionCount instead of the size of the instruction vector in the assertion. (JSC::CodeBlock::lineNumberForBytecodeOffset): Ditto. (JSC::CodeBlock::expressionRangeForBytecodeOffset): Ditto. (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset): Ditto. (JSC::CodeBlock::functionRegisterForBytecodeOffset): Ditto.
  • bytecode/CodeBlock.h: (JSC::CodeBlock::setInstructionCount): Store the instruction vector size in debug builds for assertions.
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate):
  • jit/JIT.cpp: (JSC::JIT::privateCompile): Clear the bytecode vector unless we have compiled with Opcode sampling where we will continue to require it
1:12 PM Changeset in webkit [39365] by abarth@webkit.org
  • 3 edits in trunk/LayoutTests

2008-12-17 Feng Qian <feng@chromium.org>

Reviewed by Alexey Proskuryakov.
Landed by Adam Barth.

https://bugs.webkit.org/show_bug.cgi?id=21948
Change two tests to use the host url in XMLHttpRequest so that
it does not fail because of Chrome's file URL security policy.
It does not affect the expected behaviors of tests.

  • fast/dom/null-document-xmlhttprequest-open.html:
  • fast/dom/xmlhttprequest-invalid-values.html:
1:12 PM Changeset in webkit [39364] by abarth@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-17 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.
Landed by Adam Barth.

https://bugs.webkit.org/show_bug.cgi?id=22577
Add a test to ensure that checkboxes and radio buttons with duplicate
names map to a collection.

  • fast/dom/HTMLInputElement/duplicate-element-names-expected.txt: Added.
  • fast/dom/HTMLInputElement/duplicate-element-names.html: Added.
1:11 PM Changeset in webkit [39363] by abarth@webkit.org
  • 1 edit
    4 adds in trunk

2008-12-17 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.
Landed by Adam Barth.

https://bugs.webkit.org/show_bug.cgi?id=22612
Add test to verify type enforcement in DOM setters.

  • fast/dom/setter-type-enforcement-expected.txt: Added.
  • fast/dom/setter-type-enforcement.html: Added.
1:11 PM Changeset in webkit [39362] by abarth@webkit.org
  • 4 edits in trunk

WebCore:

2008-12-17 Cary Clark < caryclark@google.com>

Reviewed by Darin Adler.
Landed by Adam Barth.

Add ENABLE_TEXT_CARET to permit the ANDROID platform
to invalidate and draw the caret in a separate thread.

  • page/Frame.cpp: (WebCore::Frame::clearCaretRectIfNeeded): Body of function does nothing if text caret is disabled. (WebCore::Frame::selectionLayoutChanged): Do nothing if text caret is disabled and the caret only blinked. (WebCore::Frame::caretBlinkTimerFired): (WebCore::Frame::paintCaret): (WebCore::Frame::paintDragCaret): Body of functions does nothing if text caret is disabled.

JavaScriptCore:

2008-12-17 Cary Clark <caryclark@google.com>

Reviewed by Darin Adler.
Landed by Adam Barth.

Add ENABLE_TEXT_CARET to permit the ANDROID platform
to invalidate and draw the caret in a separate thread.

  • wtf/Platform.h: Default ENABLE_TEXT_CARET to 1.
11:01 AM Changeset in webkit [39361] by Nikolas Zimmermann
  • 9 edits in trunk/LayoutTests

Rubber-stamped by Timothy Hatcher.

Fix wml/ tests, by doing s/</\&lt;/ and s/>/\&gt;/.
Not sure why this problem wasn't visible before, something has changed.

10:10 AM Changeset in webkit [39360] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin Adler.

Don't use unique context group in JSGlobalContextCreate() on Tiger or Leopard, take two.

  • API/JSContextRef.cpp: The previous patch that claimed to do this was making Tiger and Leopard always use unique context group instead.
5:41 AM Changeset in webkit [39359] by Simon Hausmann
  • 7 edits in trunk

2008-12-16 Simon Hausmann <Simon Hausmann>

Reviewed by Holger Freyther.

Added support for unload event counting to the Qt DRT.

5:41 AM Changeset in webkit [39358] by Simon Hausmann
  • 2 edits in trunk/LayoutTests

2008-12-16 Simon Hausmann <Simon Hausmann>

Reviewed by Holger Freyther.

Added mac API specific loader test to the skip list for the Qt DRT.

4:15 AM Changeset in webkit [39357] by Antti Koivisto
  • 3 edits in trunk/WebKit/mac

2008-12-16 Antti Koivisto <Antti Koivisto>

Reviewed by John Sullivan.


Add version check for shift-reload behavior.

  • Misc/WebKitVersionChecks.h:
  • WebView/WebFrame.mm: (-[WebFrame reload]):

Dec 16, 2008:

11:36 PM Changeset in webkit [39356] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

11:35 PM Changeset in webkit [39355] by mrowe@apple.com
  • 1 copy in tags/Safari-6528.7

New tag.

10:30 PM Changeset in webkit [39354] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-16 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22838
Remove dependency on the bytecode Instruction buffer in Interpreter::throwException
Part of <rdar://problem/6428342>

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::functionRegisterForBytecodeOffset): Added. Function to get a function Register index in a callFrame for a bytecode offset. (JSC::CodeBlock::shrinkToFit): Shrink m_getByIdExceptionInfo and m_functionRegisterInfos.
  • bytecode/CodeBlock.h: (JSC::FunctionRegisterInfo::FunctionRegisterInfo): Added. (JSC::CodeBlock::addFunctionRegisterInfo):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitCall):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::throwException): Use functionRegisterForBytecodeOffset in JIT mode.
10:25 PM Changeset in webkit [39353] by sfalken@apple.com
  • 3 edits in trunk/WebKit/win

Windows build fix.


Reviewed by Stephanie Lewis.

  • COMPropertyBag.h: (::createInstance): (::adopt): (::QueryInterface): (::AddRef): (::Release): (::Read): (::Write): (::CountProperties): (::GetPropertyInfo): (::LoadObject):
  • WebURLResponse.cpp: (WebURLResponse::allHeaderFields):
7:29 PM WebKit Team edited by barraclough@apple.com
(diff)
6:35 PM Changeset in webkit [39352] by Stephanie Lewis
  • 2 edits in trunk/WebKit/win

2008-12-16 Stephanie Lewis <Stephanie Lewis>

Another Windows Build Fix.

  • WebURLResponse.cpp: (WebURLResponse::allHeaderFields):
6:34 PM Changeset in webkit [39351] by weinig@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-12-16 Sam Weinig <sam@webkit.org>

Reviewed by Gavin Barraclough.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22837
Remove dependency on the bytecode Instruction buffer in Interpreter::cti_op_call_NotJSFunction
Part of <rdar://problem/6428342>

  • interpreter/CallFrame.h: Added comment regarding returnPC storing a void*.
  • interpreter/Interpreter.cpp: (JSC::bytecodeOffsetForPC): We no longer have any cases of the PC being in the instruction stream for JIT, so we can remove the check. (JSC::Interpreter::cti_op_call_NotJSFunction): Use the CTI_RETURN_ADDRESS as the call frame returnPC as it is only necessary for looking up when throwing an exception.
  • interpreter/RegisterFile.h: (JSC::RegisterFile::): Added comment regarding returnPC storing a void*.
  • jit/JIT.h: Remove ARG_instr4.
  • jit/JITCall.cpp: (JSC::JIT::compileOpCallSetupArgs): Don't pass the instruction pointer.
6:23 PM Changeset in webkit [39350] by cwzwarich@webkit.org
  • 4 edits in trunk

2008-12-16 Darin Adler <Darin Adler>

Reviewed and landed by Cameron Zwarich.

Preparatory work for fixing

Bug 22887: Make UString::Rep use RefCounted rather than implementing its own ref counting
<https://bugs.webkit.org/show_bug.cgi?id=22887>

Change the various string translators used by Identifier:add() so that
they never zero the ref count of a newly created UString::Rep. Also,
change similar code for AtomicString to use the same idiomatic style.

JavaScriptCore:

  • runtime/Identifier.cpp: (JSC::CStringTranslator::translate): (JSC::Identifier::add): (JSC::UCharBufferTranslator::translate):

WebCore:

  • platform/text/AtomicString.cpp: (WebCore::AtomicString::add):
5:54 PM Changeset in webkit [39349] by adele@apple.com
  • 2 edits in trunk/WebCore

2008-12-16 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22827
<rdar://problem/6247724> RenderThemeWin buttons have weird heavy text

  • rendering/RenderThemeWin.cpp: (WebCore::fillFontDescription): Add version that takes a font size. (WebCore::RenderThemeWin::systemFont): Use the default GUI font for control fonts, but specify the size. This will match Firefox.
5:27 PM Changeset in webkit [39348] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-16 Gavin Barraclough <barraclough@apple.com>

Build fix for 'doze.

  • assembler/AssemblerBuffer.h:
5:11 PM Changeset in webkit [39347] by Stephanie Lewis
  • 2 edits in trunk/WebCore

2008-12-16 Stephanie Lewis <Stephanie Lewis>

Another build fix.

  • platform/text/AtomicString.h: (WebCore::AtomicString::AtomicString):
5:10 PM Changeset in webkit [39346] by andersca@apple.com
  • 5 edits in trunk/WebKit/mac

2008-12-16 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Start sending keyboard events to the plug-in host.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::keyEvent):
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView keyDown:]): (-[WebHostedNetscapePluginView keyUp:]):
  • Plugins/Hosted/WebKitPluginHost.defs:
4:57 PM Changeset in webkit [39345] by Stephanie Lewis
  • 2 edits in trunk/WebCore

2008-12-16 Stephanie Lewis <Stephanie Lewis>

Windows Build Fix.

  • platform/text/AtomicString.h: (WebCore::AtomicString::AtomicString): (WebCore::AtomicString::createCFString):
4:11 PM Changeset in webkit [39344] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-16 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.

<rdar://problem/6450538>


Fix flag enumeration.


  • Plugins/Hosted/WebKitPluginHostTypes.h:
4:03 PM Changeset in webkit [39343] by andersca@apple.com
  • 6 edits in trunk/WebKit/mac

2008-12-16 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.

Instead of passing a gazillion booleans to WKPCLoadURL, pass a single set of flags.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCLoadURL):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::loadURL):
  • Plugins/Hosted/WebKitPluginClient.defs:
  • Plugins/Hosted/WebKitPluginHostTypes.h:
4:03 PM Changeset in webkit [39342] by barraclough@apple.com
  • 9 edits in trunk/JavaScriptCore

2008-12-16 Gavin Barraclough <barraclough@apple.com>

Reviewed by Cameron Zwarich.

Make the JIT compile on x86-64.
This largely involves populting the missing calls in MacroAssembler.h.
In addition some reinterpret_casts need removing from the JIT, and the
repatching property access code will need to be fully compiled out for
now. The changes in interpret.cpp are to reorder the functions so that
the _generic forms come before all other property access methods, and
then to place all property access methods other than the generic forms
under control of the ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS macro.

No performance impact.

  • assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::putInt64Unchecked):
  • assembler/MacroAssembler.h: (JSC::MacroAssembler::loadPtr): (JSC::MacroAssembler::load32): (JSC::MacroAssembler::storePtr): (JSC::MacroAssembler::storePtrWithRepatch): (JSC::MacroAssembler::store32): (JSC::MacroAssembler::poke): (JSC::MacroAssembler::move): (JSC::MacroAssembler::testImm64): (JSC::MacroAssembler::jePtr): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jnzPtr): (JSC::MacroAssembler::jzPtr):
  • assembler/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::cmpq_rr): (JSC::X86Assembler::cmpq_rm): (JSC::X86Assembler::cmpq_im): (JSC::X86Assembler::testq_i32m): (JSC::X86Assembler::movl_mEAX): (JSC::X86Assembler::movl_i32r): (JSC::X86Assembler::movl_EAXm): (JSC::X86Assembler::movq_rm): (JSC::X86Assembler::movq_mEAX): (JSC::X86Assembler::movq_mr): (JSC::X86Assembler::movq_i64r): (JSC::X86Assembler::movl_mr): (JSC::X86Assembler::X86InstructionFormatter::oneByteOp64): (JSC::X86Assembler::X86InstructionFormatter::immediate64):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::cti_op_put_by_id_generic): (JSC::Interpreter::cti_op_get_by_id_generic): (JSC::Interpreter::cti_op_put_by_id): (JSC::Interpreter::cti_op_put_by_id_second):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCallSetupArgs): (JSC::JIT::compileOpCall):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath):
  • runtime/JSImmediate.h: (JSC::JSImmediate::makeInt):
2:36 PM Changeset in webkit [39341] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-12-16 Cameron Zwarich <zwarich@apple.com>

Reviewed by Darin Adler.

Bug 22869: REGRESSION (r38407): http://news.cnet.com/8301-13579_3-9953533-37.html crashes
<https://bugs.webkit.org/show_bug.cgi?id=22869>
<rdar://problem/6402499>

Before r38407, Structure::m_nameInPrevious was ref'd due to it being
stored in a PropertyMap. However, PropertyMaps are created lazily after
r38407, so Structure::m_nameInPrevious is not necessarily ref'd while
it is being used. Making it a RefPtr instead of a raw pointer fixes
the problem.

Unfortunately, the crash in the bug is rather intermittent, and it is
impossible to add an assertion in UString::Ref::ref() to catch this bug
because some users of UString::Rep deliberately zero out the reference
count. Therefore, there is no layout test accompanying this bug fix.

  • runtime/Structure.cpp: (JSC::Structure::~Structure): Use get(). (JSC::Structure::materializePropertyMap): Use get(). (JSC::Structure::addPropertyTransitionToExistingStructure): Use get(). (JSC::Structure::addPropertyTransition): Use get().
  • runtime/Structure.h: Make Structure::m_nameInPrevious a RefPtr instead of a raw pointer.
1:44 PM Changeset in webkit [39340] by pkasting@chromium.org
  • 2 edits in trunk/WebCore

2008-12-16 Peter Kasting <pkasting@google.com>

Reviewed by David Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=22885
Fix memory corruption in GIFImageDecoder.cpp with certain GIFs.

  • platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::frameComplete):
1:33 PM Changeset in webkit [39339] by Nikolas Zimmermann
  • 2 edits in trunk/JavaScriptCore

Not reviewed. Attempt to fix win build. No 'using namespace WTF' in this file, needs manual WTF:: prefix.
Not sure why the build works as is here.

1:20 PM Changeset in webkit [39338] by Stephanie Lewis
  • 12 edits in trunk/WebCore

2008-12-16 Stephanie Lewis <Stephanie Lewis>

Reviewed by Geoff Garen.

Change HTTPHeaderMap to use an AtomicString as its key.
Shaves ~1MB off of the Mozilla Memory Test
No functionality difference

  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorController.cpp: (WebCore::addHeaders):
  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::parseHeader):
  • platform/network/HTTPHeaderMap.h:
  • platform/network/ResourceRequestBase.cpp: (WebCore::ResourceRequestBase::httpHeaderField): (WebCore::ResourceRequestBase::setHTTPHeaderField): (WebCore::ResourceRequestBase::addHTTPHeaderField):
  • platform/network/ResourceRequestBase.h:
  • platform/network/ResourceResponseBase.cpp: (WebCore::ResourceResponseBase::httpHeaderField): (WebCore::ResourceResponseBase::setHTTPHeaderField):
  • platform/network/ResourceResponseBase.h:
  • platform/text/StringHash.h: (WebCore::CaseFoldingHash::hash): (WebCore::CaseFoldingHash::equal):
  • xml/XMLHttpRequest.cpp: (WebCore::isSetCookieHeader): (WebCore::XMLHttpRequest::setRequestHeader): (WebCore::XMLHttpRequest::setRequestHeaderInternal): (WebCore::XMLHttpRequest::getRequestHeader): (WebCore::XMLHttpRequest::getResponseHeader):
  • xml/XMLHttpRequest.h:
1:15 PM Changeset in webkit [39337] by Nikolas Zimmermann
  • 16 edits
    4 adds in trunk

Reviewed by Darin Adler.

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

Unify random number generation in JavaScriptCore & WebCore, by introducing
wtf/RandomNumber.h and moving wtf_random/wtf_random_init out of MathExtras.h.

wtf_random_init() has been renamed to initializeRandomNumberGenerator() and
lives in it's own private header: wtf/RandomNumberSeed.h, only intended to
be used from within JavaScriptCore.

wtf_random() has been renamed to randomNumber() and lives in a public header
wtf/RandomNumber.h, usable from within JavaScriptCore & WebCore. It encapsulates
the code taking care of initializing the random number generator (only when
building without ENABLE(JSC_MULTIPLE_THREADS), otherwhise initializeThreading()
already took care of that).

Functional change on darwin: Use random() instead of rand(), as it got a larger
period (more randomness). HTMLFormElement already contains this implementation
and I just moved it in randomNumber(), as special case for PLATFORM(DARWIN).

11:49 AM Changeset in webkit [39336] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-16 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.

Add trailing null to headers to avoid a crash in the plug-in host.


  • Plugins/Hosted/HostedNetscapePluginStream.mm: (WebKit::HostedNetscapePluginStream::didReceiveResponse):
8:02 AM Changeset in webkit [39335] by vestbo@webkit.org
  • 4 edits in trunk

2008-12-16 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Tor Arne Vestbø.

Qt/Win build fix

7:28 AM Changeset in webkit [39334] by zecke@webkit.org
  • 3 edits in trunk/WebCore

[CURL] memory leak of ResouceHandles

http://bugs.webkit.org/show_bug.cgi?id=20777

Fix ResourceHandle ref management to be consistent and correct.
Original patch from Marco Barisione.

1:44 AM Changeset in webkit [39333] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-12-16 Simon Hausmann <simon.hausmann@nokia.com>

Fix the Qt build.

  • platform/graphics/qt/ImageSourceQt.cpp: (WebCore::ImageSource::clear): Adjust to new signature.

Dec 15, 2008:

11:38 PM Changeset in webkit [39332] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix the build with GCC 4.0.

Reviewed by Cameron Zwarich.

  • Configurations/JavaScriptCore.xcconfig: GCC 4.0 appears to have a bug when compiling with -funwind-tables on,

so don't use it with that compiler version.

11:38 PM Changeset in webkit [39331] by mrowe@apple.com
  • 12 edits in trunk

<rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.

Rubber-stamped by Cameron Zwarich.

11:08 PM Changeset in webkit [39330] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin Adler.

Don't use unique context group in JSGlobalContextCreate() on Tiger or Leopard.

  • API/JSContextRef.cpp: (JSGlobalContextCreate):
11:05 PM Changeset in webkit [39329] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin Adler.

<rdar://problem/6445089> Mach ports leak from worker threads

  • interpreter/Interpreter.cpp: (JSC::getCPUTime): Deallocate the thread self port.
10:39 PM Changeset in webkit [39328] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-15 Gavin Barraclough <barraclough@apple.com>

Reviewed by Mark Rowe.

Construct stack frames in JIT code, so that backtracing can still work.
<rdar://problem/6447870> JIT should play nice with attempts to take stack traces

  • jit/JIT.cpp: (JSC::): (JSC::JIT::privateCompileMainPass):
10:27 PM Changeset in webkit [39327] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

<rdar://problem/6402262> JavaScriptCore needs exception handling tables in order to get stack traces without frame pointers

Reviewed by Gavin Barraclough.

  • Configurations/JavaScriptCore.xcconfig:
9:58 PM Changeset in webkit [39326] by Stephanie Lewis
  • 2 edits in trunk/WebKit/mac

2008-12-15 Stephanie Lewis <Stephanie Lewis>

Fix build.

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8:48 PM Changeset in webkit [39325] by barraclough@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-12-15 Gavin Barraclough <barraclough@apple.com>

Rubber stamped by Mark Rowe.

Revert r39226 / Bug 22818: Unify JIT callback argument access OS X / Windows
This causes Acid3 failures – reverting for now & will revisit later.
https://bugs.webkit.org/show_bug.cgi?id=22873

  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITInlineMethods.h: (JSC::JIT::restoreArgumentReference): (JSC::JIT::restoreArgumentReferenceForTrampoline): (JSC::JIT::emitCTICall_internal):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompilePutByIdTransition):
  • wtf/Platform.h:
5:08 PM Changeset in webkit [39324] by andersca@apple.com
  • 8 edits in trunk/WebKit/mac

2008-12-15 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Change InstantiatePlugin to be asynchronous so we won't deadlock if the plug-in tries to call
back into us while it's being instantiated.


  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin):
  • Plugins/Hosted/NetscapePluginHostProxy.h: (WebKit::NetscapePluginHostProxy::clientPort):
  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCInstantiatePluginReply):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::Reply::): (WebKit::NetscapePluginInstanceProxy::Reply::Reply): (WebKit::NetscapePluginInstanceProxy::Reply::~Reply): (WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply): (WebKit::NetscapePluginInstanceProxy::setCurrentReply): (WebKit::NetscapePluginInstanceProxy::waitForReply):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
  • Plugins/Hosted/WebKitPluginClient.defs:
  • Plugins/Hosted/WebKitPluginHost.defs:
4:52 PM Changeset in webkit [39323] by adele@apple.com
  • 2 edits in trunk/WebCore

2008-12-15 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22871
<rdar://problem/6417316> RenderThemeWin buttons are too short/thin

  • rendering/RenderButton.cpp: (WebCore::RenderButton::setupInnerStyle): Check if the button's style (not the new inner style) has appearance set to determine whether we should set padding on the inner style.
4:30 PM Changeset in webkit [39322] by Nikolas Zimmermann
  • 1 edit in trunk/WebCore/ChangeLog

Oops, forgot to include ChangeLog in last commit.

4:26 PM Changeset in webkit [39321] by Nikolas Zimmermann
  • 15 edits
    22 adds in trunk

Reviewed by Oliver Hunt.

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

Add complete WML <table> / <tr> / <td> element support.
Proper handling of all table related attributes, including tests.

Tests: fast/wml/table-element-align-attribute-invalid.wml (variable reference in 'align' attribute, raises error)

fast/wml/table-element-columns-attribute-invalid-number.wml (columns='0', raises error)
fast/wml/table-element-columns-attribute-invalid.wml (non-numeric 'columns' attribute value, raises error)
fast/wml/table-element-columns-attribute-missing.wml (missing 'columns')
fast/wml/table-element-columns-attribute.wml (test 'columns' attribute and <td> count mismatches)

4:22 PM Changeset in webkit [39320] by Darin Adler
  • 13 edits
    1 copy
    3 adds in trunk

JavaScriptCore:

2008-12-15 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • fix <rdar://problem/6427048> crash due to infinite recursion after setting window.proto = window

Replaced toGlobalObject with the more generally useful unwrappedObject and used it to
fix the cycle detection code in put(proto).

  • runtime/JSGlobalObject.cpp: Removed toGlobalObject. We now use unwrappedObject instead.
  • runtime/JSGlobalObject.h: (JSC::JSGlobalObject::isGlobalObject): Ditto.
  • runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval): Use unwrappedObject and isGlobalObject here rather than toGlobalObject.
  • runtime/JSObject.cpp: (JSC::JSObject::put): Rewrote prototype cycle checking loop. Use unwrappedObject in the loop now. (JSC::JSObject::unwrappedObject): Replaced toGlobalObject with this new function.
  • runtime/JSObject.h: More of the same.

WebCore:

2008-12-15 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • fix <rdar://problem/6427048> crash due to infinite recursion after setting window.proto = window

Test: fast/dom/Window/window-custom-prototype.html

Replaced toGlobalObject with the more generally useful unwrappedObject.

  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::unwrappedObject): Added.
  • bindings/js/JSDOMWindowShell.h: Declared unwrappedObject.
  • bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::unwrappedObject): Ditto.

LayoutTests:

2008-12-15 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • test for <rdar://problem/6427048> crash due to infinite recursion after setting window.proto = window
  • fast/canvas/canvas-gradient-without-path.html: Let make-js-test-wrappers update this one.
  • fast/dom/Window/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
  • fast/dom/Window/resources/window-custom-prototype.js: Added.
  • fast/dom/Window/window-custom-prototype-expected.txt: Added.
  • fast/dom/Window/window-custom-prototype.html: Added.
4:19 PM Changeset in webkit [39319] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-15 Steve Falkenburg <sfalken@apple.com>

Windows build fix.


Visual Studio requires visibility of forward declarations to match class declaration.

  • assembler/X86Assembler.h:
4:09 PM Changeset in webkit [39318] by zecke@webkit.org
  • 4 edits in trunk

JavaScriptCore:
2008-12-15 Gustavo Noronha Silva <kov@kov.eti.br>

Reviewed by Mark Rowe.

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

GTK+ build fix.

  • GNUmakefile.am:

WebCore:
2008-12-15 Gustavo Noronha Silva <kov@kov.eti.br>

Reviewed by Mark Rowe.

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

GTK+ build fix.

  • GNUmakefile.am:
3:38 PM Changeset in webkit [39317] by Darin Adler
  • 2 edits in trunk/WebKitTools

2008-12-15 Darin Adler <Darin Adler>

  • Scripts/make-js-test-wrappers: Added another exception to avoid overwriting a custom-written test.
3:38 PM Changeset in webkit [39316] by barraclough@apple.com
  • 8 edits in trunk/JavaScriptCore

2008-12-15 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Add support to X86Assembler emitting instructions that access all 16 registers on x86-64.
Add a new formating class, that is reponsible for both emitting the opcode bytes and the
ModRm bytes of an instruction in a single call; this can insert the REX byte as necessary
before the opcode, but has access to the register numbers to build the REX.

  • assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::isAligned): (JSC::AssemblerBuffer::data):
  • assembler/MacroAssembler.h: (JSC::MacroAssembler::addPtr): (JSC::MacroAssembler::add32): (JSC::MacroAssembler::and32): (JSC::MacroAssembler::or32): (JSC::MacroAssembler::sub32): (JSC::MacroAssembler::xor32): (JSC::MacroAssembler::loadPtr): (JSC::MacroAssembler::load32): (JSC::MacroAssembler::load16): (JSC::MacroAssembler::storePtr): (JSC::MacroAssembler::storePtrWithRepatch): (JSC::MacroAssembler::store32): (JSC::MacroAssembler::pop): (JSC::MacroAssembler::push): (JSC::MacroAssembler::compareImm32ForBranch): (JSC::MacroAssembler::compareImm32ForBranchEquality): (JSC::MacroAssembler::testImm32): (JSC::MacroAssembler::jae32): (JSC::MacroAssembler::jb32): (JSC::MacroAssembler::je16): (JSC::MacroAssembler::jg32): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jne32): (JSC::MacroAssembler::jump):
  • assembler/X86Assembler.h: (JSC::X86::): (JSC::X86Assembler::): (JSC::X86Assembler::size): (JSC::X86Assembler::push_r): (JSC::X86Assembler::pop_r): (JSC::X86Assembler::push_i32): (JSC::X86Assembler::push_m): (JSC::X86Assembler::pop_m): (JSC::X86Assembler::addl_rr): (JSC::X86Assembler::addl_mr): (JSC::X86Assembler::addl_ir): (JSC::X86Assembler::addq_ir): (JSC::X86Assembler::addl_im): (JSC::X86Assembler::andl_rr): (JSC::X86Assembler::andl_ir): (JSC::X86Assembler::orl_rr): (JSC::X86Assembler::orl_mr): (JSC::X86Assembler::orl_ir): (JSC::X86Assembler::subl_rr): (JSC::X86Assembler::subl_mr): (JSC::X86Assembler::subl_ir): (JSC::X86Assembler::subl_im): (JSC::X86Assembler::xorl_rr): (JSC::X86Assembler::xorl_ir): (JSC::X86Assembler::sarl_i8r): (JSC::X86Assembler::sarl_CLr): (JSC::X86Assembler::shll_i8r): (JSC::X86Assembler::shll_CLr): (JSC::X86Assembler::imull_rr): (JSC::X86Assembler::imull_i32r): (JSC::X86Assembler::idivl_r): (JSC::X86Assembler::cmpl_rr): (JSC::X86Assembler::cmpl_rm): (JSC::X86Assembler::cmpl_mr): (JSC::X86Assembler::cmpl_ir): (JSC::X86Assembler::cmpl_ir_force32): (JSC::X86Assembler::cmpl_im): (JSC::X86Assembler::cmpl_im_force32): (JSC::X86Assembler::cmpw_rm): (JSC::X86Assembler::testl_rr): (JSC::X86Assembler::testl_i32r): (JSC::X86Assembler::testl_i32m): (JSC::X86Assembler::testq_rr): (JSC::X86Assembler::testq_i32r): (JSC::X86Assembler::testb_i8r): (JSC::X86Assembler::sete_r): (JSC::X86Assembler::setz_r): (JSC::X86Assembler::setne_r): (JSC::X86Assembler::setnz_r): (JSC::X86Assembler::cdq): (JSC::X86Assembler::xchgl_rr): (JSC::X86Assembler::movl_rr): (JSC::X86Assembler::movl_rm): (JSC::X86Assembler::movl_mr): (JSC::X86Assembler::movl_i32r): (JSC::X86Assembler::movl_i32m): (JSC::X86Assembler::movq_rr): (JSC::X86Assembler::movq_rm): (JSC::X86Assembler::movq_mr): (JSC::X86Assembler::movzwl_mr): (JSC::X86Assembler::movzbl_rr): (JSC::X86Assembler::leal_mr): (JSC::X86Assembler::call): (JSC::X86Assembler::jmp): (JSC::X86Assembler::jmp_r): (JSC::X86Assembler::jmp_m): (JSC::X86Assembler::jne): (JSC::X86Assembler::jnz): (JSC::X86Assembler::je): (JSC::X86Assembler::jl): (JSC::X86Assembler::jb): (JSC::X86Assembler::jle): (JSC::X86Assembler::jbe): (JSC::X86Assembler::jge): (JSC::X86Assembler::jg): (JSC::X86Assembler::ja): (JSC::X86Assembler::jae): (JSC::X86Assembler::jo): (JSC::X86Assembler::jp): (JSC::X86Assembler::js): (JSC::X86Assembler::addsd_rr): (JSC::X86Assembler::addsd_mr): (JSC::X86Assembler::cvtsi2sd_rr): (JSC::X86Assembler::cvttsd2si_rr): (JSC::X86Assembler::movd_rr): (JSC::X86Assembler::movsd_rm): (JSC::X86Assembler::movsd_mr): (JSC::X86Assembler::mulsd_rr): (JSC::X86Assembler::mulsd_mr): (JSC::X86Assembler::pextrw_irr): (JSC::X86Assembler::subsd_rr): (JSC::X86Assembler::subsd_mr): (JSC::X86Assembler::ucomis_rr): (JSC::X86Assembler::int3): (JSC::X86Assembler::ret): (JSC::X86Assembler::predictNotTaken): (JSC::X86Assembler::label): (JSC::X86Assembler::align): (JSC::X86Assembler::link): (JSC::X86Assembler::executableCopy): (JSC::X86Assembler::X86InstructionFormater::prefix): (JSC::X86Assembler::X86InstructionFormater::oneByteOp): (JSC::X86Assembler::X86InstructionFormater::twoByteOp): (JSC::X86Assembler::X86InstructionFormater::oneByteOp64): (JSC::X86Assembler::X86InstructionFormater::oneByteOp8): (JSC::X86Assembler::X86InstructionFormater::twoByteOp8): (JSC::X86Assembler::X86InstructionFormater::instructionImmediate8): (JSC::X86Assembler::X86InstructionFormater::instructionImmediate32): (JSC::X86Assembler::X86InstructionFormater::instructionRel32): (JSC::X86Assembler::X86InstructionFormater::size): (JSC::X86Assembler::X86InstructionFormater::isAligned): (JSC::X86Assembler::X86InstructionFormater::data): (JSC::X86Assembler::X86InstructionFormater::executableCopy): (JSC::X86Assembler::X86InstructionFormater::registerModRM): (JSC::X86Assembler::X86InstructionFormater::memoryModRM):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JITArithmetic.cpp: (JSC::JIT::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::JIT::compileBinaryArithOp):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::privateCompilePatchGetArrayLength): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChainList): (JSC::JIT::privateCompileGetByIdChain):
3:31 PM Changeset in webkit [39315] by andersca@apple.com
  • 5 edits in trunk/WebKit/mac

2008-12-15 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Let WebKit generate a plug-in ID instead of having the plug-in host do it.

  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin): Create the plug-in proxy before instantiating the plug-in.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::create): (WebKit::NetscapePluginInstanceProxy::setRenderContextID): (WebKit::NetscapePluginInstanceProxy::setUseSoftwareRenderer):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
  • Plugins/Hosted/WebKitPluginHost.defs:
2:30 PM Changeset in webkit [39314] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

2008-12-15 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

LoadURL doesn't need to be asynchronous.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCLoadURL):
  • Plugins/Hosted/WebKitPluginClient.defs:
  • Plugins/Hosted/WebKitPluginHost.defs:
2:18 PM Changeset in webkit [39313] by eric@webkit.org
  • 2 edits in trunk

2008-12-15 Daniel Macks <dmacks@netspace.org>

Reviewed by Darin Adler.

Default to use external libicu-config if avail on all platforms.
https://bugs.webkit.org/show_bug.cgi?id=22713

  • configure.ac:
1:51 PM Changeset in webkit [39312] by pol@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-15 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Dan Bernstein.

Added an extra layout test for transitions.

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

  • transitions/change-values-during-transition-expected.txt: Added.
  • transitions/change-values-during-transition.html: Added.
1:09 PM Changeset in webkit [39311] by weinig@apple.com
  • 8 edits
    1 delete in trunk/WebCore

2008-12-15 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22847
Geolocation PositionOptions cannot be an arbitrary object.

Allow the PositionOptions to be a vanilla JS object and parse it
appropriately.

  • DerivedSources.make: Remove PositionOptions.
  • GNUmakefile.am: Ditto.
  • WebCore.pro: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • WebCoreSources.bkl: Ditto.
  • bindings/js/JSGeolocationCustom.cpp: (WebCore::createPositionOptions): Added. Extracts the enableHighAccuracy and timeout fields from a vanilla JS object in order to create the PositionOptions object, checking for exceptions as necessary. (WebCore::JSGeolocation::getCurrentPosition): Use createPositionOptions instead of toPositionOptions. (WebCore::JSGeolocation::watchPosition): Ditto.
  • page/PositionOptions.idl: Removed
1:06 PM Changeset in webkit [39310] by pol@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-15 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Dan Bernstein.

Added an extra layout test for animations.

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

  • animations/combo-transform-rotate+scale-expected.txt: Added.
  • animations/combo-transform-rotate+scale.html: Added.
12:45 PM Changeset in webkit [39309] by pkasting@chromium.org
  • 15 edits in trunk/WebCore

2008-12-15 Peter Kasting <pkasting@google.com>

Reviewed by David Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=22108
Large animated GIFs weren't always animating. The code that deleted
the entire decoder after each frame of a large image was resulting in
us forgetting the loop count, breaking animations intermittently.

Instead of throwing the whole decoder away, we're more careful to just
delete frames we don't care about. This additionally addresses
problems in the Cairo and Chromium ports with excessive peak memory
use and CPU use when decoding large animated GIFs because it leads to
much less redecoding (O(n) instead of O(n2) CPU, and O(1) instead of
O(n) memory).

This change has less impact on the CG decoder, which seems to throw
away frames automatically when their external references are dropped;
this means the CG decoder didn't suffer from the peak memory usage
issue before (and still doesn't), but it also still burns excessive
CPU redecoding earlier frames, that in theory it wouldn't need to
redecode if it would judiciously save the most recent frames. At
least this patch plumbs some useful info to the ImageSource so it can
help guide the CG decoder heuristics in the future.

  • platform/graphics/BitmapImage.cpp: (WebCore::frameBytes): (WebCore::BitmapImage::destroyDecodedData): (WebCore::BitmapImage::destroyDecodedDataIfNecessary): (WebCore::BitmapImage::destroyMetadataAndNotify): (WebCore::BitmapImage::clearFrame): (WebCore::BitmapImage::cacheFrame): (WebCore::BitmapImage::dataChanged): (WebCore::BitmapImage::startAnimation): (WebCore::BitmapImage::resetAnimation): (WebCore::BitmapImage::internalAdvanceAnimation):
  • platform/graphics/BitmapImage.h:
  • platform/graphics/GeneratedImage.h: (WebCore::GeneratedImage::destroyDecodedData):
  • platform/graphics/Image.h:
  • platform/graphics/ImageSource.h:
  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::~ImageSource): (WebCore::ImageSource::clear):
  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::~ImageSource): (WebCore::ImageSource::clear):
  • platform/graphics/cg/PDFDocumentImage.h: (WebCore::PDFDocumentImage::destroyDecodedData):
  • platform/graphics/qt/StillImageQt.h: (WebCore::StillImage::destroyDecodedData):
  • platform/image-decoders/ImageDecoder.h: (WebCore::RGBA32Buffer::clear): (WebCore::ImageDecoder::clearFrameBufferCache):
  • platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::repetitionCount): (WebCore::GIFImageDecoder::clearFrameBufferCache): (WebCore::GIFImageDecoder::initFrameBuffer):
  • platform/image-decoders/gif/GIFImageDecoder.h:
  • platform/image-decoders/gif/GIFImageReader.h: (GIFImageReader::GIFImageReader):
  • svg/graphics/SVGImage.h: (WebCore::SVGImage::destroyDecodedData):
12:18 PM Changeset in webkit [39308] by pol@apple.com
  • 3 edits in trunk/LayoutTests

2008-12-15 Pierre-Olivier Latour <pol@apple.com>

Updated transform-value-types.html and transform-value-types-expected.txt to latest version
since change r39264 was lost when relocating these files.

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

  • transforms/2d/transform-value-types-expected.txt:
  • transforms/2d/transform-value-types.html:
11:49 AM Changeset in webkit [39307] by pol@apple.com
  • 1 edit
    4 moves
    12 adds in trunk/LayoutTests

2008-12-15 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Sam Weinig.

Add new layout tests for transforms, animations & transitions.
Also move a couple transform layout tests to the proper subdirectory.

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

  • animations/combo-transform-translate+scale-expected.txt: Added.
  • animations/combo-transform-translate+scale.html: Added.
  • transforms/2d/computed-style-origin-expected.txt: Copied from LayoutTests/transforms/computed-style-origin-expected.txt.
  • transforms/2d/computed-style-origin.html: Copied from LayoutTests/transforms/computed-style-origin.html.
  • transforms/2d/transform-value-types-expected.txt: Copied from LayoutTests/transforms/transform-value-types-expected.txt.
  • transforms/2d/transform-value-types.html: Copied from LayoutTests/transforms/transform-value-types.html.
  • transforms/computed-style-origin-expected.txt: Removed.
  • transforms/computed-style-origin.html: Removed.
  • transforms/transform-value-types-expected.txt: Removed.
  • transforms/transform-value-types.html: Removed.
  • transitions/interrupt-transform-transition-expected.txt: Added.
  • transitions/interrupt-transform-transition.html: Added.
  • transitions/start-transform-transition-expected.txt: Added.
  • transitions/start-transform-transition.html: Added.
  • transitions/transition-timing-function-software-expected.txt: Added.
  • transitions/transition-timing-function-software.html: Added.
  • transitions/zero-duration-in-list-expected.txt: Added.
  • transitions/zero-duration-in-list.html: Added.
  • transitions/zero-duration-without-units-expected.txt: Added.
  • transitions/zero-duration-without-units.html: Added.
11:42 AM Changeset in webkit [39306] by cwzwarich@webkit.org
  • 9 edits in trunk/WebCore

2008-12-15 Cameron Zwarich <zwarich@apple.com>

Reviewed by Darin Adler.

Bug 22562: REGRESSION (r37971): events not firing after going back in back/forward cache
<https://bugs.webkit.org/show_bug.cgi?id=22562>
<rdar://problem/6414593>

Restore the Frame's DOMWindow to its previous value when going back in
the back/forward cache. The fact that it was not getting set before may
have always caused some subtle bugs with the back/forward cache, but
after r37971, it causes no events to fire after restoring a page.

Previously, ScriptController::clearScriptObjects() was calling
clearPlatformScriptObjects(), which was not actually clearing any
objects, only updating them to reflect some change in state. Since the
window shell was not updated until after the call to clearScriptObjects(),
this didn't actually make that much sense.

We rename clearPlatformScriptObjects() to reflect its actual purpose and
call it after the window shell has been updated rather than before.

Unfortunately, there is no way to test this with a layout test because
it involves the back/forward cache.

  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::updatePlatformScriptObjects): Renamed from clearPlatformScriptObjects(), because the only nonempty implementation doesn't actually clear any objects, it updates them. Also made public. (WebCore::ScriptController::clearScriptObjects): Remove the call to clearPlatformScriptObjects().
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::updatePlatformScriptObjects):
  • history/CachedPage.cpp: (WebCore::CachedPage::domWindow): Added.
  • history/CachedPage.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::cancelAndClear): Added call to updatePlatformScriptObjects(). (WebCore::FrameLoader::begin): Added call to updatePlatformScriptObjects(). (WebCore::FrameLoader::open): Added call to updatePlatformScriptObjects().
  • page/Frame.cpp: (WebCore::Frame::setDOMWindow): Added. (WebCore::Frame::pageDestroyed): Added call to updatePlatformScriptObjects().
  • page/Frame.h:
7:31 AM Changeset in webkit [39305] by Antti Koivisto
  • 6 edits in trunk/WebKit/mac

2008-12-15 Antti Koivisto <Antti Koivisto>

Reviewed by Darin Adler.


  • Add [WebFrame reloadFromOrigin] for performing end-to-end reload.
  • Add corresponding IBAction to WebView.
  • Temporarily make [WebFrame reload] trigger end-to-end reload if shift modifier is pressed when it is called.
  • WebView/WebFrame.h:
  • WebView/WebFrame.mm: (-[WebFrame reload]): (-[WebFrame reloadFromOrigin]):
  • WebView/WebFramePrivate.h: Match the FrameLoadType enum in WebCore.
  • WebView/WebView.h:
  • WebView/WebView.mm: (-[WebView reloadFromOrigin:]):
7:28 AM Changeset in webkit [39304] by Antti Koivisto
  • 12 edits in trunk/WebCore

2008-12-15 Antti Koivisto <Antti Koivisto>

Reviewed by Darin Adler.

When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
https://bugs.webkit.org/show_bug.cgi?id=17998


  • Enable conditional revalidation for reloads by default.
  • Add a parameter to FrameLoader::reload() for forcing end-to-end reload.
  • To avoid duplicating state remove m_cachePolicy variables from FrameLoader and DocLoader. Instead synthezise the policy on demand.


This speeds up reloads and makes them use way less bandwidth.

  • WebCore.base.exp:
  • loader/CachePolicy.h: Rename CachePolicyRefresh to CachePolicyRevalidate. (WebCore::):
  • loader/DocLoader.cpp: (WebCore::DocLoader::DocLoader): (WebCore::DocLoader::checkForReload): Support CachePolicyRevalidate. (WebCore::DocLoader::requestResource): (WebCore::DocLoader::cachePolicy):
  • loader/DocLoader.h: Get rid of m_cachePolicy member.
  • loader/FrameLoader.cpp: (WebCore::ScheduledRedirection::ScheduledRedirection):

Add parameter to differentiate refresh from other types of redirects.
m_cachePolicy was used for signaling this before.

(WebCore::isBackForwardLoadType):
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::changeLocation):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::write):
(WebCore::FrameLoader::startIconLoader):
(WebCore::FrameLoader::restoreDocumentState):
(WebCore::FrameLoader::scheduleHTTPRedirection):
(WebCore::FrameLoader::scheduleLocationChange):
(WebCore::FrameLoader::scheduleRefresh):
(WebCore::FrameLoader::redirectionTimerFired):
(WebCore::FrameLoader::canCachePage):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::reload):

Differentiate between revalidation and reload.
No need to use setHTTPHeaderField here, addExtraFieldsToRequest will set the headers.

(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::cachePolicy): Determine the cache policy based on current load type.
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::addExtraFieldsToRequest): Set Cache-control: no-cache for FrameLoadTypeReloadFromOrigin
(WebCore::FrameLoader::shouldScrollToAnchor):
(WebCore::FrameLoader::loadItem):
(WebCore::FrameLoader::updateHistoryForReload):
(WebCore::FrameLoader::updateHistoryForCommit):
(WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):

  • loader/FrameLoader.h:
  • loader/FrameLoaderTypes.h: Add FrameLoadTypeReloadFromOrigin (WebCore::):
  • loader/NavigationAction.cpp: (WebCore::navigationType): Support FrameLoadTypeReloadFromOrigin
  • loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests):
6:25 AM Changeset in webkit [39303] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-12-15 Darin Adler <Darin Adler>

  • interpreter/RegisterFile.h: Tweak include formatting.
6:14 AM Changeset in webkit [39302] by zecke@webkit.org
  • 2 edits in trunk/JavaScriptCore

Build fix for Gtk+

4:34 AM Changeset in webkit [39301] by zecke@webkit.org
  • 3 edits in trunk/WebKit/qt

Change the order of sub frame initialisation to avoid crashes

Add the newly created frame to the FrameTree before calling
WebCore::Frame::init to not segfault on
LayoutTests/fast/loader/frame-creation-removal.html.

4:32 AM Changeset in webkit [39300] by zecke@webkit.org
  • 2 edits in trunk/WebCore

Add null checks to PlatformScreenQt

The other ports do the null checks and JSDOMWindowBase is
at least one caller that is passing 0.

4:19 AM Changeset in webkit [39299] by Simon Hausmann
  • 2 edits in trunk/LayoutTests

2008-12-15 Simon Hausmann <Simon Hausmann>

Reviewed by Holger Freyther.

Add worker tests to the skip list for the Qt DRT as the feature is not enabled.

4:19 AM Changeset in webkit [39298] by Simon Hausmann
  • 5 edits in trunk

2008-12-15 Simon Hausmann <Simon Hausmann>

Reviewed by Holger Freyther.

Implement setJavaScriptProfilingEnabled in the Qt DRT to pass fast/profiler.

4:03 AM Changeset in webkit [39297] by ap@webkit.org
  • 4 edits in trunk

Reviewed by Oliver Hunt.

<rdar://problem/6444455> Worker Thread crash running multiple workers for a moderate amount of time

WebCore:

  • dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): Detach the thread. Without this, one page of its stack was never unmmaped, and fragmentation made RegisterFile allocaiton fail after a while.

JavaScriptCore:

  • interpreter/RegisterFile.h: (JSC::RegisterFile::RegisterFile): Improve error handling: if mmap fails, crash immediately, and print out the reason.

Dec 14, 2008:

6:13 PM Changeset in webkit [39296] by Darin Adler
  • 10 edits in trunk/WebCore

2008-12-13 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • dom/Document.cpp: (WebCore::Document::removeImage): Change to set slots in the vector to 0 rather than removing items from a list. (WebCore::Document::dispatchImageLoadEventsNow): Rewrite to process the list. Since we now use a "set to zero" design, we don't need to be careful about where the iterator points while iterating the list, instead we just have to skip zeros.
  • dom/Document.h: Use Vector instead of DeprecatedPtrList.
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchGenericEvent): Use a Vector instead of a DeprecatedPtrList for the list of nodes to handle. Also streamlined the logic a bit and used goto in a couple key places.
  • dom/Node.cpp: (WebCore::Node::eventParentNode): Moved this function into this file because it's a virtual function so already can't be inlined. Also updated to return a ContainerNode, so it needs to be in a place where the definition of ContainerNode is visible, not the header file.
  • dom/Node.h: Changed return type of eventParentNode to ContainerNode and moved its definition into the cpp file.
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::PendingCallbacks::~PendingCallbacks): Added a call to deleteAllValues here instead of setAutoDelete in the constructor, since we're using Deque instead of DeprecatedPtrList. (WebCore::PendingCallbacks::callAndRemoveFirstCallback): Changed the code to use an OwnPtr since the deque won't delete the callback object.
  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Use a Vector instead of a DeprecatedPtrList.
  • svg/SVGElement.cpp: (WebCore::SVGElement::eventParentNode): Moved this function into this file because it's a virtual function so already can't be inlined. Also updated to return a ContainerNode.
  • svg/SVGElement.h: Changed setShadowParentNode to take a ContainerNode*, made eventParentNode return a ContainerNode*, and made m_shadowParent a ContainerNode*.
4:41 PM Changeset in webkit [39295] by mitz@apple.com
  • 4 edits in trunk/WebKit

WebKit/mac:

Reviewed by Darin Adler.

  • fix <rdar://problem/3258561> WebHistoryAllItemsRemovedNotification should add items to userInfo
  • History/WebHistory.mm: (-[WebHistoryPrivate allItems]): Added this helper method, which returns all values in the _entriesByURL dictionary. (-[WebHistory removeAllItems]): Changed to send the array of all items in the notification.

WebKit/win:

Reviewed by Darin Adler.

  • Windows equivalent of <rdar://problem/3258561> WebHistoryAllItemsRemovedNotification should add items to userInfo
  • WebHistory.cpp: (WebHistory::removeAllItems): Changed to create an array of all items and send it in the notification.
3:37 PM Changeset in webkit [39294] by Nikolas Zimmermann
  • 10 edits
    4 adds in trunk

Reviewed by George Staikos.

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

Jumps within a WML deck using <go> task elements fail. Manual reloading
is necessary to display the page - fix cache-policy in WMLGoElement::executeTask
to prevent the problem.

Refactor setActiveCardInDocument in two new functions: findNamedCardInDocument
and determineActiveCard, to fix a side-effect of executing a <go> task:
when switching cards within a deck the active card was changed before the load
was fired which resulted in a flash effect on the screen, and doing unnecessary work.

Test: wml/go-task-animation.html

6:47 AM Changeset in webkit [39293] by krit@webkit.org
  • 3 edits
    3 adds in trunk

2008-12-14 Dirk Schulze <krit@webkit.org>

Reviewed by Oliver Hunt.

WebCore:

Fixes an issue in cairo. A fully transparent color can cause wrong
drawings on canvas' composite.

https://bugs.webkit.org/show_bug.cgi?id=22846
[CAIRO] Canvas: transparent color and composite

Test: fast/canvas/canvas-transparency-and-composite.html

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath):

LayoutTest:

Ensure correct behaviour of composite on a fully transparent color.

  • fast/canvas/canvas-transparency-and-composite-expected.txt: Added.
  • fast/canvas/canvas-transparency-and-composite.html: Added.
  • fast/canvas/resources/canvas-transparency-and-composite.js: Added.
3:46 AM Changeset in webkit [39292] by jchaffraix@webkit.org
  • 12 edits in trunk/WebCore

2008-12-13 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
https://bugs.webkit.org/show_bug.cgi?id=22665

Remove setCreatedByParser from frame and iframe.

  • html/HTMLElementFactory.cpp: (WebCore::frameConstructor): (WebCore::iframeConstructor): (WebCore::objectConstructor):
  • html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::HTMLFrameElement):
  • html/HTMLFrameElement.h:
  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
  • html/HTMLFrameElementBase.h:
  • html/HTMLFrameOwnerElement.cpp: (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
  • html/HTMLFrameOwnerElement.h: (WebCore::HTMLFrameOwnerElement::createdByParser):
  • html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::HTMLIFrameElement):
  • html/HTMLIFrameElement.h:
  • html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::HTMLPlugInElement):
  • html/HTMLTagNames.in:
2:45 AM Changeset in webkit [39291] by ap@webkit.org
  • 1 edit in trunk/LayoutTests/ChangeLog

Fix a typo in ChangeLog.

2:07 AM Changeset in webkit [39290] by ap@webkit.org
  • 3 edits in trunk/LayoutTests

Suggested by Holger Freyther.

  • fast/workers/worker-navigator-expected.txt:
  • fast/workers/worker-navigator.html: navigator.platform.length is intentionally zero on Gtk+, changed to check for uts type.
1:55 AM Changeset in webkit [39289] by ap@webkit.org
  • 15 edits
    2 moves
    4 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22843
Auto-generate JSWorkerContext

  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/WorkerContext.idl: Added.
  • page/DOMWindow.idl: Added ExtendsDOMGlobalObject, a new attribute for behaviors common to DOMWindow and WorkerContext.
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::initScript): Made JSWorkerContext creation look more like JSDOMWindow creation, to work with generated code.
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSWorkerContext.cpp: Removed.
  • bindings/js/JSWorkerContext.h: Removed.
  • bindings/js/JSWorkerContextBase.cpp: Copied from WebCore/bindings/js/JSWorkerContext.cpp. (WebCore::JSWorkerContextBase::JSWorkerContextBase): (WebCore::JSWorkerContextBase::~JSWorkerContextBase): (WebCore::JSWorkerContextBase::scriptExecutionContext): (WebCore::getJSWorkerContextBaseTable): (WebCore::): (WebCore::JSWorkerContextBase::put):
  • bindings/js/JSWorkerContextBase.h: Copied from WebCore/bindings/js/JSWorkerContext.h.
  • bindings/js/JSWorkerContextCustom.cpp: Added. (WebCore::JSWorkerContext::customGetOwnPropertySlot): (WebCore::JSWorkerContext::mark): (WebCore::JSWorkerContext::self): (WebCore::JSWorkerContext::setSelf): (WebCore::JSWorkerContext::addEventListener): (WebCore::JSWorkerContext::removeEventListener): Moved code around. Note that currently, JSWorkerContextBase lookup table is empty, but we'll need to add some global objects to it in the future, as it is done in JSDOMWindowBase.
  • page/WorkerNavigator.cpp:
  • page/WorkerNavigator.h: Added ENABLE(WORKERS) ifdefs.

Dec 13, 2008:

11:55 PM Changeset in webkit [39288] by krit@webkit.org
  • 1 edit
    4 deletes in trunk/LayoutTests

2008-12-13 Dirk Schulze <krit@webkit.org>

Reviewed by Oliver Hunt.

LayoutTest:

This test is wrong. We shouldn't fill something with a gradient, if the
path is empty.

  • fast/canvas/gradient-empty-path.html: Removed.
  • platform/mac/fast/canvas/gradient-empty-path-expected.checksum: Removed.
  • platform/mac/fast/canvas/gradient-empty-path-expected.png: Removed.
  • platform/mac/fast/canvas/gradient-empty-path-expected.txt: Removed.
11:19 PM Changeset in webkit [39287] by barraclough@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-12-13 Gavin Barraclough <barraclough@apple.com>

Reviewed by Cameron Zwarich.

Re-enable WREC on 64-bit.
Implements one of the MacroAssembler::jnzPtr methods, previously only implemented for 32-bit x86.

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

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::testImm64): (JSC::MacroAssembler::jnzPtr):
  • assembler/X86Assembler.h: (JSC::X86Assembler::testq_i32r): (JSC::X86Assembler::testq_rr):
  • wtf/Platform.h:
5:28 PM Changeset in webkit [39286] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-13 Gavin Barraclough <barraclough@apple.com>

Fix PPC builds.

  • assembler/MacroAssembler.h:
4:24 PM Changeset in webkit [39285] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-13 Gavin Barraclough <barraclough@apple.com>

Build fix only, no review.

  • bytecode/CodeBlock.h:
3:58 PM Changeset in webkit [39284] by barraclough@apple.com
  • 11 edits in trunk/JavaScriptCore

2008-12-13 Gavin Barraclough <barraclough@apple.com>

Reviewed by Cameron Zwarich.

Port the remainder of the JIT, bar calling convention related code, and code
implementing optimizations which can be disabled, to use the MacroAssembler.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::DataLabelPtr::DataLabelPtr): (JSC::MacroAssembler::RepatchBuffer::RepatchBuffer): (JSC::MacroAssembler::RepatchBuffer::link): (JSC::MacroAssembler::RepatchBuffer::addressOf): (JSC::MacroAssembler::RepatchBuffer::setPtr): (JSC::MacroAssembler::addPtr): (JSC::MacroAssembler::lshift32): (JSC::MacroAssembler::mod32): (JSC::MacroAssembler::rshift32): (JSC::MacroAssembler::storePtrWithRepatch): (JSC::MacroAssembler::jnzPtr): (JSC::MacroAssembler::jzPtr): (JSC::MacroAssembler::jump): (JSC::MacroAssembler::label):
  • assembler/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::xchgl_rr): (JSC::X86Assembler::jmp_m): (JSC::X86Assembler::repatchAddress): (JSC::X86Assembler::getRelocatedAddress):
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::CodeBlock):
  • bytecode/CodeBlock.h: (JSC::JITCodeRef::JITCodeRef): (JSC::CodeBlock::setJITCode): (JSC::CodeBlock::jitCode): (JSC::CodeBlock::executablePool):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileLinkPass): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h: (JSC::CallRecord::CallRecord): (JSC::JumpTable::JumpTable): (JSC::JIT::emitCTICall): (JSC::JIT::JSRInfo::JSRInfo):
  • jit/JITArithmetic.cpp:
  • jit/JITCall.cpp:
  • jit/JITInlineMethods.h: (JSC::JIT::emitNakedCall): (JSC::JIT::emitCTICall_internal): (JSC::JIT::checkStructure): (JSC::JIT::emitFastArithDeTagImmediateJumpIfZero): (JSC::JIT::addSlowCase): (JSC::JIT::addJump): (JSC::JIT::emitJumpSlowToHot):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompileGetByIdChainList): (JSC::JIT::privateCompileGetByIdChain):
3:28 PM Changeset in webkit [39283] by Darin Adler
  • 2 edits in trunk/WebCore

2008-12-13 Darin Adler <Darin Adler>

  • fix Release build
  • dom/Node.cpp: (WebCore::Node::rareData): Remove inappropriate inline directive.
3:17 PM Changeset in webkit [39282] by Darin Adler
  • 2 edits in trunk/WebKit/mac

2008-12-13 Darin Adler <Darin Adler>

  • <rdar://problem/6441035> WebTextIterator class not exported in WebKit
  • WebKit.exp: Added the class. We forgot to export it when we added the WebTextIterator SPI.
3:02 PM Changeset in webkit [39281] by Darin Adler
  • 4 edits
    2 adds in trunk

WebCore:

2008-12-13 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

Test: fast/forms/textarea-selection-preservation.html

The regression reported was caused by the fact that the renderer code had
a bug where it would constantly think the newline at the end of text was
missing, and so it would replace all the text even though it wasn't changing,
which would destroy the selection.

When writing the regression test I discovered another problem: The value
property in HTMLTextAreaElement was intentionally changing the selection
to the end of the textarea, but doing that even when the value wasn't changing.

This patch fixes both and the test checks both.

  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setValue): Exit early if the value is not changing.
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::text): Add a newline character for each <br> element encountered in the control

LayoutTests:

2008-12-13 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

  • fast/forms/textarea-selection-preservation-expected.txt: Added.
  • fast/forms/textarea-selection-preservation.html: Added.
2:58 PM Changeset in webkit [39280] by Darin Adler
  • 7 edits
    4 deletes in trunk/WebCore

2008-12-13 Darin Adler <Darin Adler>

  • GNUmakefile.am: Removed references to deleted files.
  • WebCore.pro: Ditto.
  • WebCore.scons: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • WebCoreSources.bkl: Ditto.
  • platform/DeprecatedPtrQueue.h: Removed.
  • platform/DeprecatedValueList.h: Removed.
  • platform/DeprecatedValueListImpl.cpp: Removed.
  • platform/DeprecatedValueListImpl.h: Removed.
2:53 PM Changeset in webkit [39279] by Darin Adler
  • 16 edits in trunk/WebCore

2008-12-13 Darin Adler <Darin Adler>

Reviewed by Anders Carlsson.

  • css/CSSStyleDeclaration.cpp: Removed unneeded include.
  • dom/Document.cpp: (WebCore::Document::removeAllEventListenersFromAllNodes): Set the removed flag on the window event listeners in case we are in the middle of dispatching events on this window. (WebCore::Document::clear): Ditto. (WebCore::Document::handleWindowEvent): Changed to use a vector instead of a DeprecatedPtrList. (WebCore::Document::windowInlineEventListenerForType): Ditto. (WebCore::Document::removeWindowInlineEventListenerForType): Ditto. Also added a call to setRemoved, which is needed here just as in other functions that remove. (WebCore::Document::removeWindowEventListener): Ditto. (WebCore::Document::hasWindowEventListener): Ditto.
  • dom/Document.h: Changed RegisteredEventListenerList to RegisteredEventListeners.
  • dom/Element.cpp: (WebCore::Element::attach): Use a function to access rare data instead of getting directly at the data field. (WebCore::Element::focus): Ditto. (WebCore::Element::cancelFocusAppearanceUpdate): Ditto.
  • dom/ElementRareData.h: Use "using" to make things that are protected in NodeRareData be public here.
  • dom/EventTarget.h: Removed include of DeprecatedValueList and related declearations that weren't needed. Tweaked the definitions of the forbidEventDispatch functions too.
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::EventTargetNode): Eliminated code that was used to initialized m_regdListeners. (WebCore::EventTargetNode::~EventTargetNode): Elminated delete of m_regdListeners. Changed code to use eventListeners() instead of m_regdListeners. (WebCore::EventTargetNode::eventListeners): Added. (WebCore::EventTargetNode::insertedIntoDocument): Use eventListeners. (WebCore::EventTargetNode::removedFromDocument): Ditto. (WebCore::EventTargetNode::willMoveToNewOwnerDocument): Ditto. (WebCore::EventTargetNode::didMoveToNewOwnerDocument): Ditto. (WebCore::EventTargetNode::addEventListener): Ditto. (WebCore::EventTargetNode::removeEventListener): Ditto. (WebCore::EventTargetNode::removeAllEventListeners): Ditto. Also added code to call setRemoved on all the listeners. (WebCore::EventTargetNode::handleLocalEvents): Ditto. (WebCore::EventTargetNode::dispatchGenericEvent): Fixed indentation. (WebCore::EventTargetNode::removeInlineEventListenerForType): Use the new event listeners vector. Also added missing call to setRemoved. (WebCore::EventTargetNode::inlineEventListenerForType): Ditto.
  • dom/EventTargetNode.h: Added a new RegisteredEventListenerVector type and replaced the old localEventListeners function with a new eventListeners function. Removed m_regdListeners.
  • dom/Node.cpp: (WebCore::Node::childNodes): Removed unneeded std prefix. (WebCore::Node::setFocus): Use function instead of going directly at rare data. (WebCore::Node::rareDataFocused): Ditto. (WebCore::Node::registerDynamicNodeList): Removed unneeded std prefix. (WebCore::Node::getElementsByName): Ditto. (WebCore::Node::getElementsByClassName): Ditto. (WebCore::Node::compareDocumentPosition): Ditto.
  • dom/Node.h: Removed unneeded forward declaration of RegisteredEventListener. This is now in EventTargetNode.
  • dom/NodeRareData.h: Renamed m_focused to m_isFocused and made it private. Made m_needsFocusAppearanceUpdateSoonAfterAttach private. Added listeners and ensureListeners functions as well as isFocused, setFocused, and focus-appearance functions. Made all data members private.
  • dom/RegisteredEventListener.cpp: Removed operator ==.
  • dom/RegisteredEventListener.h: Removed operator == and !=.
  • svg/SVGElement.cpp: (WebCore::hasLoadListener): Rewrote to work with the vector.
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::transferEventListenersToShadowTree): Ditto.
2:39 PM Changeset in webkit [39278] by zecke@webkit.org
  • 2 edits in trunk/WebKit/gtk

[GTK] Fix crash with LayoutTests/fast/loader/frame-creation-removal.html

Call WebCore::Frame::init after the frame has been given
a name and been added to the FrameTree of the parent.

Removing the call to init is fine as FrameLoaderClientGtk::createFrame
is the only user of webkit_web_frame_init_with_web_view and is already
calling WebCore::Frame::init.

1:45 PM Changeset in webkit [39277] by zecke@webkit.org
  • 12 edits in trunk

Change ENABLE(FONT_FAST_PATH) to USE(FONT_FAST_PATH) and
revert pixel test results back to the state as before r39254.

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

12:45 PM Changeset in webkit [39276] by krit@webkit.org
  • 3 edits
    3 adds in trunk

2008-12-13 Dirk Schulze <krit@webkit.org>

Reviewed by Darin Adler.

WebCore:

Fixes behavior of gradients on empty path in canvas/Cg

https://bugs.webkit.org/show_bug.cgi?id=22844
[Cg] Canvas fill() draws gradients even without a path

Test: fast/canvas/canvas-gradient-without-path.html

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::fill): (WebCore::CanvasRenderingContext2D::stroke):

LayoutTest:

Checks behavior of gradients on an empty path in canvas.

  • fast/canvas/canvas-gradient-without-path-expected.txt: Added.
  • fast/canvas/canvas-gradient-without-path.html: Added.
  • fast/canvas/resources/canvas-gradient-without-path.js: Added.
10:38 AM Changeset in webkit [39275] by zecke@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-12-13 Adam Bergkvist <adam.bergkvist@ericsson.com>

Reviewed by Holger Freyther.

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

Check for GTK version >= 2.14.0 before using gtk_test_init.

  • tests/main.c: (main):
10:37 AM Changeset in webkit [39274] by zecke@webkit.org
  • 5 edits in trunk

WebKit/gtk
2008-12-13 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Darin Adler.

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

Implement animation and transition pausing as needed by DumpRenderTree.

  • webkit/webkitprivate.h:
  • webkit/webkitwebframe.cpp:

WebKitTools
2008-12-13 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Darin Adler.

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

Implement animation and transition pausing.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::pauseAnimationAtTimeOnElementWithId): (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
9:50 AM Changeset in webkit [39273] by kevino@webkit.org
  • 5 edits in trunk/WebKit/wx

Reviewed by Kevin Ollivier.

Expose findString in wxWebView as FindString.

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

9:38 AM Changeset in webkit [39272] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix.

Dec 12, 2008:

10:58 PM Changeset in webkit [39271] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-12-12 Cameron Zwarich <zwarich@apple.com>

Reviewed by Sam Weinig.

Fix the failures of the following layout tests, which regressed in
r39255:

fast/dom/StyleSheet/ownerNode-lifetime-2.html
fast/xsl/transform-xhr-doc.xhtml

The binary search in CodeBlock::getByIdExceptionInfoForBytecodeOffset()
doesn't guarantee that it actually finds a match, so add an explicit check
for this.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset):
10:32 PM Changeset in webkit [39270] by pewtermoose@webkit.org
  • 5 edits in trunk

WebCore:

2008-12-12 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Oliver Hunt.

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

Provides implementation of image dragging logic for Windows Cairo
back-end.

  • platform/win/DragImageCGWin.cpp: (WebCore::deallocContext): Add a generic CGContextRef destructor.
  • platform/win/DragImageCairoWin.cpp: (WebCore::deallocContext): Add a generic cairo_* destructor. (WebCore::allocImage): New implementation to allocate a Cairo surface of a specified size. (WebCore::createCairoContextFromBitmap): New implementation to create a Cairo surface from a Windows BITMAP. (WebCore::scaleDragImage): Replace stub with implementation to actually create a scaled image. (WebCore::createDragImageFromImage): Replace stub with implementation to actually create an image.

WebKit/win:

2008-12-12 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Oliver Hunt.

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

Provides implementation of image drag for Windows Cairo back-end.
Switch to generic PlatformGraphicsContext data type, rather than
specific use of CoreGraphics types.

  • WebCoreSupport/WebDragClient.cpp: (WebDragClient::createDragImageForLink): Revise calls to use more generic PlatformGraphicsContext data types and calls for better portability.
10:06 PM Changeset in webkit [39269] by sfalken@apple.com
  • 2 edits in trunk/WebKit/win

Update Windows cache sizes to match recent Mac change.


Reviewed by Stephanie Lewis, Sam Weinig.

  • WebView.cpp: (WebView::setCacheModel):
9:25 PM Changeset in webkit [39268] by barraclough@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-12-12 Gavin Barraclough <barraclough@apple.com>

Reviewed by Camron Zwarich.

Replace emitPutCallArg methods with emitPutJITStubArg methods. Primarily to make the argument numbering
more sensible (1-based incrementing by 1, rather than 0-based incrementing by 4). The CTI name also seems
to be being deprecated from the code generally.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileBinaryArithOp): (JSC::JIT::compileBinaryArithOpSlowCase):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCallSetupArgs): (JSC::JIT::compileOpCallEvalSetupArgs): (JSC::JIT::compileOpConstructSetupArgs): (JSC::JIT::compileOpCall):
  • jit/JITInlineMethods.h: (JSC::JIT::emitPutJITStubArg): (JSC::JIT::emitPutJITStubArgConstant): (JSC::JIT::emitGetJITStubArg): (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdSlowCase):
8:16 PM Changeset in webkit [39267] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-12 Gavin Barraclough <barraclough@apple.com>

Fix windows builds.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile):
7:18 PM Changeset in webkit [39266] by barraclough@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-12-12 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Remove loop counter 'i' from the JIT generation passes, replace with a member m_bytecodeIndex.

No impact on performance.

  • jit/JIT.cpp: (JSC::JIT::compileOpStrictEq): (JSC::JIT::emitSlowScriptCheck): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile):
  • jit/JIT.h: (JSC::CallRecord::CallRecord): (JSC::JmpTable::JmpTable): (JSC::JIT::emitCTICall):
  • jit/JITArithmetic.cpp: (JSC::JIT::compileBinaryArithOp): (JSC::JIT::compileBinaryArithOpSlowCase):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase):
  • jit/JITInlineMethods.h: (JSC::JIT::emitGetVirtualRegister): (JSC::JIT::emitGetVirtualRegisters): (JSC::JIT::emitNakedCall): (JSC::JIT::emitCTICall_internal): (JSC::JIT::emitJumpSlowCaseIfJSCell): (JSC::JIT::emitJumpSlowCaseIfNotJSCell): (JSC::JIT::emitJumpSlowCaseIfNotImmNum): (JSC::JIT::emitJumpSlowCaseIfNotImmNums): (JSC::JIT::emitFastArithIntToImmOrSlowCase): (JSC::JIT::addSlowCase): (JSC::JIT::addJump): (JSC::JIT::emitJumpSlowToHot):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compilePutByIdSlowCase):
7:03 PM Changeset in webkit [39265] by weinig@apple.com
  • 8 edits in trunk/JavaScriptCore

2008-12-12 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

<rdar://problem/6428342> Look into feasibility of discarding bytecode after native codegen

Move more JIT functionality to using offsets into the Instruction buffer
instead of raw pointers. Two to go!

  • interpreter/Interpreter.cpp: (JSC::bytecodeOffsetForPC): Rename from vPCForPC. (JSC::Interpreter::resolve): Pass offset to exception helper. (JSC::Interpreter::resolveSkip): Ditto. (JSC::Interpreter::resolveGlobal): Ditto. (JSC::Interpreter::resolveBaseAndProperty): Ditto. (JSC::Interpreter::resolveBaseAndFunc): Ditto. (JSC::isNotObject): Ditto. (JSC::Interpreter::unwindCallFrame): Call bytecodeOffsetForPC. (JSC::Interpreter::throwException): Use offsets instead of vPCs. (JSC::Interpreter::privateExecute): Pass offset to exception helper. (JSC::Interpreter::retrieveLastCaller): Ditto. (JSC::Interpreter::cti_op_instanceof): Ditto. (JSC::Interpreter::cti_op_call_NotJSFunction): Ditto. (JSC::Interpreter::cti_op_resolve): Pass offset to exception helper. (JSC::Interpreter::cti_op_construct_NotJSConstruct): Ditto. (JSC::Interpreter::cti_op_resolve_func): Ditto. (JSC::Interpreter::cti_op_resolve_skip): Ditto. (JSC::Interpreter::cti_op_resolve_global): Ditto. (JSC::Interpreter::cti_op_resolve_with_base): Ditto. (JSC::Interpreter::cti_op_throw): Ditto. (JSC::Interpreter::cti_op_in): Ditto. (JSC::Interpreter::cti_vm_throw): Ditto.
  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): Don't pass unnecessary vPC to stub.
  • jit/JIT.h: Remove ARG_instr1 - ARG_instr3 and ARG_instr5 - ARG_instr6.
  • jit/JITCall.cpp: (JSC::JIT::compileOpCallEvalSetupArgs): Don't pass unnecessary vPC to stub.. (JSC::JIT::compileOpConstructSetupArgs): Ditto.
  • runtime/ExceptionHelpers.cpp: (JSC::createUndefinedVariableError): Take an offset instead of vPC. (JSC::createInvalidParamError): Ditto. (JSC::createNotAConstructorError): Ditto. (JSC::createNotAFunctionError): Ditto. (JSC::createNotAnObjectError): Ditto.
  • runtime/ExceptionHelpers.h:
6:30 PM Changeset in webkit [39264] by dino@apple.com
  • 13 edits in trunk

2008-12-12 Dean Jackson <dino@apple.com>

Reviewed by Darin Adler.

Expose WebKitAnimationEvent, WebKitTransitionEvent,
WebKitCSSTransformValue, WebKitCSSKeyframeRule and
WebKitCSSKeyframesRule to Window object.
This required generating constructors for the event
interfaces.

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

WebCore:

  • dom/WebKitAnimationEvent.idl:
  • dom/WebKitTransitionEvent.idl:
  • page/DOMWindow.idl:

LayoutTests:

  • animations/keyframes-rule-expected.txt:
  • animations/keyframes-rule.html:
  • fast/dom/Window/window-properties-expected.txt:
  • fast/events/event-instanceof-expected.txt:
  • fast/events/resources/event-instanceof.js:
  • fast/js/global-constructors-expected.txt:
  • transforms/transform-value-types-expected.txt:
  • transforms/transform-value-types.html:
5:47 PM Changeset in webkit [39263] by cwzwarich@webkit.org
  • 3 edits
    3 adds in trunk

2008-12-12 Cameron Zwarich <zwarich@apple.com>

Reviewed by Oliver Hunt.

Bug 22835: Crash during bytecode generation when comparing to null
<https://bugs.webkit.org/show_bug.cgi?id=22835>
<rdar://problem/6286749>

Change the special cases in bytecode generation for comparison to null
to use tempDestination().

JavaScriptCore:

  • parser/Nodes.cpp: (JSC::BinaryOpNode::emitBytecode): (JSC::EqualNode::emitBytecode):

LayoutTests:

  • fast/js/ignored-result-null-comparison-crash-expected.txt: Added.
  • fast/js/ignored-result-null-comparison-crash.html: Added.
  • fast/js/resources/ignored-result-null-comparison-crash.js: Added.
5:41 PM Changeset in webkit [39262] by Darin Adler
  • 2 edits
    1 add
    2 deletes in trunk/WebKit/mac

2008-12-12 Darin Adler <Darin Adler>

Rubber stamped by Adam Roben.

  • fix <rdar://problem/5648301> Can't tab around to text fields in Safari login sheet after clicking static text, due to AppKit key loop change
  • Panels/English.lproj/WebAuthenticationPanel.nib/classes.nib: Removed.
  • Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib: Added.
  • Panels/English.lproj/WebAuthenticationPanel.nib/info.nib: Removed.
  • Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: Set nextKeyView of the selectable static texts to the editable text. Updated nib format.
5:39 PM Changeset in webkit [39261] by barraclough@apple.com
  • 8 edits in trunk/JavaScriptCore

2008-12-12 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Move slow-cases of JIT code generation over to the MacroAssembler interface.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::Label::Label): (JSC::MacroAssembler::jae32): (JSC::MacroAssembler::jg32): (JSC::MacroAssembler::jzPtr):
  • jit/JIT.cpp: (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile): (JSC::JIT::emitGetVariableObjectRegister): (JSC::JIT::emitPutVariableObjectRegister):
  • jit/JIT.h: (JSC::SlowCaseEntry::SlowCaseEntry): (JSC::JIT::getSlowCase): (JSC::JIT::linkSlowCase):
  • jit/JITArithmetic.cpp: (JSC::JIT::compileBinaryArithOpSlowCase):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCallInitializeCallFrame): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase):
  • jit/JITInlineMethods.h: (JSC::JIT::emitJumpSlowCaseIfNotJSCell): (JSC::JIT::linkSlowCaseIfNotJSCell):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdSlowCase):
5:20 PM Changeset in webkit [39260] by eric@webkit.org
  • 2 edits in trunk/WebCore

2008-12-12 Dave Moore <davemoore@google.com>

Reviewed by Eric Seidel.

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

In Font::drawTextUsingSVGFont() a variable of type SVGTextRunWalkerDrawTextData
is created on the stack (called data). One of its fields, charsConsumed, is
unitialized, leading to random values after calling walk() on the
SVGTextRunWalker created with it. I now initialize the variable

This bug was revealed in our Purify run. I don't know of any specific incorrect
behavior caused by it but it would lead to the charsConsumed field having a
a wrong value.

  • svg/SVGFont.cpp: (WebCore::Font::drawTextUsingSVGFont):
4:25 PM Changeset in webkit [39259] by Stephanie Lewis
  • 2 edits in trunk/WebKit/mac

2008-12-12 Stephanie Lewis <Stephanie Lewis>

Reviewed by Geoff Garen.

Shrink Cache Sizes.

  • WebView/WebView.mm: (+[WebView _setCacheModel:]):
4:11 PM Changeset in webkit [39258] by Beth Dakin
  • 2 edits in trunk/WebCore

2008-12-12 Beth Dakin <Beth Dakin>

Rubber Stamped by Steve Falkenburg.

Build fix.

  • platform/KURL.h:
4:01 PM Changeset in webkit [39257] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-12 Anders Carlsson <andersca@apple.com>

Reviewed by Tim Hatcher.

Don't try to free the dummy "1" port state.


  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView sendEvent:isDrawRect:]): (-[WebNetscapePluginView updateAndSetWindow]):
4:00 PM Changeset in webkit [39256] by andersca@apple.com
  • 3 edits in trunk/WebKitExamplePlugins

2008-12-12 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

There's no need to hold on to the QCComposition. Also, toggle between a gold and silver compass
when a mouse button is pressed.


  • NetscapeCoreAnimationPlugin/Composition.qtz:
  • NetscapeCoreAnimationPlugin/main.m: (NPP_Destroy): (handleMouseClick): (NPP_GetValue):
2:48 PM Changeset in webkit [39255] by cwzwarich@webkit.org
  • 7 edits in trunk/JavaScriptCore

2008-12-12 Cameron Zwarich <zwarich@apple.com>

Reviewed by Sam Weinig.

Bug 22828: Do not inspect bytecode instruction stream for op_get_by_id exception information
<https://bugs.webkit.org/show_bug.cgi?id=22828>

In order to remove the bytecode instruction stream after generating
native code, all inspection of bytecode instructions at runtime must
be removed. One particular instance of this is the special handling of
exceptions thrown by the op_get_by_id emitted directly before an
op_construct or an op_instanceof. This patch moves that information to
an auxiliary data structure in CodeBlock.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::addGetByIdExceptionInfo):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitConstruct):
  • bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitGetByIdExceptionInfo):
  • parser/Nodes.cpp: (JSC::InstanceOfNode::emitBytecode):
  • runtime/ExceptionHelpers.cpp: (JSC::createNotAnObjectError):
2:33 PM Changeset in webkit [39254] by pol@apple.com
  • 10 edits in trunk/LayoutTests

2008-12-12 Pierre-Olivier Latour <pol@apple.com>

Checked-in new results for failing SVG tests so that the bots are green again.

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

  • platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.checksum:
  • platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png:
  • platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt:
  • platform/mac/svg/custom/image-small-width-height-expected.checksum:
  • platform/mac/svg/custom/image-small-width-height-expected.png:
  • platform/mac/svg/custom/image-small-width-height-expected.txt:
  • platform/mac/svg/text/text-tselect-02-f-expected.checksum:
  • platform/mac/svg/text/text-tselect-02-f-expected.png:
  • platform/mac/svg/text/text-tselect-02-f-expected.txt:
2:22 PM Changeset in webkit [39253] by brettw@chromium.org
  • 3 edits in trunk/WebCore

Reviewed by Darin Adler.

Add the ability so that Google-URL can optionally be used in a build
of WebKit without changing the shared header. The guts of KURL are
optionally ifdefed out, and the replacement code goes in a different
header to avoid polluting KURL.h

  • platform/KURL.cpp:
  • platform/KURL.h:

(WebCore::KURL::string):
(WebCore::KURL::operator const String&):
(WebCore::KURL::operator JSC::UString):
(WebCore::KURL::operator NSString*):
(WebCore::KURL::parsed):
(WebCore::KURL::utf8String):
(WebCore::KURL::isNull):
(WebCore::KURL::isEmpty):
(WebCore::KURL::isValid):
(WebCore::KURL::hostStart):
(WebCore::KURL::hostEnd):
(WebCore::KURL::pathStart):
(WebCore::KURL::pathEnd):
(WebCore::KURL::pathAfterLastSlash):

1:31 PM Changeset in webkit [39252] by weinig@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-12-12 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Change exception information accessors to take offsets into the bytecode
instruction buffer instead of pointers so that they can work even even
if the bytecode buffer is purged.

  • bytecode/CodeBlock.cpp: (JSC::instructionOffsetForNth): (JSC::CodeBlock::handlerForBytecodeOffset): (JSC::CodeBlock::lineNumberForBytecodeOffset): (JSC::CodeBlock::expressionRangeForBytecodeOffset):
  • bytecode/CodeBlock.h:
  • bytecode/SamplingTool.cpp: (JSC::SamplingTool::dump):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::throwException): (JSC::Interpreter::privateExecute): (JSC::Interpreter::retrieveLastCaller):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • runtime/ExceptionHelpers.cpp: (JSC::createUndefinedVariableError): (JSC::createInvalidParamError): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError):
12:44 PM Changeset in webkit [39251] by Simon Hausmann
  • 2 edits in trunk/LayoutTests

2008-12-12 Simon Hausmann <Simon Hausmann>

Rubber-stamped by Holger Freyther.

Added all the failing tests in the Qt build that require font metrics
to the skipped list, as discussed. We cannot maintain the metrics
currently.

12:35 PM Changeset in webkit [39250] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-12 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Tiny bit of refactoring in quantifier generation.

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier):
12:31 PM Changeset in webkit [39249] by andersca@apple.com
  • 3 edits in trunk/WebKitExamplePlugins

2008-12-12 Anders Carlsson <andersca@apple.com>

Revert some accidentally committed changes.


  • NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj:
  • NetscapeCocoaPlugin/main.m: (handleDraw): (handleMouseEvent): (NPP_HandleEvent):
12:29 PM Changeset in webkit [39248] by andersca@apple.com
  • 3 edits
    9 adds in trunk/WebKitExamplePlugins

2008-12-12 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.

Add a sample Core Animation NPAPI plug-in.


  • NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj:
  • NetscapeCocoaPlugin/main.m: (handleDraw): (handleMouseEvent): (NPP_HandleEvent):
  • NetscapeCoreAnimationPlugin: Added.
  • NetscapeCoreAnimationPlugin/Composition.qtz: Added.
  • NetscapeCoreAnimationPlugin/English.lproj: Added.
  • NetscapeCoreAnimationPlugin/English.lproj/InfoPlist.strings: Added.
  • NetscapeCoreAnimationPlugin/Info.plist: Added.
  • NetscapeCoreAnimationPlugin/NetscapeCoreAnimationPlugin.xcodeproj: Added.
  • NetscapeCoreAnimationPlugin/NetscapeCoreAnimationPlugin.xcodeproj/project.pbxproj: Added.
  • NetscapeCoreAnimationPlugin/main.m: Added. (NP_Initialize): (NP_GetEntryPoints): (NP_Shutdown): (NPP_New): (NPP_Destroy): (NPP_SetWindow): (NPP_NewStream): (NPP_DestroyStream): (NPP_WriteReady): (NPP_Write): (NPP_StreamAsFile): (NPP_Print): (handleMouseClick): (NPP_HandleEvent): (NPP_URLNotify): (NPP_GetValue): (NPP_SetValue):
  • NetscapeCoreAnimationPlugin/test.html: Added.
10:10 AM Changeset in webkit [39247] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Delete the previous timer-queue timer in the main thread, just prior to scheduling a new timer.
The code previously called DeleteTimerQueueTimer in the timer callback proc.


The new technique simplifies the code, since we now create and delete timers on the
same thread, and don't access the timer queue or timer handles in the callback.
This allows us to remove some mutex use, and more importantly, it solves a race
condition that was occuring between ChangeTimerQueueTimer and DeleteTimerQueueTimer.


Since the timer callback isn't passed the timer handle, we were retrieving that handle
via a global. If the timer callback code was entered, but then a new timer was immediately
scheduled (prior to the callback acquiring the mutex and calling DeleteTimerQueueTimer),
there was a small window where the timer could be re-scheduled via ChangeTimerQueueTimer
and then immediately deleted once the already running callback acquired the mutex and
then called DeleteTimerQueueTimer. This resulted in the newly scheduled timer never firing.


Reviewed by Oliver Hunt.

  • platform/win/SharedTimerWin.cpp: (WebCore::queueTimerProc): Don't delete the timer in the callback. (WebCore::setSharedTimerFireTime): Always delete and create the timer instead of using ChangeTimerQueueTimer. (WebCore::stopSharedTimer): Call DeleteTimerQueueTimer directly.
10:06 AM Changeset in webkit [39246] by Darin Adler
  • 6 edits in trunk/WebCore

2008-12-12 Kai Brüning <kai@granus.net>

Reviewed and tweaked by Darin Adler.

Fixes resurrection bug for wrapper objects by using an NSMapTable with zeroing weak
memory for the wrapper reference for DOMWrapperCache (DOMInternal.mm),
JSWrapperCache (WebScriptObject.mm) and wrapperCache (DOMRGBColor.mm).
BUILDING_ON_TIGER is used to create a Leopard-only NSMapTable or an old-style
procedural map table for Tiger systems.

No regression tests yet since we don't currently run any tests in GC mode.

  • bindings/objc/DOMInternal.h: added WebCore::createWrapperCache for use by all three caches
  • bindings/objc/DOMInternal.mm: (WebCore::createWrapperCache): Contains the compile-time check for map table creation (WebCore::getDOMWrapper): HashMap -> NSMapTable (WebCore::addDOMWrapper): ditto (WebCore::removeDOMWrapper): ditto
  • bindings/objc/DOMObject.mm: removed [DOMObject finalize]
  • bindings/objc/DOMRGBColor.mm: removed [DOMRGBColor finalize] (WebCore::getWrapperForRGB): CFMutableDictionaryRef -> NSMapTable (WebCore::setWrapperForRGB): ditto (WebCore::removeWrapperForRGB): ditto
  • bindings/objc/WebScriptObject.mm: (WebCore::getJSWrapper): HashMap -> NSMapTable (WebCore::addJSWrapper): ditto (WebCore::removeJSWrapper): ditto (-[WebScriptObject finalize]): removed call of removeJSWrapper()
9:42 AM Changeset in webkit [39245] by zecke@webkit.org
  • 2 edits in trunk/WebKitTools

2008-12-12 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

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

Increase timeout in call to initWithURL so that people actually see
new web pages when they type URLs rather than a blank screen.

  • WinLauncher/WinLauncher.cpp: (loadURL): Increase timeout in initWithURL from 0 to 60 seconds.
9:30 AM Changeset in webkit [39244] by Darin Adler
  • 2 edits in trunk/WebKitTools

2008-12-12 Darin Adler <Darin Adler>

  • Scripts/do-webcore-rename: Add a renaming idea.
8:10 AM Changeset in webkit [39243] by darin@chromium.org
  • 3 edits in trunk/WebCore

2008-12-12 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22813
Remove unused references to JSDOMBinding, CallFrame, and JSLock.

  • dom/Node.cpp: Removed CallFrame and JSLock header includes.
  • loader/FrameLoader.cpp: Removed JSDOMBinding header include.
8:09 AM Changeset in webkit [39242] by zecke@webkit.org
  • 3 edits
    1 add in trunk

Update the WebKit.qrc and add a script to automatically generate the file.

With the way rcc and qmake work this can not be done at build time
as the WebKit.qrc must sit inside the directory that contains the files
and at build time we may not change the content of the source directory.

8:08 AM Changeset in webkit [39241] by zecke@webkit.org
  • 3 edits in trunk

Back out r39222 as this is breaking the build on Gentoo (aclocal-1.10)

The m4 directory does not exist and we now have a compile issue on
Gentoo systems.

6:11 AM Changeset in webkit [39240] by oliver@apple.com
  • 2 edits in trunk/WebCore

REGRESSION: Canvas is broken in high dpi mode
<rdar://problem/6432739> <https://bugs.webkit.org/show_bug.cgi?id=22823>

Reviewed by Alexey Proskuryakov.

Simply made sure that we correctly scale the graphics context to
account for the difference between logical and buffer resolution.

5:49 AM Changeset in webkit [39239] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

2008-12-12 Simon Hausmann <Simon Hausmann>

Reviewed by Tor Arne Vestbø.

Fix pressing return/enter not triggering any action on web sites
that define event handlers, such as the JS console in the web
inspector.

Process the key events in the DOM first and if not handled map them
to editor actions.

5:18 AM Changeset in webkit [39238] by vestbo@webkit.org
  • 6 edits in trunk/WebCore

2008-12-12 Tor Arne Vestbø <tavestbo@trolltech.com>

Rubber-stamped by Oliver Hunt.

Share PluginView::paintMissingPluginIcon() between ports

Also, enable this feature for Qt/X11, Qt/Mac and GTK

5:16 AM Changeset in webkit [39237] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-12-12 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

[Qt/Mac] Implement PluginView::updatePluginWidget()

We should update the window and clip rect regardless of whether or
not the plugin has been loaded, for example to ensure that the
missing plugin image is placed correctly.

5:15 AM Changeset in webkit [39236] by vestbo@webkit.org
  • 8 edits in trunk/WebCore

2008-12-12 Tor Arne Vestbø <tavestbo@trolltech.com>

Rubber-stamped by Oliver Hunt.

Make PluginView::updatePluginWidget() non-const

We can do this now since frameRectsChanged() is no longer const. This
also allows us to get rid of the mutables in the PluginView.

5:09 AM Changeset in webkit [39235] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/win

2008-12-12 Tor Arne Vestbø <tavestbo@trolltech.com>

Rubber-stamped by Oliver Hunt.

Remove mutables from EmbeddedWidget

We can do this now that frameRectsChanged() is no longer const

3:35 AM Changeset in webkit [39234] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

2008-12-12 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon Hausmann.

Create the plugin widget even though the web page has no associated
view. This prevents the plugin to be uselessly constructed more than once.

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::createPlugin):
  • tests/qwebpage/tst_qwebpage.cpp: (tst_QWebPage::createViewlessPlugin):
2:54 AM Changeset in webkit [39233] by vestbo@webkit.org
  • 4 edits in trunk/WebCore

2008-12-12 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

Implement ImageSource::filenameExtension() for the Qt port

We're using QImageReader::imageFormat().toLower() to check
that the image format is supported, and if it is we store
the resulting extension when creating the ImageDecoderQt.

1:42 AM Changeset in webkit [39232] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

2008-12-11 Enrico Ros <enrico.ros@m31.com>

Reviewed by Simon Hausmann.

Fix the broken focus behavior that happened when QWebPage lost
focus to a popup menu.

The previous code didn't notify the QWebPage at all when the
focus was back in (breaking focus rects, caret blinking, ...).
By the way when a popup is show, 2 FocusOut events are delivered
to the QWebPage, but this doesn't seem to hurt.

Added a test to check popup opening, closing a lineedit blinks.

12:22 AM Changeset in webkit [39231] by vestbo@webkit.org
  • 3 edits in trunk/WebKit/qt

2008-12-11 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Tor Arne Vestbø.

When the web page is navigated away, delete the instance
of the native plugin.

http://trolltech.com/developer/task-tracker/index_html?id=214946&method=entry

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::):
  • tests/qwebpage/tst_qwebpage.cpp: (PluginTrackedPage::PluginTrackedPage): (PluginTrackedPage::createPlugin): (tst_QWebPage::destroyPlugin):
12:03 AM Changeset in webkit [39230] by weinig@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Fix typo

12:02 AM Changeset in webkit [39229] by weinig@apple.com
  • 15 edits
    2 copies in trunk/JavaScriptCore

2008-12-11 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Remove dependancy on having the Instruction buffer in order to
deref Structures used for property access and global resolves.
Instead, we put references to the necessary Structures in axillary
data structures on the CodeBlock. This is not an ideal solution,
as we still pay for having the Structures in two places and we
would like to eventually just hold on to offsets into the machine
code buffer.

  • Also removes CodeBlock bloat in non-JIT by #ifdefing the JIT only data structures.
  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • bytecode/CodeBlock.cpp: (JSC::isGlobalResolve): (JSC::isPropertyAccess): (JSC::instructionOffsetForNth): (JSC::printGlobalResolveInfo): (JSC::printStructureStubInfo): (JSC::CodeBlock::printStructures): (JSC::CodeBlock::dump): (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::shrinkToFit):
  • bytecode/CodeBlock.h: (JSC::GlobalResolveInfo::GlobalResolveInfo): (JSC::getNativePC): (JSC::CodeBlock::instructions): (JSC::CodeBlock::getStubInfo): (JSC::CodeBlock::getBytecodeIndex): (JSC::CodeBlock::addPropertyAccessInstruction): (JSC::CodeBlock::addGlobalResolveInstruction): (JSC::CodeBlock::numberOfStructureStubInfos): (JSC::CodeBlock::addStructureStubInfo): (JSC::CodeBlock::structureStubInfo): (JSC::CodeBlock::addGlobalResolveInfo): (JSC::CodeBlock::globalResolveInfo): (JSC::CodeBlock::numberOfCallLinkInfos): (JSC::CodeBlock::addCallLinkInfo): (JSC::CodeBlock::callLinkInfo):
  • bytecode/Instruction.h: (JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set): (JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
  • bytecode/Opcode.h: (JSC::):
  • bytecode/StructureStubInfo.cpp: Copied from bytecode/CodeBlock.cpp. (JSC::StructureStubInfo::deref):
  • bytecode/StructureStubInfo.h: Copied from bytecode/CodeBlock.h. (JSC::StructureStubInfo::StructureStubInfo): (JSC::StructureStubInfo::initGetByIdSelf): (JSC::StructureStubInfo::initGetByIdProto): (JSC::StructureStubInfo::initGetByIdChain): (JSC::StructureStubInfo::initGetByIdSelfList): (JSC::StructureStubInfo::initGetByIdProtoList): (JSC::StructureStubInfo::initPutByIdTransition): (JSC::StructureStubInfo::initPutByIdReplace): (JSC::StructureStubInfo::):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitResolve): (JSC::BytecodeGenerator::emitGetById): (JSC::BytecodeGenerator::emitPutById): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::emitCatch):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::tryCTICachePutByID): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_get_by_id_self_fail): (JSC::getPolymorphicAccessStructureListSlot): (JSC::Interpreter::cti_op_get_by_id_proto_list): (JSC::Interpreter::cti_op_resolve_global):
  • jit/JIT.cpp: (JSC::JIT::JIT): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdSlowCase): (JSC::JIT::privateCompileGetByIdSelfList): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChainList):

Dec 11, 2008:

11:51 PM Changeset in webkit [39228] by Stephanie Lewis
  • 4 edits in trunk/WebCore

2008-12-11 Stephanie Lewis <Stephanie Lewis>

Reviewed by Geoff Garen

Account for the size of the response and request headers as well as other overhead
when calculating the size a resource takes up in the cache. Halts unbounded
growth in the cache. Reduced stress test memory high water marks by > 50%.

Uses estimates gathered from the stress test to set the overhead size.
A version of the patch was created that calculated most of the sizes, but it was
decided that the patch was still at a basic level an estimate. What gains it made
in accuracy was offset by the complexity involved in creating and updating the
estimate.

  • loader/Cache.cpp: (WebCore::Cache::resourceAccessed): (WebCore::Cache::TypeStatistic::addResource): (WebCore::Cache::dumpLRULists):
  • loader/CachedResource.cpp: (WebCore::CachedResource::overheadSize):
  • loader/CachedResource.h: (WebCore::CachedResource::size):
11:28 PM Changeset in webkit [39227] by cwzwarich@webkit.org
  • 17 edits
    6 deletes in trunk

2008-12-11 Cameron Zwarich <zwarich@apple.com>

Rubber-stamped by Mark Rowe.

Roll out r39212 due to assertion failures during layout tests, multiple
layout test failures, memory leaks, and obvious incorrectness.

WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm: (-[WebPreferences fullDocumentTeardownEnabled]):
  • WebView/WebPreferencesPrivate.h:

WebKit/win:

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:
  • WebPreferences.h:

WebKitTools:

  • DumpRenderTree/LayoutTestController.cpp: (LayoutTestController::staticFunctions):
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting):
  • DumpRenderTree/mac/LayoutTestControllerMac.mm:
  • DumpRenderTree/win/DumpRenderTree.cpp: (resetWebViewToConsistentStateBeforeTesting):
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::pauseTransitionAtTimeOnElementWithId):

LayoutTests:

  • security/override-preferences-2-expected.txt: Removed.
  • security/override-preferences-2.html: Removed.
  • security/override-preferences-expected.txt: Removed.
  • security/override-preferences.html: Removed.
  • security/override-zzz-reset-expected.txt: Removed.
  • security/override-zzz-reset.html: Removed.
8:20 PM Changeset in webkit [39226] by barraclough@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-12-11 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Remove CTI_ARGUMENTS mode, use va_start implementation on Windows,
unifying JIT callback (cti_*) argument access on OS X & Windows

No performance impact.

  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITInlineMethods.h: (JSC::JIT::emitCTICall):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompilePutByIdTransition):
  • wtf/Platform.h:
6:02 PM Changeset in webkit [39225] by Nikolas Zimmermann
  • 20 edits
    7 adds in trunk

Reviewed by Holger Freyther.

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

Add <wml> image element support. Based on HTML/SVGImage{Element/Loader}, with
the only difference that WML defines a second source attribute 'localsrc', that
takes precedence over the 'src' attribute. If loading the 'localsrc' attribute
fails, the user agent should try loading the 'src' attribute. If both fail the
'alt' fallback content will be used - just like in HTML.

Fixes: fast/wml/img-localsrc.wml (<img> and 'localsrc' attribute)

fast/wml/img-src-localsrc-alt.wml ('localsrc'/'src' fallback handling)
fast/wml/img-src.wml (<img> and 'src' attribute)

5:15 PM Changeset in webkit [39224] by Stephanie Lewis
  • 2 edits in trunk/WebKit/mac

2008-12-11 Stephanie Lewis <Stephanie Lewis>

Fix build.

  • WebView/WebView.mm:
5:01 PM Changeset in webkit [39223] by zecke@webkit.org
  • 4 edits in trunk/WebKit/gtk

Make webkit_web_view_set_window_features internal

Calling this method will not result in a notify::window-features
signal being emitted. This would allow replacing a
WebKitWebWindowFeature on a WebKitWebView without anyone noticing
and the client code would monitor the wrong object.

4:37 PM Changeset in webkit [39222] by zecke@webkit.org
  • 3 edits in trunk

2008-12-11 Daniel Macks <dmacks@netspace.org>

Reviewed by Darin Adler.

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

Put libtool macro files in subdir that it wants.

  • GNUmakefile.am:
  • configure.ac:
4:37 PM Changeset in webkit [39221] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Darin Adler.

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

Do not run into the WebCore::DocumentLoader::updateLoading
ASSERT on Gtk+/CURL when trying to load tests from our LayoutTests.

Do not call setPrimaryLoadComplete when the
activeDocumentLoader has already been replaced. This can happen
when a script executed from within FramerLoader::didFinishLoading will
navigate to another URL.

The assertion is caused by existing tests (e.g.
fast/history/clicked-link-is-visited.html) reproducing this with
network backends not equal to curl is tough or maybe not
even possible.

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::setPrimaryLoadComplete):
4:20 PM Changeset in webkit [39220] by Stephanie Lewis
  • 2 edits in trunk/WebKit/mac

2008-12-11 Stephanie Lewis <Stephanie Lewis>

Reviewed by Oliver Hunt.

Empty Web cache before quitting a debug build in order
to report accurate CachedResource leaks.

  • WebView/WebView.mm: (-[WebView _close]):
3:42 PM Changeset in webkit [39219] by Nikolas Zimmermann
  • 6 edits in trunk/WebCore

Reviewed by Eric Seidel.

  • Remove some dead, commented-out code from WMLAElement.
  • Add missing virtual destructor for <noop>, as suggested by Alexey.
  • Refactor addHTMLAlignment in a static helper function to share with WML.
2:33 PM Changeset in webkit [39218] by oliver@apple.com
  • 3 edits
    2 adds in trunk

<rdar://problem/6302405> Crash (null-deref) when using :before pseudoselector with content CSS rule in SVG
<https://bugs.webkit.org/show_bug.cgi?id=22804>

Reviewed by Adele Peterson.

This issue was caused by css generated content resulting in non-svg flowboxes
being injected into SVG content. As SVG spec does not describe behaviour in
this case, and neither Opera nor Firefox displays such generated content, so
now we make svg text layout and rendering just ignore any such content.

Test: svg/css/crash-css-generated-content.xhtml

1:56 PM Changeset in webkit [39217] by cwzwarich@webkit.org
  • 5 edits in trunk/WebCore

2008-12-11 Cameron Zwarich <zwarich@apple.com>

Reviewed by Dave Hyatt.

Bug 21256: REGRESSION (r36906): horizontally repeating image leaves ghosts when vertical scrolling
<https://bugs.webkit.org/show_bug.cgi?id=21256>
<rdar://problem/6362978>

The ScrollView refactoring in r36906 caused the ScrollView and the
platform widget to disagree about whether optimizing scrolling via
blitting is allowed. The easiest way to fix this is to make ScrollView
simply ask the platform widget whether this is safe on platforms that
are affected.

It is not possible to write a layout test for this bug because it
involves the back/forward cache.

  • platform/ScrollView.cpp: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::setCanBlitOnScroll): (WebCore::ScrollView::canBlitOnScroll): (WebCore::ScrollView::platformSetCanBlitOnScroll): (WebCore::ScrollView::platformCanBlitOnScroll):
  • platform/ScrollView.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformSetCanBlitOnScroll): (WebCore::ScrollView::platformCanBlitOnScroll):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformSetCanBlitOnScroll): (WebCore::ScrollView::platformCanBlitOnScroll):
1:27 PM Changeset in webkit [39216] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-11 Anders Carlsson <andersca@apple.com>

Fix Tiger build.

  • Misc/WebNSDataExtras.h:
1:26 PM Changeset in webkit [39215] by andersca@apple.com
  • 3 edits
    2 adds in trunk

WebKit/mac:

2008-12-11 Anders Carlsson <andersca@apple.com>

Reviewed by Cameron Zwarich.

https://bugs.webkit.org/show_bug.cgi?id=22797
REGRESSION: Crash at http://news.cnet.com/8301-17939_109-10119149-2.html

Make sure to protect the stream because destroyStream can otherwise cause it to be deleted.


  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::destroyStreamWithReason):

LayoutTests:

2008-12-11 Anders Carlsson <andersca@apple.com>

Reviewed by Cameron Zwarich.

https://bugs.webkit.org/show_bug.cgi?id=22797
REGRESSION: Crash at http://news.cnet.com/8301-17939_109-10119149-2.html


  • http/tests/plugins/get-url-expected.txt: Added.
  • http/tests/plugins/get-url.html: Added.
12:44 PM Changeset in webkit [39214] by Nikolas Zimmermann
  • 3 edits in trunk/LayoutTests

Reviewed by Eric Seidel.
Fix typo in doctype (correct wapforum.org URL)

11:16 AM Changeset in webkit [39213] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-12-11 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

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

Correct build break due to malformed XML in Visual Studio project
following @r39205 change.

  • WebCore.vcproj/WebCore.vcproj: Correct file entry so project loads.
11:10 AM Changeset in webkit [39212] by eric@webkit.org
  • 16 edits
    6 adds in trunk

2008-12-10 Glenn Wilson <gwilson@google.com>

Reviewed by Adam Roben.

Added new methods for overriding default WebPreference values
and for resetting preferences to their defaults.
https://bugs.webkit.org/show_bug.cgi?id=20534

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm: (-[WebPreferences resetToDefaults]): new method (-[WebPreferences overridePreference:flag:]): new method
  • WebView/WebPreferencesPrivate.h: new method signatures

2008-12-10 Glenn Wilson <gwilson@google.com>

Reviewed by Adam Roben.

Added support for overriding default preferences per-test.
https://bugs.webkit.org/show_bug.cgi?id=20534
Two new methods were added: resetToDefaults and overridePreference.

  • Interfaces/IWebPreferencesPrivate.idl: new method signatures
  • WebPreferenceKeysPrivate.h: added new key for internal state
  • WebPreferences.cpp: added new methods (WebPreferences::overridePreference): new method (WebPreferences::resetToDefaults): new method
  • WebPreferences.h: new method signatures

2008-12-10 Glenn Wilson <gwilson@google.com>

Reviewed by Adam Roben.

Changed LayoutTestController and DumpRenderTree to allow for manual
overriding of default preferences at test time. Also added support for
resetting the preferences after each test.
https://bugs.webkit.org/show_bug.cgi?id=20534

  • DumpRenderTree/LayoutTestController.cpp: Added callback method for overriding preferences
  • DumpRenderTree/LayoutTestController.h: Added signature for callback
  • DumpRenderTree/win/DumpRenderTree.cpp: Added calls to reset preferences after each test if necessary
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: Added JS override function
  • DumpRenderTree/mac/DumpRenderTree.mm: Added calls to reset preferences after each test if necessary
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: Added JS override function
8:24 AM Changeset in webkit [39211] by cmarrin@apple.com
  • 11 edits in trunk/WebCore

Reviewed by Dave Hyatt.

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

This gets rid of the per-animation timers which were used when an animation
started, ended and looped. Their job is now done by the main AnimationController's
timer. It is now set to fire as needed. For instance, if there is a delay, it will
fire after the delay time and then every 30ms to run the animation. The start, loop
and end events are generated as needed during the firing of this timer.

I had to add one more bit of code. When animation timers used to fire the animation events.
This would always happen from the RunLoop, so any style changes that happened in the
event handler would get picked up on the next updateRendering() call. But now the start
event is generated during the styleIsAvailable() call, which is in the middle of the
updateRendering() cycle. And calling an event handler in the middle of updateRendering()
is not allowed and causes style changes to get missed. We already have a mechanism in
AnimationController to defer updateRendering() calls. So I added logic to defer all
event handling to there. Now, I put any request for event handling into a list and ask
for a deferred updateRendering() call. When that deferred timer fires, I go through that
list, send all the events and then call updateRendering().

7:57 AM Changeset in webkit [39210] by Simon Hausmann
  • 7 edits in trunk/WebKit/qt

2008-12-11 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Simon Hausmann.

Allow applications to save and restore their state between loads.

7:45 AM Changeset in webkit [39209] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-12-11 Simon Hausmann <simon.hausmann@nokia.com>

Fix the Qt build with an empty filenameExtension() implementation.

7:03 AM Changeset in webkit [39208] by zecke@webkit.org
  • 2 edits in trunk/WebCore

Fix crash in the cairo implementation of the SVGPaintServer

For SVGFonts the RenderObject can be zero. The existing SVGFont
test cases is exposing this bug. Qt and other ports have fixed
this issue by adding null checks as well.

6:46 AM Changeset in webkit [39207] by zecke@webkit.org
  • 13 edits
    1 copy
    2 adds in trunk/WebCore

2008-12-11 Holger Freyther <zecke@selfish.org>

Reviewed by Simon Hausmann.

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

Make the Qt port follow the Win, Mac, Gtk+ port in regard to Font
handling. FontQt.cpp from now on is only implementing the complex path. Create
FontFallbackListQt.cpp and FontPlatformDataQt.cpp to work within
the framework set by the Font code.

Sharing the Font.cpp implementation allows the Qt port to support
the CSS font faces and SVG fonts.

Split out the Qt4.3 Font handling into FonQt43.cpp to allow to more
easily deprecate it.

This commit is removing a lot of #ifdefs from Font.h as the Qt Font
implementation is now in line with the rest of WebCore.

  • WebCore.pro:
  • platform/graphics/Font.h: Remove #ifdefs (WebCore::Font::letterSpacing): (WebCore::Font::setLetterSpacing): (WebCore::Font::isPlatformFont):
  • platform/graphics/FontFallbackList.h:
  • platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::SimpleFontData): (WebCore::SimpleFontData::platformGlyphInit): There is no GlyphCache on Qt, move the initialisation over. (WebCore::SimpleFontData::~SimpleFontData):
  • platform/graphics/SimpleFontData.h: (WebCore::SimpleFontData::getQtFont):
  • platform/graphics/qt/FontCacheQt.cpp: (WebCore::FontCache::getCachedFontPlatformData): Remove unused parameter (WebCore::FontCache::releaseFontData): Add to build
  • platform/graphics/qt/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::~FontCustomPlatformData): (WebCore::FontCustomPlatformData::fontPlatformData): (WebCore::createFontCustomPlatformData):
  • platform/graphics/qt/FontCustomPlatformData.h:
  • platform/graphics/qt/FontFallbackListQt.cpp: Added. (WebCore::FontFallbackList::FontFallbackList): (WebCore::FontFallbackList::invalidate): (WebCore::FontFallbackList::releaseFontData): (WebCore::FontFallbackList::determinePitch): (WebCore::FontFallbackList::fontDataAt): (WebCore::FontFallbackList::fontDataForCharacters): (WebCore::FontFallbackList::setPlatformFont):
  • platform/graphics/qt/FontPlatformData.h: (WebCore::FontPlatformData::font): (WebCore::FontPlatformData::size):
  • platform/graphics/qt/FontPlatformDataQt.cpp: Added. (WebCore::FontPlatformData::FontPlatformData):
  • platform/graphics/qt/FontQt.cpp: (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText): (WebCore::Font::selectionRectForComplexText): (WebCore::Font::font):
  • platform/graphics/qt/FontQt43.cpp: Added. Moved Qt4.3 code from FontQt.cpp (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText): (WebCore::Font::selectionRectForComplexText):
  • platform/graphics/qt/GlyphPageTreeNodeQt.cpp: (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): (WebCore::GlyphPageTreeNode::pruneTreeFontData):
  • platform/graphics/qt/SimpleFontDataQt.cpp: (WebCore::SimpleFontData::determinePitch): (WebCore::SimpleFontData::containsCharacters): (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformGlyphInit): (WebCore::SimpleFontData::platformDestroy):
  • platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::adjustButtonStyle): Avoid crashes.
6:14 AM Changeset in webkit [39206] by zecke@webkit.org
  • 5 edits in trunk

WebCorv
2008-12-11 Holger Freyther <zecke@selfish.org>

Reviewed by Simon Hausmann.

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

For Qt it is not pratical to have a FontCache and GlyphPageTreeNode
implementation. This is one of the reasons why the Qt port is currently not
using WebCore/platform/graphics/Font.cpp. By allowing to not use
the simple/fast-path the Qt port will be able to use it.

Introduce USE(FONT_FAST_PATH) and define it for every port but the
Qt one.

  • platform/graphics/Font.cpp: (WebCore::Font::drawText): (WebCore::Font::floatWidth): (WebCore::Font::selectionRectForText): (WebCore::Font::offsetForPosition):
  • platform/graphics/Font.h:

JavaScriptCore
2008-12-11 Holger Freyther <zecke@selfish.org>

Reviewed by Simon Hausmann.

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

For Qt it is not pratical to have a FontCache and GlyphPageTreeNode
implementation. This is one of the reasons why the Qt port is currently not
using WebCore/platform/graphics/Font.cpp. By allowing to not use
the simple/fast-path the Qt port will be able to use it.

Introduce USE(FONT_FAST_PATH) and define it for every port but the
Qt one.

  • wtf/Platform.h: Enable USE(FONT_FAST_PATH)
3:18 AM Changeset in webkit [39205] by zecke@webkit.org
  • 6 edits
    1 copy in trunk/WebCore

2008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Darin Adler.

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

Split out the font fast path from Fast.cpp into FontFastPath.cpp. This
will allow the Qt port to share most of WebCore::Font
implementation but the fast path. Qt does not provide the API to get
individual Glyphs making the fast path hard to support.

  • GNUmakefile.am:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • platform/graphics/Font.cpp:
  • platform/graphics/FontFastPath.cpp: Added. (WebCore::Font::glyphDataForCharacter):
3:15 AM Changeset in webkit [39204] by zecke@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-12-04 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Darin Adler and landed by Holger Freyther.

<https://bugs.webkit.org/show_bug.cgi?id=22648>
Fix threading on Qt-port and Gtk-port for Sampling tool.

  • wtf/ThreadingGtk.cpp: (WTF::waitForThreadCompletion):
  • wtf/ThreadingQt.cpp: (WTF::waitForThreadCompletion):
2:22 AM Changeset in webkit [39203] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-12-11 Robert Carr <racarr@svn.gnome.org>

Reviewed by Holger Freyther.

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

Code in PlatformScreenGtk for screenDepth and screenRect can not
assume that the platformWindow for the widget has a valid "window"
member. For example in the case of, a new browser view opening as a
child of a GtkNotebook, but never being switched to, or manually
realized. Solve by using the toplevel window of the widget, rather
than the widget itself.

  • platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenDepth): (WebCore::screenRect):
2:20 AM Changeset in webkit [39202] by vestbo@webkit.org
  • 6 edits in trunk/LayoutTests

2008-12-08 Dean McNamee <deanm@chromium.org>

Reviewed by Darin Adler.

Always append a trailing slash when using PHP's sys_get_temp_dir().

This allows these tests to run on Linux, where this API returns the
directory without a trailing slash.

  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-invalidation.php:
  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-timeout.php:
  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache.php:
  • http/tests/xmlhttprequest/resources/portabilityLayer.php:
  • http/tests/xmlhttprequest/resources/reset-temp-file.php:
2:09 AM Changeset in webkit [39201] by vestbo@webkit.org
  • 13 edits in trunk

2008-12-08 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Darin Adler and Holger Freyther.

Make Widget::frameRectsChanged() and overrides non-const

This will hopefully allow us to get rid of some of the mutables in
the classes that react to the callback by changing their own state.

2:03 AM Changeset in webkit [39200] by zecke@webkit.org
  • 3 edits in trunk/WebCore

Reimplement RenderTheme::caretBlinkInterval for Qt.

The QApplication::cursorFlashTime is in milliseconds and describes
the whole cycle while WebCore expects half a cycle.

12:27 AM Changeset in webkit [39199] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-12-09 Trenton Schulz <trenton.schulz@nokia.com>

Reviewed by Tor Arne Vestbø.

[Qt/Mac] Don't call HIGetScaleFactor() if we're not on Tiger or better

Dec 10, 2008:

10:27 PM Changeset in webkit [39198] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-12-10 Cameron Zwarich <zwarich@apple.com>

Reviewed by Oliver Hunt.

Bug 22734: Debugger crashes when stepping into a function call in a return statement
<https://bugs.webkit.org/show_bug.cgi?id=22734>
<rdar://problem/6426796>

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): The DebuggerCallFrame uses the 'this' value stored in a callFrame, so op_convert_this should be emitted at the beginning of a function body when generating bytecode with debug hooks.
  • debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::thisObject): The assertion inherent in the call to asObject() here is valid, because any 'this' value should have been converted to a JSObject*.
8:35 PM Changeset in webkit [39197] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-10 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Port more of the JIT to use the MacroAssembler interface.


Everything in the main pass, bar a few corner cases (operations with required
registers, or calling convention code). Slightly refactors array creation,
moving the offset calculation into the callFrame into C code (reducing code
planted).

Overall this appears to be a 1% win on v8-tests, due to the smaller immediates
being planted (in jfalse in particular).

  • interpreter/Interpreter.cpp: (JSC::Interpreter::cti_op_new_array):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter):
6:42 PM Changeset in webkit [39196] by Nikolas Zimmermann
  • 5 edits in trunk/LayoutTests

Rubber-stamped by George Staikos.
Update WML pixel test results, after adding <template> support.

6:41 PM Changeset in webkit [39195] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

2008-12-10 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Implement support for NPN_PostURL/NPN_PostURLNotify in WebKit.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h: Add stopAllStreams.


  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::stopAllStreams): Factored out this from ::destroy.


(WebKit::NetscapePluginInstanceProxy::destroy):
Call stopAllStreams().


(WebKit::NetscapePluginInstanceProxy::pluginHostDied):
Ditto.


(WebKit::NetscapePluginInstanceProxy::loadURL):
Handle post being true. This code has been copied from WebNetscapePluginView.mm (for now).

6:34 PM Changeset in webkit [39194] by Nikolas Zimmermann
  • 18 edits
    2 adds in trunk

Reviewed by Eric Seidel and George Staikos.

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

Add WML <template> support. The <template> element is specified at deck-level
and declares a template for all <card> elements in the document.

6:14 PM Changeset in webkit [39193] by oliver@apple.com
  • 2 edits in trunk/WebCore

2008-12-09 Dmitry Titov <dimich@chromium.org>

Reviewed by Darin Adler.

Fix memory leak - need to call stopActiveDOMObjects
when cached pages get destroyed.
https://bugs.webkit.org/show_bug.cgi?id=22753

  • dom/Document.cpp: (WebCore::Document::detach):
5:55 PM Changeset in webkit [39192] by Simon Fraser
  • 2 edits in trunk/WebCore

2008-12-10 Simon Fraser <Simon Fraser>

Reviewed by Antti Koivisto

<rdar://problem/6431224>

When updating the value of a slider, don't mark the parents
as needing layout, because the size of the slider can never
change. This fixes full-page repaints in some cases.

  • rendering/RenderSlider.cpp: (WebCore::RenderSlider::updateFromElement):
5:51 PM Changeset in webkit [39191] by beidson@apple.com
  • 8 edits in trunk

WebKitTools:
2008-12-10 Brady Eidson <beidson@apple.com>

Reviewed by Darin


Implement the new policy delegate (including navigation type and permissive mode) for DRT/win

  • DumpRenderTree/win/DumpRenderTree.cpp:
  • DumpRenderTree/win/DumpRenderTreeWin.h:


  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setCustomPolicyDelegate):


  • DumpRenderTree/win/PolicyDelegate.cpp: (PolicyDelegate::PolicyDelegate): (PolicyDelegate::decidePolicyForNavigationAction):
  • DumpRenderTree/win/PolicyDelegate.h: (PolicyDelegate::setPermissive):

LayoutTests:
2008-12-10 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Most of these policy delegate related tests will now pass with accompanying DRT changes.


  • platform/win/Skipped:
5:49 PM Changeset in webkit [39190] by pol@apple.com
  • 3 edits in trunk/LayoutTests

2008-12-10 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Darin Adler.

Replaced outdated reference image for svg/webarchive/svg-cursor-subresources.svg

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

  • platform/mac/svg/webarchive/svg-cursor-subresources-expected.checksum:
  • platform/mac/svg/webarchive/svg-cursor-subresources-expected.png:
5:25 PM Changeset in webkit [39189] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

2008-12-10 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Move two NSData category methods to WebNSDataExtras.m.


  • Misc/WebNSDataExtras.h:
  • Misc/WebNSDataExtras.m: (-[NSData _web_startsWithBlankLine]): (-[NSData _web_locationAfterFirstBlankLine]):
  • Plugins/WebNetscapePluginView.mm:
5:01 PM Changeset in webkit [39188] by ddkilzer@apple.com
  • 1 edit in trunk/LayoutTests/platform/win/Skipped

Updated Radar bug reference.

4:48 PM Changeset in webkit [39187] by pol@apple.com
  • 39 edits in trunk/LayoutTests

2008-12-10 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Darin Adler.

Rewrote animations/animation-test-helpers.js to take advantage of the pauseAnimationAtTimeOnElementWithId()
API when available in DRT.

Updated all animations tests that check for values of animated CSS properties to use these new helper functions.

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

  • animations/animation-test-helpers.js: (isCloseEnough): (checkExpectedValue): (endTest): (startTest): (runAnimationTest):
  • animations/big-rotation-expected.txt:
  • animations/big-rotation.html:
  • animations/change-keyframes-expected.txt:
  • animations/change-keyframes-name-expected.txt:
  • animations/change-keyframes-name.html:
  • animations/change-keyframes.html:
  • animations/change-one-anim-expected.txt:
  • animations/change-one-anim.html:
  • animations/generic-from-to-expected.txt:
  • animations/generic-from-to.html:
  • animations/import-expected.txt:
  • animations/import.html:
  • animations/keyframe-timing-functions-expected.txt:
  • animations/keyframe-timing-functions.html:
  • animations/keyframes-comma-separated-expected.txt:
  • animations/keyframes-comma-separated.html:
  • animations/keyframes-expected.txt:
  • animations/keyframes-from-missing.html:
  • animations/keyframes-out-of-order-expected.txt:
  • animations/keyframes-out-of-order.html:
  • animations/keyframes-to-missing.html:
  • animations/keyframes.html:
  • animations/lineheight-animation-expected.txt:
  • animations/lineheight-animation.html:
  • animations/matrix-anim-expected.txt:
  • animations/matrix-anim.html:
  • animations/multiple-animations-expected.txt:
  • animations/multiple-animations.html:
  • animations/multiple-keyframes-expected.txt:
  • animations/multiple-keyframes.html:
  • animations/transition-and-animation-1-expected.txt:
  • animations/transition-and-animation-1.html:
  • animations/transition-and-animation-2-expected.txt:
  • animations/transition-and-animation-2.html:
  • animations/width-using-ems-expected.txt:
  • animations/width-using-ems.html:
  • platform/win/Skipped:
4:00 PM Changeset in webkit [39186] by alice.liu@apple.com
  • 6 edits
    2 adds in trunk

WebCore:

2008-12-10 Alice Liu <alice.liu@apple.com>

Manual test for https://bugs.webkit.org/show_bug.cgi?id=20685

Reviewed by Darin Adler.

  • manual-tests/drag-image-to-desktop.html: Added.

LayoutTests:

2008-12-10 Alice Liu <alice.liu@apple.com>

Adding tweak to .conf files needed for
WebCore/manual-tests/drag-image-to-desktop.html

Reviewed by Darin Adler.

  • http/conf/apache2-debian-httpd.conf:
  • http/conf/apache2-httpd.conf:
  • http/conf/cygwin-httpd.conf:
  • http/conf/httpd.conf:
  • http/tests/misc/resources/generatedimage.bat: Added.
3:57 PM Changeset in webkit [39185] by alice.liu@apple.com
  • 17 edits
    3 adds in trunk

WebCore:

2008-12-10 Alice Liu <alice.liu@apple.com>

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

Reviewed by Darin Adler.

Manual test case is manual-tests/drag-image-to-desktop.html

Added new files to projects

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • page/DragController.cpp: (WebCore::DragController::startDrag):
  • platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes): (WebCore::initializeSupportedImageMIMETypesForEncoding):

These changes add a method to obtain the extension for an image

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::filenameExtension):
  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h: (WebCore::Image::filenameExtension):
  • platform/graphics/ImageSource.h:
  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::filenameExtension):
  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::filenameExtension):

These changes added a utility that returns the preferred extension for a UTI

  • platform/graphics/cg/ImageSourceCG.h: Added.
  • platform/graphics/cg/ImageSourceCGMac.mm: Added. (WebCore::MIMETypeForImageSourceType): (WebCore::preferredExtensionForImageSourceType):
  • platform/graphics/cg/ImageSourceCGWin.cpp: Added. (WebCore::MIMETypeForImageSourceType): (WebCore::preferredExtensionForImageSourceType):
  • platform/mac/MIMETypeRegistryMac.mm: moved getMIMETypeForUTI to ImageSourceCGMac.mm

Ask image for its file extension instead of relying on MIME type and file path

  • platform/win/ClipboardWin.cpp: (WebCore::createGlobalImageFileDescriptor):

Remove extraneous code from getPreferredExtensionForMIMEType.
Also moved getMIMETypeForUTI to ImageSourceCGWin.cpp

  • platform/win/MIMETypeRegistryWin.cpp: (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):

WebKit/mac:

2008-12-10 Alice Liu <alice.liu@apple.com>

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

Reviewed by Darin Adler.

  • Misc/WebNSPasteboardExtras.mm: Ask image for its file extension instead of falling back on MIME type and file path. Also moved this code to before setting the pasteboard data so as not to set any if no extension can be determined. (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
  • WebView/WebHTMLView.mm: Fixed a separate but related long-standing bug of how the filename for the promised drag data is determined by asking the image for a proper file extension. (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
1:33 PM Changeset in webkit [39184] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-10 Sam Weinig <sam@webkit.org>

Fix non-JIT builds.

  • bytecode/CodeBlock.h:
12:57 PM Changeset in webkit [39183] by Simon Fraser
  • 2 edits in trunk/WebCore

2008-12-10 Simon Fraser <Simon Fraser>

Potential build fix. The forward declaration of FloatPoint should
be inside the WebCore namespace.

  • platform/graphics/FloatPoint3D.h:
12:05 PM Changeset in webkit [39182] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-10 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

<rdar://problem/6428332> Remove the CTI return address table from CodeBlock

Step 2:

Convert the return address table from a HashMap to a sorted Vector. This
reduces the size of the data structure by ~4.5MB on Membuster head.

SunSpider reports a 0.5% progression.

  • bytecode/CodeBlock.cpp: (JSC::sizeInBytes): Generic method to get the cost of a Vector. (JSC::CodeBlock::dumpStatistics): Add dumping of member sizes.
  • bytecode/CodeBlock.h: (JSC::PC::PC): Struct representing NativePC -> VirtualPC mappings. (JSC::getNativePC): Helper for binary chop. (JSC::CodeBlock::getBytecodeIndex): Used to get the VirtualPC from a NativePC using a binary chop of the pcVector. (JSC::CodeBlock::pcVector): Accessor.
  • interpreter/Interpreter.cpp: (JSC::vPCForPC): Use getBytecodeIndex instead of jitReturnAddressVPCMap().get(). (JSC::Interpreter::cti_op_instanceof): Ditto. (JSC::Interpreter::cti_op_resolve): Ditto. (JSC::Interpreter::cti_op_resolve_func): Ditto. (JSC::Interpreter::cti_op_resolve_skip): Ditto. (JSC::Interpreter::cti_op_resolve_with_base): Ditto. (JSC::Interpreter::cti_op_throw): Ditto. (JSC::Interpreter::cti_op_in): Ditto. (JSC::Interpreter::cti_vm_throw): Ditto.
  • jit/JIT.cpp: (JSC::JIT::privateCompile): Reserve exact capacity and fill the pcVector.
12:03 PM Changeset in webkit [39181] by Simon Fraser
  • 3 edits in trunk/WebCore

2008-12-10 Simon Fraser <Simon Fraser>

Reviewed by Sam Weinig

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

Cleanup FloatPoint3D: inline the getters and setters,
fix a potential divide-by-zero in normalize(), and add
a FloatPoint constructor.

11:18 AM Changeset in webkit [39180] by jchaffraix@webkit.org
  • 14 edits in trunk/WebCore

2008-12-10 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
https://bugs.webkit.org/show_bug.cgi?id=22665

  • Removed setCreatedByParser from style and link elements.
  • Removed XMLTokenizer::eventuallyMarkAsCreatedByParser.
  • dom/XMLTokenizer.cpp:
  • dom/XMLTokenizer.h:
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::startElementNs):
  • dom/XMLTokenizerQt.cpp: (WebCore::XMLTokenizer::parseStartElement):
  • html/HTMLElementFactory.cpp: (WebCore::linkConstructor): (WebCore::styleConstructor):
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::HTMLLinkElement):
  • html/HTMLLinkElement.h:
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::HTMLStyleElement):
  • html/HTMLStyleElement.h:
  • html/HTMLTagNames.in:
  • svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::SVGStyleElement):
  • svg/SVGStyleElement.h:
  • svg/svgtags.in:
10:58 AM Changeset in webkit [39179] by ggaren@apple.com
  • 1 edit
    3 adds in trunk/LayoutTests

2008-12-10 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam :( Weinig.


Added a test for http://trac.webkit.org/changeset/39162.

  • fast/regex/malformed-escapes-expected.txt: Added.
  • fast/regex/malformed-escapes.html: Added.
  • fast/regex/resources/malformed-escapes.js: Added.
10:37 AM Changeset in webkit [39178] by beidson@apple.com
  • 31 edits
    4 adds in trunk

WebCore:

2008-12-10 Brady Eidson <beidson@apple.com>

Reviewed by Darin

https://bugs.webkit.org/show_bug.cgi?id=22194 and <rdar://problem/6388378> -
Dialog when going back to a page from whence you submitted a form

http://trac.webkit.org/changeset/37317 changed the manner in which headers are added to
http requests, which caused the networking layer to have an incomplete set of headers
just before consulting the Policy Delegate. This caused a cache miss and incorrectly made
us believe we'd be resubmitting the form.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadItem): Being careful to maintain the new behavior required by the Origin header mechanism as discussed in bug 22194, restore the previous behavior of setting all the headers before the networking layer is asked about the cache lookup.

WebKitTools:

2008-12-10 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Change the custom policy delegate to actually allow navigation for tests that need it.
The new behavior is opt-in and doesn't require any changes in old tests.

  • DumpRenderTree/LayoutTestController.cpp: (setCustomPolicyDelegateCallback): Allow for a second boolean argument to set the permissive flag on the custom policy delegate, which will be false by default to maintain original behavior.
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setCustomPolicyDelegate):
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setCustomPolicyDelegate): Partially stubbed out for now.
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setCustomPolicyDelegate): Still stubbed out, but with new param.
  • DumpRenderTree/mac/PolicyDelegate.h:
  • DumpRenderTree/mac/PolicyDelegate.mm: (-[PolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): If the permissive flag is set, allow the navigation. (-[PolicyDelegate setPermissive:]): Change the behavior between "use" and "ignore" - allowing navigation or not.

LayoutTests:

2008-12-10 Brady Eidson <beidson@apple.com>

Reviewed by Darin

New layout tests for testing the fix for https://bugs.webkit.org/show_bug.cgi?id=22194:

  • http/tests/navigation/post-goback-repost-policy-expected.txt: Added.
  • http/tests/navigation/post-goback-repost-policy.html: Added.
  • http/tests/navigation/resources/goback-with-policydelegate.html: Added.
  • http/tests/navigation/resources/post-target-policy-test.html: Added.

Updated layout test results for the new "custom policy delegate" mechanism:

  • fast/encoding/mailto-always-utf-8-expected.txt:
  • fast/forms/mailto/advanced-get-expected.txt:
  • fast/forms/mailto/advanced-put-expected.txt:
  • fast/forms/mailto/get-multiple-items-expected.txt:
  • fast/forms/mailto/get-multiple-items-text-plain-expected.txt:
  • fast/forms/mailto/get-multiple-items-x-www-form-urlencoded-expected.txt:
  • fast/forms/mailto/get-non-ascii-always-utf-8-expected.txt:
  • fast/forms/mailto/get-non-ascii-expected.txt:
  • fast/forms/mailto/get-non-ascii-text-plain-expected.txt:
  • fast/forms/mailto/get-non-ascii-text-plain-latin-1-expected.txt:
  • fast/forms/mailto/get-overwrite-query-expected.txt:
  • fast/forms/mailto/post-append-query-expected.txt:
  • fast/forms/mailto/post-multiple-items-expected.txt:
  • fast/forms/mailto/post-multiple-items-multipart-form-data-expected.txt:
  • fast/forms/mailto/post-multiple-items-text-plain-expected.txt:
  • fast/forms/mailto/post-multiple-items-x-www-form-urlencoded-expected.txt:
  • fast/forms/mailto/post-text-plain-expected.txt:
  • fast/forms/mailto/post-text-plain-with-accept-charset-expected.txt:
  • http/tests/security/feed-urls-from-remote-expected.txt:

Skip the new test on Windows until the policy delegate can be enhanced there:

  • platform/win/Skipped: (It is already implicitly skipped for qt and gtk)
10:27 AM Changeset in webkit [39177] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-12-10 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Timothy Hatcher.

Add back ability to end all profiling via console by invoking profileEnd
with no arguments.

  • page/Console.cpp: (WebCore::Console::profileEnd): Removed title null-checking and

subsequent early exit.

10:00 AM Changeset in webkit [39176] by pol@apple.com
  • 4 edits
    4 adds in trunk

2008-12-10 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Darin Adler.

KeyframeAnimation::animate() needs to compute the elapsed animation time
properly taking into account its paused state.

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

Test: animations/animation-drt-api-multiple-keyframes.html

  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::animate):
9:18 AM Changeset in webkit [39175] by Simon Fraser
  • 6 edits in trunk/WebCore

2008-12-10 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

Part of
https://bugs.webkit.org/show_bug.cgi?id=22570

Rename methods on RenderLayer for clarity:

clearClipRects -> clearClipRectsIncludingDescendants
clearClipRect -> clearClipRects

9:06 AM Changeset in webkit [39174] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix after the script call stack/frame additions.

8:41 AM Changeset in webkit [39173] by zecke@webkit.org
  • 14 edits in trunk/WebKit/qt

2008-12-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Simon Hausmann.

API changes discussed with Simon Hausmann, Tor Arne
Vestbø, Ariya Hidayat...

  • Api/qwebdatabase.cpp: (QWebDatabase::fileName): (QWebDatabase::removeDatabase):
  • Api/qwebdatabase.h:
  • Api/qwebframe.cpp: (QWebFrame::scroll): (QWebFrame::scrollPosition): (QWebFrame::setScrollPosition):
  • Api/qwebframe.h:
  • Api/qwebpage.cpp: (QWebPage::setContentEditable): (QWebPage::isContentEditable): (QWebPage::extension):
  • Api/qwebpage.h:
  • Api/qwebsecurityorigin.cpp:
  • Api/qwebsettings.cpp: (QWebSettingsPrivate::apply): (QWebSettings::QWebSettings):
  • Api/qwebsettings.h:
  • QtLauncher/main.cpp: (MainWindow::setEditable):
  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::exceededDatabaseQuota): (WebCore::ChromeClientQt::runOpenPanel):
  • WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::isEditable):
  • tests/qwebpage/tst_qwebpage.cpp: (tst_QWebPage::database):
8:35 AM Changeset in webkit [39172] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-12-10 Srinivasa Rao M. Hamse <msrinirao@gmail.com>

Reviewed by Holger Freyther.

F1-F12 key mappings for WebKit Gtk Port

  • platform/gtk/KeyEventGtk.cpp: (WebCore::windowsKeyCodeForKeyEvent):
8:06 AM Changeset in webkit [39171] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-12-10 Enrico Ros <enrico.ros@m31.com>

Reviewed by Simon Hausmann.

Fix the Qt build when SVG is disabled. A broken dependancy caused
unnecessary rebuilds even with no changes.

7:59 AM Changeset in webkit [39170] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-12-09 Balazs Kelemen <Kelemen.Balazs.3@stud.u-szeged.hu>

Reviewed by Simon Hausmann.

Extended QtLauncher so now it can load pages from an url list
one by one. This can be useful for testing purposes (eq. leak hunting).
The -r option activates this feature.

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

4:49 AM Changeset in webkit [39169] by ap@webkit.org
  • 3 edits
    6 adds in trunk

2008-12-10 Hironori Bono <hbono@chromium.org>

Reviewed by Alexey Proskuryakov.

Bug 21820: Unable to enter the Tamil UNICODE Characters via Thamizha Phonetic IME
https://bugs.webkit.org/show_bug.cgi?id=21820

<rdar://problem/5683248> Typing backspace to delete a diacritical mark also deletes the character before (Arabic)
<rdar://problem/5702038> Backspace removes Thai Character in wrong sequence

Tests: editing/deleting/delete-ligature-001.html

editing/deleting/delete-ligature-002.html
editing/deleting/delete-ligature-003.html

  • editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed): Delete only the last character of a ligature which consists of multiple Unicode characters when deleting it with a backspace key.
4:23 AM Changeset in webkit [39168] by ap@webkit.org
  • 3 edits in trunk

2008-12-10 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22177
Fix the windows build by removing calls to notifyFormStateChanged
where they didn't appear in the original reviewed patch.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::type): (WebCore::HTMLInputElement::attach):
1:10 AM Changeset in webkit [39167] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-12-10 Simon Hausmann <Simon Hausmann>

Fix the Qt build, added const to Node* parameter after change
in signature.

12:15 AM Changeset in webkit [39166] by ap@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Rubber-stamped by Maciej Stachowiak.

<rdar://problem/5959165> Crash in a number of iExploder tests in WebCore::CachedImage::notifyObservers

Add a test for a crash that is no longer reproducible.

  • fast/css/mask-missing-image-crash-expected.txt: Added.
  • fast/css/mask-missing-image-crash.html: Added.

Dec 9, 2008:

11:59 PM Changeset in webkit [39165] by ap@webkit.org
  • 2 edits
    1 move in trunk

Rubber-stamped by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=19762
Crash in svg/webarchive/svg-cursor-subresources.svg

  • svg/webarchive/svg-cursor-subresources.svg: Copied from LayoutTests/svg/webarchive/svg-cursor-subresources.svg-disabled.
  • svg/webarchive/svg-cursor-subresources.svg-disabled: Removed. Re-enabling the test.
11:54 PM Changeset in webkit [39164] by ggaren@apple.com
  • 4 edits
    1 copy
    2 adds in trunk

JavaScriptCore:

2008-12-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

Added WREC support for an assertion followed by a quantifier. Fixed
PCRE to match.

  • wrec/WRECParser.cpp: (JSC::WREC::Parser::parseParentheses): Throw away the quantifier, since it's meaningless. (Firefox does the same.)
  • pcre/pcre_compile.cpp: (compileBranch): ditto.

LayoutTests:

2008-12-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

Added a test for an assertion followed by a quantifier.

  • fast/regex/quantified-assertions-expected.txt: Added.
  • fast/regex/quantified-assertions.html: Added.
  • fast/regex/resources/quantified-assertions.js: Copied from fast/regex/resources/alternative-length-miscalculation.js.
10:48 PM Changeset in webkit [39163] by abarth@webkit.org
  • 4 edits in trunk/WebCore

2008-12-09 Adam Barth <abarth@webkit.org>

Reviewed by Sam Weinig.

Add ScriptController::updateSecurityOrigin to notify the bindings
that a document's securityOrigin has been updated. This is used by
V8 to update its security context.

  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::updateSecurityOrigin):
  • bindings/js/ScriptController.h:
  • dom/Document.cpp: (WebCore::Document::setDomain):
8:59 PM Changeset in webkit [39162] by ggaren@apple.com
  • 12 edits in trunk

JavaScriptCore:

2008-12-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.

In preparation for compiling WREC without PCRE:


Further relaxed WREC's parsing to be more web-compatible. Fixed PCRE to
match in cases where it didn't already.


Changed JavaScriptCore to report syntax errors detected by WREC, rather
than falling back on PCRE any time WREC sees an error.


  • pcre/pcre_compile.cpp: (checkEscape): Relaxed parsing of \c and \N escapes to be more web-compatible.


  • runtime/RegExp.cpp: (JSC::RegExp::RegExp): Only fall back on PCRE if WREC has not reported a syntax error.
  • wrec/WREC.cpp: (JSC::WREC::Generator::compileRegExp): Fixed some error reporting to match PCRE.
  • wrec/WRECParser.cpp: Added error messages that match PCRE.

(JSC::WREC::Parser::consumeGreedyQuantifier):
(JSC::WREC::Parser::parseParentheses):
(JSC::WREC::Parser::parseCharacterClass):
(JSC::WREC::Parser::parseNonCharacterEscape): Updated the above functions to
use the new setError API.

(JSC::WREC::Parser::consumeEscape): Relaxed parsing of \c \N \u \x \B
to be more web-compatible.

(JSC::WREC::Parser::parseAlternative): Distinguish between a malformed
quantifier and a quantifier with no prefix, like PCRE does.

(JSC::WREC::Parser::consumeParenthesesType): Updated to use the new setError API.

  • wrec/WRECParser.h: (JSC::WREC::Parser::error): (JSC::WREC::Parser::syntaxError): (JSC::WREC::Parser::parsePattern): (JSC::WREC::Parser::reset): (JSC::WREC::Parser::setError): Store error messages instead of error codes, to provide for exception messages. Use a setter for reporting errors, so errors detected early are not overwritten by errors detected later.

LayoutTests:

2008-12-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.

Updated regular expression layout tests to be agnostic between WREC
and PCRE quirks. Also, updated results to match new, more web-compatible
regular expression parsing.

  • fast/js/regexp-charclass-crash-expected.txt:
  • fast/js/regexp-charclass-crash.html:
  • fast/js/regexp-no-extensions-expected.txt:
  • fast/js/resources/regexp-no-extensions.js:
  • fast/regex/test1-expected.txt:
8:22 PM Changeset in webkit [39161] by barraclough@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-09 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Use va_args to access cti function arguments.
https://bugs.webkit.org/show_bug.cgi?id=22774

This may be a minor regression, but we'll take the hit if so to reduce fragility.

  • interpreter/Interpreter.cpp:
  • interpreter/Interpreter.h:
5:42 PM Changeset in webkit [39160] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Fix gdb-safari on Tiger.

gdb on Tiger does not take the -arch flag, so do not pass it.

Rubber-stamped by Ada Chan.

5:35 PM Changeset in webkit [39159] by pam@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

2008-12-09 David Levin <levin@chromium.org>

Reviewed by Eric Seidel.

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

Add a test to check for checks when attaching an event to a document created by
'document.implementation.createDocument'.

  • fast/events/create-document-crash-on-attach-event-expected.txt: Added.
  • fast/events/create-document-crash-on-attach-event.html: Added.
  • fast/events/resources/create-document-crash-on-attach-event.js: Added. (doc.onload):
5:28 PM Changeset in webkit [39158] by pam@chromium.org
  • 1 edit
    5 adds in trunk/LayoutTests

2008-12-09 David Levin <levin@chromium.org>

Reviewed by Eric Seidel.

Add a test to check the event order for context clicks on Windows.

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

  • platform/win/fast/events/context-click-events-expected.txt: Added.
  • platform/win/fast/events/context-click-events.html: Added.
  • platform/win/fast/events/resources: Added.
  • platform/win/fast/events/resources/TEMPLATE.html: Added.
  • platform/win/fast/events/resources/context-click-events.js: Added. (clickHandler): (traceMouseEvent):
4:39 PM Changeset in webkit [39157] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-09 Sam Weinig <sam@webkit.org>

Reviewed twice by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22752
Clear SymbolTable after codegen for Function codeblocks that
don't require an activation

This is a ~1.5MB improvement on Membuster-head.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpStatistics): Add logging of non-empty symbol tables and total size used by symbol tables.
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): Clear the symbol table here.
4:26 PM Changeset in webkit [39156] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-09 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Remove unnecessary extra lookup when throwing an exception.
We used to first lookup the target offset using getHandlerForVPC
and then we would lookup the native code stub using
nativeExceptionCodeForHandlerVPC. Instead, we can just pass around
the HandlerInfo.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::handlerForVPC): Return the HandlerInfo.
  • bytecode/CodeBlock.h: Remove nativeExceptionCodeForHandlerVPC.
  • interpreter/Interpreter.cpp: (JSC::Interpreter::throwException): Return a HandlerInfo instead of and Instruction offset. (JSC::Interpreter::privateExecute): Get the offset from HandlerInfo. (JSC::Interpreter::cti_op_throw): Get the native code from the HandleInfo. (JSC::Interpreter::cti_vm_throw): Ditto.
  • interpreter/Interpreter.h:
4:14 PM Changeset in webkit [39155] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-09 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Fix typecast.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
4:13 PM Changeset in webkit [39154] by andersca@apple.com
  • 5 edits in trunk/WebKit/mac

2008-12-09 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Implement software rendering of hosted plug-ins.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCInvalidateRect): New MiG function. This is called by the plug-in host when it has drawn something.


  • Plugins/Hosted/WebHostedNetscapePluginView.h:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView createPlugin]): Create a software renderer.


(-[WebHostedNetscapePluginView destroyPlugin]):
Destroy the software renderer.


(-[WebHostedNetscapePluginView drawRect:]):
Draw using the software renderer.


  • Plugins/Hosted/WebKitPluginClient.defs: Add InvalidateRect.
4:11 PM Changeset in webkit [39153] by eric@webkit.org
  • 4 edits in trunk

No review, build fix only.

Fix a few config issues to let the Chromium Windows WebCore build get further.

  • WebCore.scons:
4:01 PM Changeset in webkit [39152] by brettw@chromium.org
  • 16 edits in trunk

Reviewed by Dave Hyatt.

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

Add a callback on ChromeClient that the state of form elements on
the page has changed. This is to allow clients implementing session
saving to know when the current state is dirty.

3:51 PM Changeset in webkit [39151] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-09 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Make sure to pause null events for hosted plug-ins as well.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
3:49 PM Changeset in webkit [39150] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

2008-12-09 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

  • Plugins/Hosted/NetscapePluginHostProxy.h:
  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy): Unfortunately we can't use a libdispatch source right now, because of <rdar://problem/6393180>.
3:36 PM Changeset in webkit [39149] by weinig@apple.com
  • 6 edits in trunk/WebCore

2008-12-09 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Fix intermittent crash in buildbot. The CSSCursorImageValues and
SVGCursorElements held onto raw SVGElement pointers without any
guarantee that the element is still around.

We did not fix the design that resulted in this issue, we just fixed
the pointer lifetimes.

  • css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Zero out the back pointers. (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Set up a back pointer. (WebCore::CSSCursorImageValue::removeReferencedElement): Added. Used when the element is destroyed.
  • css/CSSCursorImageValue.h: Added removeReferencedElement.
  • svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::~SVGCursorElement): Zero out the back pointers. (WebCore::SVGCursorElement::addClient): Set up a back pointer. (WebCore::SVGCursorElement::removeClient): Zero out the back pointer.
  • svg/SVGElement.cpp: (WebCore::SVGElement::SVGElement): Initialize back pointers to zero. (WebCore::SVGElement::~SVGElement): Call both the element and cursor image value to remove the element from their sets.
  • svg/SVGElement.h: (WebCore::SVGElement::setCursorElement): Added. (WebCore::SVGElement::setCursorImageValue): Added.
3:33 PM Changeset in webkit [39148] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

No review, build fix only.

Add ExecutableAllocator files missing from Scons build.

3:11 PM Changeset in webkit [39147] by darin@chromium.org
  • 2 edits in trunk/WebKit/cf

2008-12-09 Dimitri Glazkov <Dimitri Glazkov>

Fix bustage.

  • WebCoreSupport/WebInspectorClientCF.cpp:
2:36 PM Changeset in webkit [39146] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-12-09 David Hyatt <hyatt@apple.com>

Add code that will create custom CSS scrollbars from the <body>, the document element (<html>) and the owning
frame/iframe. If any of them set a custom style, it will be used. The scrollbars do not update dynamically
yet as you switch from page to page (until they are destroyed and recreated).

Reviewed by Adele

  • page/FrameView.cpp: (WebCore::FrameView::createScrollbar):
2:02 PM Changeset in webkit [39145] by timothy@apple.com
  • 3 edits in trunk/WebKit/mac

Implement a few methods needed to keep Dictionary.app working on Leopard.

<rdar://problem/6002160> Internal changes to WebKit in Safari 4
Developer Preview might break Dictionary

Reviewed by Dan Bernstein.

  • WebView/WebFrame.mm: (-[WebFrame convertNSRangeToDOMRange:]): Added. Calls _convertNSRangeToDOMRange. (-[WebFrame convertDOMRangeToNSRange:]): Added. Calls _convertDOMRangeToNSRange.
  • WebView/WebHTMLView.mm: (-[WebHTMLView _bridge]): Added. Returns the WebFrame, which has the methods that Dictionary.app is using.
1:46 PM Changeset in webkit [39144] by darin@chromium.org
  • 7 edits in trunk/WebCore

2008-12-09 Ojan Vafai <ojan@chromium.org>

Reviewed by Dave Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=22689
Match Firefox button metrics on Windows.

  • rendering/RenderButton.cpp: (WebCore::RenderButton::addChild): (WebCore::RenderButton::styleDidChange): (WebCore::RenderButton::setupInnerStyle):
  • rendering/RenderButton.h:
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustButtonInnerStyle):
  • rendering/RenderTheme.h:
  • rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::adjustSliderThumbSize): (WebCore::RenderThemeWin::adjustButtonInnerStyle):
  • rendering/RenderThemeWin.h:
12:43 PM Changeset in webkit [39143] by darin@chromium.org
  • 1 edit
    4 adds in trunk/WebCore

2008-12-09 Darin Fisher <darin@chromium.org>

Fixes bustages.

https://bugs.webkit.org/show_bug.cgi?id=22631
Adding missing files from previous commit.

  • bindings/js/ScriptCallFrame.cpp: Added. (WebCore::ScriptCallFrame::ScriptCallFrame): (WebCore::ScriptCallFrame::~ScriptCallFrame): (WebCore::ScriptCallFrame::argumentAt):
  • bindings/js/ScriptCallFrame.h: Added. (WebCore::ScriptCallFrame::functionName): (WebCore::ScriptCallFrame::sourceURL): (WebCore::ScriptCallFrame::lineNumber): (WebCore::ScriptCallFrame::argumentCount):
  • bindings/js/ScriptCallStack.cpp: Added. (WebCore::ScriptCallStack::ScriptCallStack): (WebCore::ScriptCallStack::~ScriptCallStack): (WebCore::ScriptCallStack::at): (WebCore::ScriptCallStack::size): (WebCore::ScriptCallStack::initialize):
  • bindings/js/ScriptCallStack.h: Added. (WebCore::ScriptCallStack::state):
12:25 PM Changeset in webkit [39142] by darin@chromium.org
  • 19 edits in trunk

2008-12-09 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Timothy Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=22631
Streamline Console.cpp, abstract out the use of JSC::ExecState and
JSC::ArgList by introducing ScriptCallFrame and ScriptCallStack
abstractions.

  • GNUmakefile.am: Added ScriptCallFrame and ScriptCallStack to build
  • WebCore.pro: Added ScriptCallFrame and ScriptCallStack to build
  • WebCore.vcproj/WebCore.vcproj: Added ScriptCallFrame and ScriptCallStack to project
  • WebCore.xcodeproj/project.pbxproj: Added ScriptCallFrame and ScriptCallStack to project
  • bindings/js/JSConsoleCustom.cpp: Remove custom bindings.
  • bindings/js/ScriptCallFrame.cpp: Added. (WebCore::ScriptCallFrame::ScriptCallFrame): (WebCore::ScriptCallFrame::~ScriptCallFrame): (WebCore::ScriptCallFrame::argumentAt):
  • bindings/js/ScriptCallFrame.h: Added. (WebCore::ScriptCallFrame::functionName): (WebCore::ScriptCallFrame::sourceURL): (WebCore::ScriptCallFrame::lineNumber): (WebCore::ScriptCallFrame::argumentCount):
  • bindings/js/ScriptCallStack.cpp: Added. (WebCore::ScriptCallStack::ScriptCallStack): (WebCore::ScriptCallStack::~ScriptCallStack): (WebCore::ScriptCallStack::at): (WebCore::ScriptCallStack::size): (WebCore::ScriptCallStack::initialize):
  • bindings/js/ScriptCallStack.h: Added. (WebCore::ScriptCallStack::ScriptCallStack): (WebCore::ScriptCallStack::~ScriptCallStack): (WebCore::ScriptCallStack::state): (WebCore::ScriptCallStack::at): (WebCore::ScriptCallStack::size): (WebCore::ScriptCallStack::initialize):
  • bindings/js/ScriptString.h: Added missing PlatformString include. (WebCore::ScriptString::ScriptString): Added default constructor. (WebCore::ScriptString::operator==): Added equality operator. (WebCore::ScriptString::operator!=):
  • bindings/js/ScriptValue.cpp: Added isNull and isUndefined. (WebCore::ScriptValue::isNull): (WebCore::ScriptValue::isUndefined):
  • bindings/js/ScriptValue.h: Added isNull and isUndefined
  • bindings/scripts/CodeGeneratorJS.pm: Add handling for CustomArgumentHandling attribute.
  • inspector/InspectorController.cpp: Refactored to use ScriptCallFrame and ScriptCallStack. (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::InspectorController::addMessageToConsole): (WebCore::InspectorController::startGroup): (WebCore::InspectorController::addScriptConsoleMessage): (WebCore::InspectorController::count): (WebCore::InspectorController::startTiming): (WebCore::InspectorController::stopTiming):
  • inspector/InspectorController.h: Refactored to use ScriptCallFrame and ScriptCallStack.
  • inspector/front-end/Console.js: Modified to use argument value itself rather than f.name for stack trace.
  • page/Console.cpp: Refactored to use ScriptCallFrame and ScriptCallStack. (WebCore::getFirstArgumentAsString): (WebCore::Console::addMessage): (WebCore::Console::debug): (WebCore::Console::error): (WebCore::Console::info): (WebCore::Console::log): (WebCore::Console::dir): (WebCore::Console::dirxml): (WebCore::Console::trace): (WebCore::Console::assertCondition): (WebCore::Console::count): (WebCore::Console::profile): (WebCore::Console::profileEnd): (WebCore::Console::time): (WebCore::Console::timeEnd): (WebCore::Console::group): (WebCore::Console::warn):
  • page/Console.h:
  • page/Console.idl: Removed Custom attributes, added CustomArgumentHandling attributes, and tweaked argument defs.
11:19 AM Changeset in webkit [39141] by cwzwarich@webkit.org
  • 5 edits in trunk/JavaScriptCore

2008-12-08 Judit Jasz <jasy@inf.u-szeged.hu>

Reviewed and tweaked by Cameron Zwarich.

Bug 22352: Annotate opcodes with their length
<https://bugs.webkit.org/show_bug.cgi?id=22352>

  • bytecode/Opcode.cpp:
  • bytecode/Opcode.h:
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
10:42 AM Changeset in webkit [39140] by Darin Adler
  • 7 edits in trunk/WebCore

2008-12-09 Darin Adler <Darin Adler>

Try to fix non-Mac builds.

  • GNUmakefile.am: Added NavigatorBase.
  • WebCore.pro: Ditto.
  • WebCore.scons: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCoreSources.bkl: Ditto.

Unrelated tweak sitting in my tree.

  • bindings/objc/DOMAbstractView.mm: Remove pointless override of finalize method.
10:38 AM Changeset in webkit [39139] by Darin Adler
  • 2 edits in trunk/WebCore

2008-12-09 Darin Adler <Darin Adler>

Try to fix Tiger build.

  • platform/network/mac/NetworkStateNotifierMac.cpp: Declare CFRunLoopGetMain.
9:58 AM Changeset in webkit [39138] by ap@webkit.org
  • 17 edits
    7 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22719
Implement Navigator object in Workers

Test: fast/workers/worker-navigator.html

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj: Added WorkerNavigator sources.
  • bindings/js/JSWorkerContext.cpp: (WebCore::jsWorkerContextNavigator): Worker.navigator returns a WoerkerNavigator object (it is named just Navigator in the spec, but it is not the same interface that is available on Windows).
  • dom/Worker.cpp: (WebCore::Worker::notifyFinished):
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::WorkerContext): (WebCore::WorkerContext::navigator):
  • dom/WorkerContext.h: (WebCore::WorkerContext::create):
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::create): (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::workerThread):
  • dom/WorkerThread.h: Pass a pre-computed user agent string into worker, because it cannot call a client method directly, and pre-computing is easier than sending a synchronous message to the main thread.
  • page/Navigator.cpp:
  • page/Navigator.h:
  • page/NavigatorBase.cpp: Added.
  • page/NavigatorBase.h: Added. Factor out common (and uncommon, but very similar) functionality into a base class.
  • page/WorkerNavigator.cpp: Added.
  • page/WorkerNavigator.h: Added.
  • page/WorkerNavigator.idl: Added. Per Web Workers and HTML5, implement a small subset of what we currently have in Window.Navigator.
  • platform/network/NetworkStateNotifier.cpp: (WebCore::networkStateNotifier): Make networkStateNotifier() static constructor thread safe. The object is created on the thread it is first called from, while callbacks are registered on the main thread. Calls to onLine() from other threads are safe, because it is just loading a boolean.
  • platform/network/mac/NetworkStateNotifierMac.cpp: (WebCore::NetworkStateNotifier::NetworkStateNotifier): Schedule notifications on main event loop, not the current one.
9:53 AM Changeset in webkit [39137] by pam@chromium.org
  • 2 edits in trunk/LayoutTests

2008-12-09 Pamela Greene <pam@chromium.org>

Submitted without review.
Corrected results so the test passes.

  • fast/events/special-key-events-in-input-text-expected.txt:
8:42 AM QtWebKitGitInstructions edited by Simon Hausmann
(diff)
8:40 AM Changeset in webkit [39136] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

008-12-09 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon Hausmann.

Fix the documentation of the localStorageDatabasePath setters/getters.

6:50 AM Changeset in webkit [39135] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

Rubber-stamped by Alexey Proskuryakov.
Forgot to update Qt/WML build - add some new files to the build.

6:48 AM Changeset in webkit [39134] by ddkilzer@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fixed more ChangeLog dates.

6:42 AM Changeset in webkit [39133] by Nikolas Zimmermann
  • 16 edits
    2 moves
    13 adds in trunk

Reviewed by Alexey Proskuryakov.

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

Implement the GET method for WMLGoElement, and some test covering it's behaviour.
Update all build systems supporting WML that haven't been updated since a while.

Add WMLPostField stub implementation, needed for implementing POST method.

Tests: wml/go-task-get-method-external-deck-with-href.html

wml/go-task-get-method-external-deck.html
wml/go-task-get-method-same-deck.html

2:13 AM Changeset in webkit [39132] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

2008-12-08 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon Hausmann.

Multiple files support for the file chooser.

  • Api/qwebpage.cpp: (QWebPage::chooseFiles):
  • Api/qwebpage.h:
  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::runOpenPanel):

Dec 8, 2008:

11:48 PM Changeset in webkit [39131] by ap@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

2008-12-08 Dmitry Titov <dimich@chromium.org>

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?id=22710
Verifies that active timeout does not cause memory leak.

  • fast/dom/Window/resources/long_timeout.html: Added.
  • fast/dom/Window/timeout-released-on-close-expected.txt: Added.
  • fast/dom/Window/timeout-released-on-close.html: Added.
11:24 PM Changeset in webkit [39130] by ggaren@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-12-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Implemented more of the relaxed and somewhat weird rules for deciding
how to interpret a non-pattern-character.


  • wrec/Escapes.h: (JSC::WREC::Escape::): (JSC::WREC::Escape::Escape): Eliminated Escape::None because it was unused. If you see an '
    ', it's either a valid escape or an error.
  • wrec/Quantifier.h: (JSC::WREC::Quantifier::Quantifier):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): Renamed "noMaxSpecified" to "Infinity", since that's what it means.
  • wrec/WRECParser.cpp: (JSC::WREC::Parser::consumeGreedyQuantifier): Re-wrote {n,m} parsing rules because they were too strict before. Added support for backtracking in the case where the {n,m} fails to parse as a quantifier, and yet is not a syntax error.

(JSC::WREC::Parser::parseCharacterClass):
(JSC::WREC::Parser::parseNonCharacterEscape): Eliminated Escape::None,
as above.

(JSC::WREC::Parser::consumeEscape): Don't treat ASCII and _ escapes
as syntax errors. See fast/regex/non-pattern-characters.html.


  • wrec/WRECParser.h: (JSC::WREC::Parser::SavedState::SavedState): (JSC::WREC::Parser::SavedState::restore): Added a state backtracker, since parsing {n,m} forms requires backtracking if the form turns out not to be a quantifier.
11:07 PM Changeset in webkit [39129] by ggaren@apple.com
  • 2 edits in trunk/WebKitTools

2008-12-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Added a shortcut for --jsDriver-args, which I use a lot.

  • Scripts/run-javascriptcore-tests:
10:47 PM Changeset in webkit [39128] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-12-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Refactored WREC parsing so that only one piece of code needs to know
the relaxed and somewhat weird rules for deciding how to interpret a
non-pattern-character, in preparation for implementing those rules.


Also, implemented the relaxed and somewhat weird rules for '}' and ']'.

  • wrec/WREC.cpp: Reduced the regular expression size limit. Now that WREC handles ']' properly, it compiles fast/js/regexp-charclass-crash.html, which makes it hang at the old limit. (The old limit was based on the misimpression that the same value in PCRE limited the regular expression pattern size; in reality, it limited the expected compiled regular expression size. WREC doesn't have a way to calculate an expected compiled regular expression size, but this should be good enough.)
  • wrec/WRECParser.cpp: (JSC::WREC::parsePatternCharacterSequence): Nixed this function because it contained a second copy of the logic for handling non-pattern-characters, which is about to get a lot more complicated.

(JSC::WREC::PatternCharacterSequence::PatternCharacterSequence):
(JSC::WREC::PatternCharacterSequence::size):
(JSC::WREC::PatternCharacterSequence::append):
(JSC::WREC::PatternCharacterSequence::flush): Helper object for generating
an optimized sequence of pattern characters.

(JSC::WREC::Parser::parseNonCharacterEscape): Renamed to reflect the fact
that the main parseAlternative loop handles character escapes.

(JSC::WREC::Parser::parseAlternative): Moved pattern character sequence
logic from parsePatternCharacterSequence to here, using
PatternCharacterSequence to help with the details.

  • wrec/WRECParser.h: Updated for renames.
10:46 PM Changeset in webkit [39127] by ap@webkit.org
  • 3 edits in trunk/JavaScriptCore

Reviewed by Geoff Garen.

<rdar://problem/6166088> Give JSGlobalContextCreate a behavior that is concurrency aware,
and un-deprecate it

  • API/JSContextRef.cpp: (JSGlobalContextCreate):
  • API/JSContextRef.h: Use a unique context group for the context, unless the application was linked against old JavaScriptCore.
10:29 PM Changeset in webkit [39126] by mitz@apple.com
  • 2 edits in trunk/WebKit/win

Reviewed by Adam Roben.

  • Fix nightly builds
  • Interfaces/IWebViewPrivate.idl: Moved globalHistoryItem() to the end, so that it comes after all methods used by Safari 3.2.1.
10:23 PM Changeset in webkit [39125] by ggaren@apple.com
  • 3 edits in trunk/LayoutTests

2008-12-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed js-test-pre.js to print a meaningful, complete sentence when
exception tests fail.

  • fast/js/const-expected.txt: Updated test for new results.
  • fast/js/resources/js-test-pre.js: (shouldThrow):
9:34 PM Changeset in webkit [39124] by Stephanie Lewis
  • 2 edits in trunk/WebKitTools

2008-12-08 Stephanie Lewis <Stephanie Lewis>

Fix Tiger build.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm:
9:27 PM Changeset in webkit [39123] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-08 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Fix for <rdar://problem/6428332> Remove the CTI return address table from CodeBlock

Step 1:

Remove use of jitReturnAddressVPCMap when looking for vPC to store Structures
in for cached lookup. Instead, use the offset in the StructureStubInfo that is
already required.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpStatistics): Fix extraneous semicolon.
  • interpreter/Interpreter.cpp: (JSC::Interpreter::tryCTICachePutByID): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_get_by_id_self_fail): (JSC::Interpreter::cti_op_get_by_id_proto_list):
  • jit/JIT.h: (JSC::JIT::compileGetByIdSelf): (JSC::JIT::compileGetByIdProto): (JSC::JIT::compileGetByIdChain): (JSC::JIT::compilePutByIdReplace): (JSC::JIT::compilePutByIdTransition):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace): (JSC::JIT::privateCompilePatchGetArrayLength): Remove extra call to getStubInfo. (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace):
8:54 PM Changeset in webkit [39122] by barraclough@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-08 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Port the op_j?n?eq_null JIT code generation to use the MacroAssembler,
and clean up slightly at the same time. The 'j' forms currently compare,
then set a register, then compare again, then branch. Branch directly on
the result of the first compare.

Around a 1% progression on deltablue, crypto & early boyer, for about 1/2%
overall on v8-tests.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdSlowCase):
6:10 PM Changeset in webkit [39121] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-08 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Expand MacroAssembler to support more operations, required by the JIT.

Generally adds more operations and permutations of operands to the existing
interface. Rename 'jset' to 'jnz' and 'jnset' to 'jz', which seem clearer,
and require that immediate pointer operands (though not pointer addresses to
load and store instructions) are wrapped in a ImmPtr() type, akin to Imm32().

No performance impact.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::): (JSC::MacroAssembler::ImmPtr::ImmPtr): (JSC::MacroAssembler::add32): (JSC::MacroAssembler::and32): (JSC::MacroAssembler::or32): (JSC::MacroAssembler::sub32): (JSC::MacroAssembler::xor32): (JSC::MacroAssembler::loadPtr): (JSC::MacroAssembler::load32): (JSC::MacroAssembler::storePtr): (JSC::MacroAssembler::store32): (JSC::MacroAssembler::poke): (JSC::MacroAssembler::move): (JSC::MacroAssembler::testImm32): (JSC::MacroAssembler::jae32): (JSC::MacroAssembler::jb32): (JSC::MacroAssembler::jePtr): (JSC::MacroAssembler::je32): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jne32): (JSC::MacroAssembler::jnzPtr): (JSC::MacroAssembler::jnz32): (JSC::MacroAssembler::jzPtr): (JSC::MacroAssembler::jz32): (JSC::MacroAssembler::joSub32): (JSC::MacroAssembler::jump): (JSC::MacroAssembler::sete32): (JSC::MacroAssembler::setne32): (JSC::MacroAssembler::setnz32): (JSC::MacroAssembler::setz32):
  • assembler/X86Assembler.h: (JSC::X86Assembler::addl_mr): (JSC::X86Assembler::andl_i8r): (JSC::X86Assembler::cmpl_rm): (JSC::X86Assembler::cmpl_mr): (JSC::X86Assembler::cmpl_i8m): (JSC::X86Assembler::subl_mr): (JSC::X86Assembler::testl_i32m): (JSC::X86Assembler::xorl_i32r): (JSC::X86Assembler::movl_rm): (JSC::X86Assembler::modRm_opmsib):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITInlineMethods.h: (JSC::JIT::emitGetVirtualRegister): (JSC::JIT::emitPutCTIArgConstant): (JSC::JIT::emitPutCTIParam): (JSC::JIT::emitPutImmediateToCallFrameHeader): (JSC::JIT::emitInitRegister): (JSC::JIT::checkStructure): (JSC::JIT::emitJumpIfJSCell): (JSC::JIT::emitJumpIfNotJSCell): (JSC::JIT::emitJumpSlowCaseIfNotImmNum):
6:01 PM Changeset in webkit [39120] by pol@apple.com
  • 2 edits in trunk/LayoutTests

2008-12-08 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Dan Bernstein.

Increase timeout in video-paint-test.js so that <video> tests pass on the Tiger pixel bot which is slower
than the Leopard one.

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

  • media/video-paint-test.js: (init):
5:10 PM Changeset in webkit [39119] by ggaren@apple.com
  • 4 edits
    3 adds in trunk

JavaScriptCore:

2008-12-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed a bug where WREC would allow a quantifier whose minimum was
greater than its maximum.


  • wrec/Quantifier.h: (JSC::WREC::Quantifier::Quantifier): ASSERT that the quantifier is not backwards.


  • wrec/WRECParser.cpp: (JSC::WREC::Parser::consumeGreedyQuantifier): Verify that the minimum is not greater than the maximum.

LayoutTests:

2008-12-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Added a test for interesting uses of non-pattern-characters in regular
expressions.

  • fast/regex/non-pattern-characters-expected.txt: Added.
  • fast/regex/non-pattern-characters.html: Added.
  • fast/regex/resources/non-pattern-characters.js: Added.
5:09 PM Changeset in webkit [39118] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

Build fix only, no review.

5:07 PM Changeset in webkit [39117] by andersca@apple.com
  • 12 edits in trunk/WebKit/mac

2008-12-08 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

More work towards getting NPN_GetURL working.


  • Plugins/Hosted/HostedNetscapePluginStream.h: Inherit from NetscapePlugInStreamLoaderClient.


(WebKit::HostedNetscapePluginStream::streamID):

  • Plugins/Hosted/HostedNetscapePluginStream.mm: (WebKit::HostedNetscapePluginStream::startStream): Keep track of the resposne URL and the MIME type. Pass the response URL to the plug-in host.


(WebKit::HostedNetscapePluginStream::didFinishLoading):
Disconnect the stream.


(WebKit::HostedNetscapePluginStream::start):
Create a plug-in stream loader and start loading.


(WebKit::HostedNetscapePluginStream::stop):
Cancel the load.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCLoadURL): Fix the parameter order.


(WKPCCancelLoadURL):
New function that cancels a load of a stream with a given reason.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::destroy): Stop the streams.


(WebKit::NetscapePluginInstanceProxy::pluginStream):
Return a plug-in stream given a stream ID.


(WebKit::NetscapePluginInstanceProxy::disconnectStream):
Remove the stream from the streams map.


(WebKit::NetscapePluginInstanceProxy::loadRequest):
Create a stream and load it.


  • Plugins/Hosted/WebKitPluginClient.defs: Add CancelLoadURL.


  • Plugins/Hosted/WebKitPluginHost.defs: Add responseURL to StartStream.


  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView pluginPackage]): Move this down to the base class from WebNetscapePluginView.


  • Plugins/WebNetscapePluginView.h:
  • Plugins/WebNetscapePluginView.mm:
5:06 PM Changeset in webkit [39116] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-08 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Patch for https://bugs.webkit.org/show_bug.cgi?id=22716
<rdar://problem/6428315>
Add RareData structure to CodeBlock for infrequently used auxiliary data
members.

Reduces memory on Membuster-head by ~.5MB

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): (JSC::CodeBlock::dumpStatistics): (JSC::CodeBlock::mark): (JSC::CodeBlock::getHandlerForVPC): (JSC::CodeBlock::nativeExceptionCodeForHandlerVPC): (JSC::CodeBlock::shrinkToFit):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::numberOfExceptionHandlers): (JSC::CodeBlock::addExceptionHandler): (JSC::CodeBlock::exceptionHandler): (JSC::CodeBlock::addFunction): (JSC::CodeBlock::function): (JSC::CodeBlock::addUnexpectedConstant): (JSC::CodeBlock::unexpectedConstant): (JSC::CodeBlock::addRegExp): (JSC::CodeBlock::regexp): (JSC::CodeBlock::numberOfImmediateSwitchJumpTables): (JSC::CodeBlock::addImmediateSwitchJumpTable): (JSC::CodeBlock::immediateSwitchJumpTable): (JSC::CodeBlock::numberOfCharacterSwitchJumpTables): (JSC::CodeBlock::addCharacterSwitchJumpTable): (JSC::CodeBlock::characterSwitchJumpTable): (JSC::CodeBlock::numberOfStringSwitchJumpTables): (JSC::CodeBlock::addStringSwitchJumpTable): (JSC::CodeBlock::stringSwitchJumpTable): (JSC::CodeBlock::evalCodeCache): (JSC::CodeBlock::createRareDataIfNecessary):
4:35 PM Changeset in webkit [39115] by pkasting@chromium.org
  • 4 edits in trunk

JavaScriptCore:

2008-11-26 Peter Kasting <pkasting@google.com>

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=16814
Allow ports to disable ActiveX->NPAPI conversion for Media Player.
Improve handling of miscellaneous ActiveX objects.

  • wtf/Platform.h: Add another ENABLE(...).

WebCore:

2008-11-26 Peter Kasting <pkasting@google.com>

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=16814
Allow ports to disable ActiveX->NPAPI conversion for Media Player.
Improve handling of miscellaneous ActiveX objects.

  • rendering/RenderPartObject.cpp: (WebCore::mapClassIdToServiceType): (WebCore::shouldUseChildEmbedOfObject): (WebCore::RenderPartObject::updateWidget):
4:15 PM Changeset in webkit [39114] by Darin Adler
  • 13 edits
    1 copy
    7 adds in trunk

WebCore:

2008-12-03 Darin Adler <Darin Adler>

Reviewed by John Sullivan.

Tests: editing/execCommand/enabling-and-selection-2.html

editing/execCommand/enabling-and-selection.html

  • editing/EditorCommand.cpp: Updated table to use these functions by their new names. (WebCore::enabledVisibleSelection): Renamed this to reflect its new algorithm. An invisible selection with a position that selects no characters doesn't count as a visible selection. (WebCore::enabledVisibleSelectionAndMark): Ditto.

WebKitTools:

2008-12-08 Darin Adler <Darin Adler>

Reviewed by John Sullivan.

  • DumpRenderTree/LayoutTestController.cpp: (isCommandEnabledCallback): Added. (LayoutTestController::staticFunctions): Added "isCommandEnabled".
  • DumpRenderTree/LayoutTestController.h: Ditto.
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::isCommandEnabled): Ditto.
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (-[CommandValidationTarget initWithAction:]): Added. Used to get the command validation system to tell us if a comment is enabled. (-[CommandValidationTarget action]): Ditto. (-[CommandValidationTarget tag]): Ditto. (LayoutTestController::isCommandEnabled): Ditto.
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::isCommandEnabled): Ditto.

LayoutTests:

2008-12-08 Darin Adler <Darin Adler>

Reviewed by John Sullivan.

  • editing/execCommand/enabling-and-selection-2-expected.txt: Added.
  • editing/execCommand/enabling-and-selection-2.html: Added.
  • editing/execCommand/enabling-and-selection-expected.txt: Added.
  • editing/execCommand/enabling-and-selection.html: Added.
  • editing/execCommand/resources: Added.
  • editing/execCommand/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
  • editing/execCommand/resources/enabling-and-selection-2.js: Added.
  • editing/execCommand/resources/enabling-and-selection.js: Added.
  • fast/canvas/canvas-setTransform.html: Let make-js-test-wrappers update this.
  • fast/canvas/canvas-strokeRect.html: Ditto.
  • platform/qt/Skipped: Added enabling-and-selection-2 to the skipped list.
  • platform/win/Skipped: Ditto.
4:14 PM Changeset in webkit [39113] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-08 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Add dumping of CodeBlock member structure usage.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpStatistics):
  • bytecode/EvalCodeCache.h: (JSC::EvalCodeCache::isEmpty):
4:11 PM Changeset in webkit [39112] by ddkilzer@apple.com
  • 2 edits in trunk/WebCore

Remove duplicate entries from WebCore project.

Reviewed by Eric Seidel.

Bug 22555: Sort "children" sections in Xcode project files.
<https://bugs.webkit.org/show_bug.cgi?id=22555>

Recipe for removing duplicates:
$ ./WebKitTools/Scripts/sort-Xcode-project-file project.pbxproj
$ uniq < project.pbxproj | diff -u project.pbxproj - | patch -p0 project.pbxproj

  • WebCore.xcodeproj/project.pbxproj: Removed duplicates.
4:06 PM Changeset in webkit [39111] by jchaffraix@webkit.org
  • 10 edits in trunk/WebCore

2008-12-08 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
https://bugs.webkit.org/show_bug.cgi?id=22665

Remove setCreatedByParser from the script elements (HTML and SVG).

  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated): Removed call to setCreatedByParser for the 2 elements.
  • dom/make_names.pl: Modified to call the constructor with the createByParser parameter if 'constructorNeedsCreatedByParser' is set.


  • html/HTMLElementFactory.cpp: (WebCore::scriptConstructor):
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::HTMLScriptElement):
  • html/HTMLScriptElement.h:
  • html/HTMLTagNames.in: Added constructorNeedsCreatedByParser to script.
  • svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::SVGScriptElement):
  • svg/SVGScriptElement.h:
  • svg/svgtags.in: Added constructorNeedsCreatedByParser to script.
4:03 PM Changeset in webkit [39110] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-08 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22739
Test the sequence of keyboard events generated for a keypress.

  • fast/events/special-key-events-in-input-text-expected.txt: Added.
  • fast/events/special-key-events-in-input-text.html: Added.
4:01 PM Changeset in webkit [39109] by ddkilzer@apple.com
  • 15 edits in trunk

Bug 22555: Sort "children" sections in Xcode project files

<https://bugs.webkit.org/show_bug.cgi?id=22555>

Reviewed by Eric Seidel.

JavaScriptCore:

JavaScriptGlue:

  • JavaScriptGlue.xcodeproj/project.pbxproj: Sorted.

WebCore:

  • WebCore.xcodeproj/project.pbxproj: Sorted.
  • manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Sorted.

WebKit:

  • WebKit.xcodeproj/project.pbxproj: Sorted.

WebKitExamplePlugins:

  • NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj: Sorted.

WebKitTools:

  • DrawTest/DrawTest.xcodeproj/project.pbxproj: Sorted.
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Sorted.
  • WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj: Sorted.
3:57 PM Changeset in webkit [39108] by Darin Adler
  • 2 edits in trunk/WebKit

2008-12-08 Darin Adler <Darin Adler>

  • StringsNotToBeLocalized.txt: Updated for recent changes.
3:44 PM Changeset in webkit [39107] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitTools

Bug 22555: Sort "children" sections in Xcode project files

<https://bugs.webkit.org/show_bug.cgi?id=22555>

Reviewed by Timothy Hatcher.

  • Scripts/sort-Xcode-project-file: By popular request, don't sort the mainGroup in the project (the list of items below the top-level project file).
3:42 PM Changeset in webkit [39106] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-12-08 Tony Chang <tony@chromium.org>

Reviewed by Eric Seidel.

Enable Pan scrolling only when building on PLATFORM(WIN_OS)
Previously platforms like Apple Windows WebKit, Cairo Windows WebKit,
Wx and Chromium were enabling it explicitly, now we just turn it on
for all WIN_OS, later platforms can turn it off as needed on Windows
(or turn it on under Linux, etc.)
https://bugs.webkit.org/show_bug.cgi?id=22698

  • wtf/Platform.h:
3:42 PM Changeset in webkit [39105] by eric@webkit.org
  • 7 edits in trunk/WebCore

2008-12-08 Tony Chang <tony@chromium.org>

Reviewed by Eric Seidel.

Add a bool to GraphicsContext so that shadows can ignore
transformations. This is needed by HTML canvas element
where the spec says shadows are applied w/o transformations.
https://bugs.webkit.org/show_bug.cgi?id=22580

No functional changes, thus no tests.

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::setShadow): (WebCore::CanvasRenderingContext2D::applyShadow):
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createImageBuffer):
  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContextPrivate.h: (WebCore::GraphicsContextState::GraphicsContextState):
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setPlatformShadow):
3:18 PM Changeset in webkit [39104] by jchaffraix@webkit.org
  • 10 edits
    10 adds in trunk

WebCore:

2008-12-08 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 17897: Not Rendering Images Imported from XHTML Document
<rdar://problem/5827614>

When we were loading document with XMLHttpRequest that contained images, the images
would not be fetched as they would not be displayed. However if we inserted such
an image element into a rendered document, we would not fetch the image and thus never
display it.

Now we check if the image has been loaded when we insert an HTMLImageElement into a
document.
To enable this, the image loader has an error flag. To avoid doing several attempts
when we know that the image is in error, we store the failed URL.
However Firefox and Opera ignore errors when the 'src' attribute changes and thus
we also have an updateFromElementIgnoringPreviousError to match the other browser.

Tests: http/tests/misc/image-blocked-src-change.html

http/tests/misc/image-blocked-src-no-change.html
http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg.svg
http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded.html

  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::parseMappedAttribute): Ditto. (WebCore::HTMLImageElement::insertedIntoDocument): Call updateFromElement if we do not have an image.


  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto.
  • html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
  • loader/ImageLoader.cpp: (WebCore::ImageLoader::setImage): Added an assertion. (WebCore::ImageLoader::updateFromElement): Added a check for load error (to avoid displaying multiple errors in the console for a single image load).

(WebCore::ImageLoader::updateFromElementIgnoringPreviousError): This method clears previous error
before calling updateFromElement.

(WebCore::ImageLoader::notifyFinished): Added an assertion.

  • loader/ImageLoader.h:
  • svg/SVGImageElement.cpp: (WebCore::SVGImageElement::svgAttributeChanged): Changed to call updateFromElementIgnoringPreviousError.

LayoutTests:

2008-12-08 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Tests cases for bug 17897: Not Rendering Images Imported from XHTML Document
<rdar://problem/5827614>

  • xmlhttprequest-image-not-loaded*: test that an image loaded by an XMLHttpRequest and inserted into a XHTML or SVG Document is properly rendered.
  • image-blocked-src-change.html and image-blocked-src-no-change.html: test that an image that was in error is responding to src attribute change (whether it does really change the url or not).
  • http/tests/misc/image-blocked-src-change-expected.txt: Added.
  • http/tests/misc/image-blocked-src-change.html: Added.
  • http/tests/misc/image-blocked-src-no-change-expected.txt: Added.
  • http/tests/misc/image-blocked-src-no-change.html: Added.
  • http/tests/xmlhttprequest/resources/load-icon.svg: Added.
  • http/tests/xmlhttprequest/resources/load-icon.xhtml: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg.svg: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded.html: Added.
2:36 PM Changeset in webkit [39103] by hyatt@apple.com
  • 5 edits in trunk/WebCore

2008-12-08 David Hyatt <hyatt@apple.com>

Make scrollbar creation virtual on ScrollView so that FrameView can have the capability to create
custom CSS scrollbars.

Reviewed by Eric Seidel

  • page/FrameView.cpp: (WebCore::FrameView::createScrollbar):
  • page/FrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::setHasHorizontalScrollbar): (WebCore::ScrollView::setHasVerticalScrollbar): (WebCore::ScrollView::createScrollbar):
  • platform/ScrollView.h:
1:40 PM Changeset in webkit [39102] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-08 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Add basic memory statistics dumping for CodeBlock.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpStatistics): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::~CodeBlock):
  • bytecode/CodeBlock.h:
1:39 PM Changeset in webkit [39101] by mrowe@apple.com
  • 1 edit
    2 moves in trunk/LayoutTests

Disable the WML tests since no platforms build with WML enabled by default and the test failures are annoying.

Rubber-stamped by Sam Weinig.

  • wml/variable-reference-invalid-character.html-disabled: Renamed from LayoutTests/wml/variable-reference-invalid-character.html.
  • wml/variable-reference-valid.html-disabled: Renamed from LayoutTests/wml/variable-reference-valid.html.
1:18 PM Changeset in webkit [39100] by mitz@apple.com
  • 11 edits in trunk

WebCore:

Reviewed by John Sullivan.

  • WebCore part of tracking the global history item for a WebView
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Set the page's global history item to the current back/forward list item, respecting private browsing mode. (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto in this case. (WebCore::FrameLoader::goToItem): Ditto in this case. (WebCore::FrameLoader::updateHistoryForStandardLoad): If this load creates a new global history item, set the page's global history item to it. (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Ditto.
  • page/Page.cpp: (WebCore::Page::setGlobalHistoryItem): Added this setter.
  • page/Page.h: Added a m_globalHistoryItem data member. (WebCore::Page::globalHistoryItem): Added this getter.

WebKit/mac:

Reviewed by John Sullivan.

  • WebKit/mac part of tracking the global history item for a WebView
  • WebView/WebView.mm: (-[WebView _globalHistoryItem]): Added. Returns the page's global history item.
  • WebView/WebViewPrivate.h:

WebKit/win:

Reviewed by John Sullivan.

  • WebKit/win part of tracking the global history item for a WebView
  • Interfaces/IWebViewPrivate.idl: Declared globalHistoryItem()
  • WebView.cpp: (WebView::globalHistoryItem): Added. Gets the page's global history item.
  • WebView.h:
11:28 AM Changeset in webkit [39099] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-12-08 Antti Koivisto <Antti Koivisto>

Reviewed by Dave Kilzer.

A few stylistic fixes suggested by Dave Kilzer.

  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::create):
10:36 AM Changeset in webkit [39098] by ap@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22737
Try debug version when locating CFNetwork

  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::findCFNetworkModule): (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction): (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
  • platform/network/win/CookieJarCFNetWin.cpp: (WebCore::findCFNetworkModule): (WebCore::findIsHTTPOnlyFunction):
10:13 AM Changeset in webkit [39097] by darin@chromium.org
  • 14 edits in trunk

2008-12-08 Aaron Boodman <aa@chromium.org>

Reviewed by Stephanie Lewis.

https://bugs.webkit.org/show_bug.cgi?id=22301
Make dispatchDidFinishLoading() always fire before didFinishLoadForFrame().

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedParsing):
8:56 AM Changeset in webkit [39096] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-12-08 Simon Hausmann <simon.hausmann@nokia.com>

Fix the Linux build with newer gcc/glibc.

8:53 AM Changeset in webkit [39095] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-12-08 Simon Hausmann <simon.hausmann@nokia.com>

Fix the build with Qt on Windows.

5:38 AM Changeset in webkit [39094] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-12-08 Trenton Schulz <trenton.schulz@nokia.com>

Rubber-stamped by Tor Arne Vestbø.

Fix build warning on Mac

2:42 AM Changeset in webkit [39093] by Simon Hausmann
  • 2 edits in trunk/WebCore

Fix the Qt build

2:35 AM Changeset in webkit [39092] by oliver@apple.com
  • 3 edits
    2 adds in trunk

Bug 22398: r39059: Crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler
<rdar://problem/6426245> REGRESSION(r39059): Reproducible crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler (22398)

Reviewed by Alexey Proskuryakov.

This regression was caused by r39059 replacing the protector on the active
animation with a protector on just the composition. It turns out that both
protectors are necessary.

Test: transitions/transition-duration-cleared-in-transitionend-crash.html

12:54 AM Changeset in webkit [39091] by ap@webkit.org
  • 9 edits
    2 deletes in trunk/WebCore

2008-12-08 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22732
Remove unused files PausedTimeouts.h,.cpp
The change that deprecated this code was https://bugs.webkit.org/show_bug.cgi?id=22620

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl: These are build files which had PausedTimeouts referenced.
  • bindings/js/PausedTimeouts.cpp: Removed.
  • bindings/js/PausedTimeouts.h: Removed.
  • bindings/js/ScriptController.cpp: Removed '#include'
  • page/Chrome.cpp: Removed '#include' and unused variable.

Dec 7, 2008:

10:58 PM Changeset in webkit [39090] by Simon Fraser
  • 5 edits
    2 adds in trunk

2008-12-07 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

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

Fix issues which break reading inline style for -webkit-transition
and -webkit-transform-origin.

Test: fast/css/transform-inline-style.html

  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Add cases for CSSPropertyWebkitTransformOrigin and CSSPropertyWebkitTransition so that these shorthand properties are returned correctly.
  • css/CSSParser.cpp: (WebCore::CSSParser::parseAnimationProperty): Create CSSPrimitiveValues with the correct CSSValueAll and CSSValueNone identifiers, not the RenderStyle-level cAnimateAll, cAnimateNone.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::mapAnimationProperty): Special-case CSSValueAll and CSSValueNone values to set cAnimateAll and cAnimateNone transition properties.
8:16 PM Changeset in webkit [39089] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix non-WREC builds

5:29 PM Changeset in webkit [39088] by Antti Koivisto
  • 3 edits in trunk/WebCore

2008-12-07 Antti Koivisto <Antti Koivisto>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22717
Make CSS values use less memory


Share CSSPrimitiveValue objects for commonly used values including

  • idents
  • colors
  • small integers


This reduces the amount CSSPrimitiveValue instances by > 80%.

  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create):
  • css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::create):
5:28 PM Changeset in webkit [39087] by oliver@apple.com
  • 4 edits in trunk/JavaScriptCore

Put ENABLE(ASSEMBLER) guards around use of ExecutableAllocator in global data
Correct Qt and Gtk project files

5:27 PM Changeset in webkit [39086] by Antti Koivisto
  • 8 edits in trunk/WebCore

2008-12-07 Antti Koivisto <Antti Koivisto>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22717
Make CSS values use less memory

Get CSSValues off from the common StyleBase base class. They don't
need a parent pointer or anything else there and there is no real
reason to have them in same data structures with other CSSOM objects.


Disabled (instead of refactoring around the lack of common base) the ability
to have style declaration blocks as CSS variable values. They don't exist in
the spec so I wasn't sure if they have future or not. It would not be hard to
get them back. CSS variables are in any case an experimental feature and
not enabled by default.

  • css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit):
  • css/CSSParser.cpp: (WebCore::CSSParser::addVariableDeclarationBlock):
  • css/CSSParser.h:
  • css/CSSValue.h: (WebCore::CSSValue::~CSSValue): (WebCore::CSSValue::parserValue):
  • css/CSSVariablesDeclaration.cpp: (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration): (WebCore::CSSVariablesDeclaration::getVariableValue): (WebCore::CSSVariablesDeclaration::removeVariable): (WebCore::CSSVariablesDeclaration::addParsedVariable): (WebCore::CSSVariablesDeclaration::getParsedVariable): (WebCore::CSSVariablesDeclaration::getParsedVariableDeclarationBlock):
  • css/CSSVariablesDeclaration.h: (WebCore::CSSVariablesDeclaration::create):
  • css/StyleBase.h:
4:39 PM Changeset in webkit [39085] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

Add new files to other projects.

Reviewed by NOBODY (Build fix).

4:35 PM Changeset in webkit [39084] by oliver@apple.com
  • 2 edits
    1 move in trunk/JavaScriptCore

Rename ExecutableAllocatorMMAP to the more sensible ExecutableAllocatorPosix

Rubber stamped by Mark Rowe.

3:55 PM Changeset in webkit [39083] by oliver@apple.com
  • 27 edits
    4 adds in trunk/JavaScriptCore

<rdar://problem/6309878> Need more granular control over allocation of executable memory (21783)
<https://bugs.webkit.org/show_bug.cgi?id=21783>

Reviewed by Cameron Zwarich and Sam Weinig

Add a new allocator for use by the JIT that provides executable pages, so
we can get rid of the current hack that makes the entire heap executable.

1-2% progression on SunSpider-v8, 1% on SunSpider. Reduces memory usage as well!

11:16 AM Changeset in webkit [39082] by zecke@webkit.org
  • 3 edits
    2 adds in trunk

[Gtk+] Use glib's unit test facilities to test the WebKit/Gtk+ API

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

Add the skeleton to WebKit/gtk/tests and integrate that into the
buildsystem. Testing support was added in glib 2.16. For versions
using glib < 2.16 we compile an empty application.

10:41 AM Changeset in webkit [39081] by zecke@webkit.org
  • 2 edits in trunk

[GTK] Define ENABLE_JIT_OPTIMIZE_CALL, ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS, ENABLE_JIT_OPTIMIZE_ARITHMETIC

When building the jit on i*86 also enable the above optimizations.

1:23 AM Changeset in webkit [39080] by krit@webkit.org
  • 3 edits
    3 adds in trunk

2008-12-07 Dirk Schulze <krit@webkit.org>

Reviewed by Oliver Hunt.

WebCore:

Add gradient and pattern support for strokeRect on canvas/Cg.

Canvas strokeRect() doesn't support gradients
https://bugs.webkit.org/show_bug.cgi?id=19790

Test: fast/canvas/canvas-strokeRect.html

  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::strokeRect):

LayoutTests:

Tests strokeRect with patterns and gradients.

  • fast/canvas/canvas-strokeRect-expected.txt: Added.
  • fast/canvas/canvas-strokeRect.html: Added.
  • fast/canvas/resources/canvas-strokeRect.js: Added.

Dec 6, 2008:

11:48 PM Changeset in webkit [39079] by krit@webkit.org
  • 9 edits
    3 adds in trunk

2008-12-06 Dirk Schulze <krit@webkit.org>

Reviewed by Oliver Hunt.

WebCore:

Add support for setTransform() in canvas.

<canvas> lacks transform() and setTransform()
https://bugs.webkit.org/show_bug.cgi?id=16604

Test: fast/canvas/canvas-setTransform.html

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::State::State): (WebCore::CanvasRenderingContext2D::setStrokeStyle): (WebCore::CanvasRenderingContext2D::setFillStyle): (WebCore::CanvasRenderingContext2D::scale): (WebCore::CanvasRenderingContext2D::rotate): (WebCore::CanvasRenderingContext2D::translate): (WebCore::CanvasRenderingContext2D::transform): (WebCore::CanvasRenderingContext2D::setTransform): (WebCore::CanvasRenderingContext2D::beginPath): (WebCore::CanvasRenderingContext2D::closePath): (WebCore::CanvasRenderingContext2D::moveTo): (WebCore::CanvasRenderingContext2D::lineTo): (WebCore::CanvasRenderingContext2D::quadraticCurveTo): (WebCore::CanvasRenderingContext2D::bezierCurveTo): (WebCore::CanvasRenderingContext2D::arcTo): (WebCore::CanvasRenderingContext2D::arc): (WebCore::CanvasRenderingContext2D::rect): (WebCore::CanvasRenderingContext2D::fill): (WebCore::CanvasRenderingContext2D::stroke): (WebCore::CanvasRenderingContext2D::clip): (WebCore::CanvasRenderingContext2D::isPointInPath): (WebCore::CanvasRenderingContext2D::clearRect): (WebCore::CanvasRenderingContext2D::fillRect): (WebCore::CanvasRenderingContext2D::strokeRect): (WebCore::CanvasRenderingContext2D::drawImage): (WebCore::CanvasRenderingContext2D::drawImageFromRect): (WebCore::CanvasRenderingContext2D::willDraw): (WebCore::CanvasRenderingContext2D::drawTextInternal):
  • html/CanvasRenderingContext2D.h:
  • html/CanvasRenderingContext2D.idl:
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::baseTransform):
  • html/HTMLCanvasElement.h:
  • platform/graphics/ImageBuffer.h: (WebCore::ImageBuffer::baseTransform):

LayoutTests:

Added tests for canvas's setTransform() and updated an existing one.

  • fast/canvas/canvas-setTransform-expected.txt: Added.
  • fast/canvas/canvas-setTransform.html: Added.
  • fast/canvas/resources/canvas-setTransform.js: Added.
  • fast/dom/Window/window-properties-expected.txt:
10:15 PM Changeset in webkit [39078] by Simon Fraser
  • 3 edits
    4 adds in trunk

2008-12-06 Simon Fraser <Simon Fraser>

Reviewed by Antti Koivisto, Dan Bernstein

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

Fix logic related to repainting when transform changes:
If an object has a layer, and the transform changes, then we need
to do a repaintIncludingDescendants(), not just a repaint.

Test: fast/repaint/transform-repaint-descendants.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange):
8:20 PM Changeset in webkit [39077] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-06 Sam Weinig <sam@webkit.org>

Fix the Gtk build.

  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath):
6:05 PM Changeset in webkit [39076] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-12-06 Antti Koivisto <Antti Koivisto>

Reviewed by Darin Adler.

Also copy m_implicit field. Darin wanted this change commited separately.

  • css/CSSProperty.h: (WebCore::CSSProperty::operator=):
5:40 PM Changeset in webkit [39075] by Antti Koivisto
  • 14 edits in trunk

WebCore:

2008-12-06 Antti Koivisto <Antti Koivisto>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22379
Make CSSOM use less memory


Use vector instead of a double linked list for properties in CSSMutableStyleDeclaration.


Taught setter functions to use existing slots to avoid memory moves, plus some
other optimizations.

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): (WebCore::CSSMutableStyleDeclaration::operator=): (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue): (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty): (WebCore::CSSMutableStyleDeclaration::removeProperty): (WebCore::CSSMutableStyleDeclaration::getPropertyPriority): (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand): (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit): (WebCore::CSSMutableStyleDeclaration::setProperty): (WebCore::CSSMutableStyleDeclaration::setPropertyInternal): (WebCore::CSSMutableStyleDeclaration::setStringProperty): (WebCore::CSSMutableStyleDeclaration::setImageProperty): (WebCore::CSSMutableStyleDeclaration::parseDeclaration): (WebCore::CSSMutableStyleDeclaration::addParsedProperties): (WebCore::CSSMutableStyleDeclaration::addParsedProperty): (WebCore::CSSMutableStyleDeclaration::setLengthProperty): (WebCore::CSSMutableStyleDeclaration::length): (WebCore::CSSMutableStyleDeclaration::item): (WebCore::CSSMutableStyleDeclaration::cssText): (WebCore::CSSMutableStyleDeclaration::setCssText): (WebCore::CSSMutableStyleDeclaration::merge): (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): (WebCore::CSSMutableStyleDeclaration::copy): (WebCore::CSSMutableStyleDeclaration::findPropertyWithId):
  • css/CSSMutableStyleDeclaration.h: (WebCore::CSSMutableStyleDeclarationConstIterator::operator*): (WebCore::CSSMutableStyleDeclarationConstIterator::operator->): (WebCore::CSSMutableStyleDeclarationConstIterator::operator!=): (WebCore::CSSMutableStyleDeclarationConstIterator::operator==): (WebCore::CSSMutableStyleDeclaration::create): (WebCore::CSSMutableStyleDeclaration::begin): (WebCore::CSSMutableStyleDeclaration::end): (WebCore::CSSMutableStyleDeclarationConstIterator::CSSMutableStyleDeclarationConstIterator): (WebCore::CSSMutableStyleDeclarationConstIterator::~CSSMutableStyleDeclarationConstIterator): (WebCore::CSSMutableStyleDeclarationConstIterator::operator=): (WebCore::CSSMutableStyleDeclarationConstIterator::operator++): (WebCore::CSSMutableStyleDeclarationConstIterator::operator--):
  • css/CSSProperty.h: (WTF::):
  • css/CSSStyleDeclaration.cpp: (WebCore::CSSStyleDeclaration::diff): (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::resolveVariablesForDeclaration): (WebCore::CSSStyleSelector::keyframeStylesForAnimation): (WebCore::CSSStyleSelector::applyDeclarations):
  • dom/EventTarget.h:
  • editing/ApplyStyleCommand.cpp: (WebCore::StyleChange::init): (WebCore::ApplyStyleCommand::isHTMLStyleNode): (WebCore::ApplyStyleCommand::removeHTMLFontStyle): (WebCore::ApplyStyleCommand::removeCSSStyle):
  • editing/Editor.cpp: (WebCore::Editor::selectionStartHasStyle): (WebCore::updateState):
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::handleStyleSpans):
  • editing/markup.cpp: (WebCore::appendStartMarkup):

LayoutTests:

2008-12-06 Antti Koivisto <Antti Koivisto>

Reusing property slots changed property ordering in this text.

  • editing/pasteboard/5780697-2-expected.txt:
5:07 PM Changeset in webkit [39074] by Simon Fraser
  • 3 edits in trunk/LayoutTests

2008-12-06 Simon Fraser <Simon Fraser>

Update expected image now that the caret renders in transformed
content.

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

  • platform/mac/fast/forms/search-transformed-expected.checksum:
  • platform/mac/fast/forms/search-transformed-expected.png:
5:03 PM Changeset in webkit [39073] by Simon Fraser
  • 3 edits
    4 adds in trunk

2008-12-06 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

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

When painting the selection on a replaced element, paint
using local coordinates so that the selection is correctly
painted for transformed elements.

Test: fast/replaced/selection-rect-transform.html

  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::paint):
2:31 PM Changeset in webkit [39072] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-06 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich,

Move CodeBlock constructor into the .cpp file.

Sunspider reports a .7% progression, but I can only assume this
is noise.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::CodeBlock):
  • bytecode/CodeBlock.h:
2:19 PM Changeset in webkit [39071] by weinig@apple.com
  • 8 edits
    2 copies in trunk/JavaScriptCore

2008-12-06 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Split JumpTable code into its own file.

  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • bytecode/CodeBlock.cpp:
  • bytecode/CodeBlock.h:
  • bytecode/JumpTable.cpp: Copied from bytecode/CodeBlock.cpp.
  • bytecode/JumpTable.h: Copied from bytecode/CodeBlock.h.
2:01 PM Changeset in webkit [39070] by weinig@apple.com
  • 19 edits in trunk/JavaScriptCore

2008-12-05 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22715
Encapsulate more CodeBlock members in preparation
of moving some of them to a rare data structure.

  • bytecode/CodeBlock.cpp: (JSC::locationForOffset): (JSC::printConditionalJump): (JSC::printGetByIdOp): (JSC::printPutByIdOp): (JSC::CodeBlock::printStructure): (JSC::CodeBlock::printStructures): (JSC::CodeBlock::dump): (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::unlinkCallers): (JSC::CodeBlock::derefStructures): (JSC::CodeBlock::refStructures): (JSC::CodeBlock::mark): (JSC::CodeBlock::getHandlerForVPC): (JSC::CodeBlock::nativeExceptionCodeForHandlerVPC): (JSC::CodeBlock::lineNumberForVPC): (JSC::CodeBlock::expressionRangeForVPC): (JSC::CodeBlock::shrinkToFit):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::addCaller): (JSC::CodeBlock::removeCaller): (JSC::CodeBlock::isKnownNotImmediate): (JSC::CodeBlock::isConstantRegisterIndex): (JSC::CodeBlock::getConstant): (JSC::CodeBlock::isTemporaryRegisterIndex): (JSC::CodeBlock::getStubInfo): (JSC::CodeBlock::getCallLinkInfo): (JSC::CodeBlock::instructions): (JSC::CodeBlock::setJITCode): (JSC::CodeBlock::jitCode): (JSC::CodeBlock::ownerNode): (JSC::CodeBlock::setGlobalData): (JSC::CodeBlock::setThisRegister): (JSC::CodeBlock::thisRegister): (JSC::CodeBlock::setNeedsFullScopeChain): (JSC::CodeBlock::needsFullScopeChain): (JSC::CodeBlock::setUsesEval): (JSC::CodeBlock::usesEval): (JSC::CodeBlock::setUsesArguments): (JSC::CodeBlock::usesArguments): (JSC::CodeBlock::codeType): (JSC::CodeBlock::source): (JSC::CodeBlock::sourceOffset): (JSC::CodeBlock::addGlobalResolveInstruction): (JSC::CodeBlock::numberOfPropertyAccessInstructions): (JSC::CodeBlock::addPropertyAccessInstruction): (JSC::CodeBlock::propertyAccessInstruction): (JSC::CodeBlock::numberOfCallLinkInfos): (JSC::CodeBlock::addCallLinkInfo): (JSC::CodeBlock::callLinkInfo): (JSC::CodeBlock::numberOfJumpTargets): (JSC::CodeBlock::addJumpTarget): (JSC::CodeBlock::jumpTarget): (JSC::CodeBlock::lastJumpTarget): (JSC::CodeBlock::numberOfExceptionHandlers): (JSC::CodeBlock::addExceptionHandler): (JSC::CodeBlock::exceptionHandler): (JSC::CodeBlock::addExpressionInfo): (JSC::CodeBlock::numberOfLineInfos): (JSC::CodeBlock::addLineInfo): (JSC::CodeBlock::lastLineInfo): (JSC::CodeBlock::jitReturnAddressVPCMap): (JSC::CodeBlock::numberOfIdentifiers): (JSC::CodeBlock::addIdentifier): (JSC::CodeBlock::identifier): (JSC::CodeBlock::numberOfConstantRegisters): (JSC::CodeBlock::addConstantRegister): (JSC::CodeBlock::constantRegister): (JSC::CodeBlock::addFunction): (JSC::CodeBlock::function): (JSC::CodeBlock::addFunctionExpression): (JSC::CodeBlock::functionExpression): (JSC::CodeBlock::addUnexpectedConstant): (JSC::CodeBlock::unexpectedConstant): (JSC::CodeBlock::addRegExp): (JSC::CodeBlock::regexp): (JSC::CodeBlock::symbolTable): (JSC::CodeBlock::evalCodeCache): New inline setters/getters.

(JSC::ProgramCodeBlock::ProgramCodeBlock):
(JSC::ProgramCodeBlock::~ProgramCodeBlock):
(JSC::ProgramCodeBlock::clearGlobalObject):

  • bytecode/SamplingTool.cpp: (JSC::ScopeSampleRecord::sample): (JSC::SamplingTool::dump):
  • bytecompiler/BytecodeGenerator.cpp:
  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/Label.h:
  • interpreter/CallFrame.cpp:
  • interpreter/Interpreter.cpp:
  • jit/JIT.cpp:
  • jit/JITCall.cpp:
  • jit/JITInlineMethods.h:
  • jit/JITPropertyAccess.cpp:
  • parser/Nodes.cpp:
  • runtime/Arguments.h:
  • runtime/ExceptionHelpers.cpp:
  • runtime/JSActivation.cpp:
  • runtime/JSActivation.h:
  • runtime/JSGlobalObject.cpp: Change direct access to use new getter/setters.
11:58 AM Changeset in webkit [39069] by Simon Fraser
  • 37 edits
    4 adds in trunk

2008-12-06 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

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

Fix caret rendering to behave correctly with transforms:

  • Rename caretRect() methods to localCaretRect() and absoluteCaretBounds() as appropriate
  • Fix localCaretRect() methods to return a rect in the appropriate coordinates.
  • Pass tx, ty down through the paintCaret() methods, after fixing them up to account for differences between contents coords, and renderer-local coords (via RenderBlock::offsetForContents()).
  • Remove m_caretPositionOnLayout from SelectionController, and instead call invalidateSelection() from RenderLayer::scrollToOffset(), because we can no longer assume simple x/y offsets from scrolling with transforms.
  • Move the logic to compute which RenderObject actually paints the caret into SelectionController::caretRenderer(), rather than having it in RenderBlock.
  • SelectionController now computes and caches a local caret rect. For invalidation, it computes the absolute bounds of that (possibly transformed) local rect. The local rect is computed in the coordinate system of the RenderObject that will paint the caret (this may require offsetting from the actual renderer at the start of the selection).
  • Fix LayoutState(RenderObject* root) to take transforms into account
  • Make offsetFromContainer() a virtual method on RenderObject, and implement the RenderObject version. It's used to map from selection start renderer to caret renderer.

Test: fast/transforms/transformed-caret.html

9:20 AM Changeset in webkit [39068] by ddkilzer@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Added reference to bugs.webkit.org bug.

9:15 AM Changeset in webkit [39067] by ddkilzer@apple.com
  • 2 edits in trunk/WebCore

BUILD FIX for r39065: Forgot parentheses after "document".

Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
<https://bugs.webkit.org/show_bug.cgi?id=22666>

  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Changed document to document().
8:04 AM Changeset in webkit [39066] by ap@webkit.org
  • 2 edits in trunk/WebCore

2008-12-06 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22710
Memory leak due to circular reference Document->DOMTimer->ScheduledAction->[JS objects]->Document

  • bindings/js/DOMTimer.cpp: (WebCore::DOMTimer::stop): Delete ScheduledAction, which contains a protected object.
3:54 AM Changeset in webkit [39065] by ddkilzer@apple.com
  • 43 edits in trunk

Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives

<https://bugs.webkit.org/show_bug.cgi?id=22666>

Reviewed by Darin Adler.

WebCore:

When creating a webarchive from WebCore::LegacyWebArchive::create(),
HashSet<String>, Vector<KURL> and Vector<String> were all used to
store a list of URLs for resources found in the document. Instead
use a single ListHashSet<KURL> to store the list and resolve the
relative URLs as they're added. We use a new inline method called
WebCore::addSubresourceURL() to add KURL objects to the ListHashSet
to prevent "null" KURL objects from crashing in the KURL hashing
function.

  • WebCore.base.exp: Changed export of WebCore::Node::getSubresourceURLs() to take a ListHashSet<KURL> argument instead of a Vector<KURL>.
  • WebCore.xcodeproj/project.pbxproj: Marked KURLHash.h as a private header for use in WebKit.
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Renamed from addSubresourceURLStrings(). Changed to use ListHashSet<KURL> instead of HashSet<String>. Cleaned up code.
  • css/CSSStyleSheet.h: (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Ditto.
  • css/StyleSheet.h: (WebCore::StyleSheet::addSubresourceStyleURLs): Ditto.
  • dom/Node.cpp: (WebCore::Node::getSubresourceURLs): Changed to use ListHashSet<KURL> instead of Vector<KURL>. Cleaned up code.
  • dom/Node.h: (WebCore::Node::getSubresourceURLs): Ditto. (WebCore::Node::addSubresourceAttributeURLs): Renamed from getSubresourceAttributeStrings(). Changed to use ListHashSet<KURL> instead of Vector<String>. (WebCore::addSubresourceURL): Added. Safely adds new KURL objects to a ListHashSet<KURL> object. A "null" KURL object will cause the hash function to crash since it contains a null StringImpl. Used in Node::addSubresourceAttributeURLs() and addSubresourceStyleURLs() in the style subsystem.
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::addSubresourceAttributeURLs): Renamed from getSubresourceAttributeStrings(). Changed to use ListHashSet<KURL> instead of Vector<String>. Use WebCore::addSubresourceURL() to add new KURL objects.
  • dom/ProcessingInstruction.h: Ditto.
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLBodyElement.h: Ditto.
  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLEmbedElement.h: Ditto.
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLImageElement.h: Ditto.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLInputElement.h: Ditto.
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLLinkElement.h: Ditto.
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLObjectElement.h: Ditto.
  • html/HTMLParamElement.cpp: (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLParamElement.h: Ditto.
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLScriptElement.h: Ditto.
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLStyleElement.h: Ditto.
  • html/HTMLTableCellElement.cpp: (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLTableCellElement.h: Ditto.
  • html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLTableElement.h: Ditto.
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create): Changed from using HashSet<String> to ListHashSet<KURL> for tracking unique subresources. Changed from using Vector<KURL> to ListHashSet<KURL> when calling WebCore::Node::getSubresourceURLs(). Cleaned up code.
  • svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Renamed from getSubresourceAttributeStrings(). Changed to use ListHashSet<KURL> instead of Vector<String>. Use WebCore::addSubresourceURL() to add new KURL objects.
  • svg/SVGCursorElement.h: Ditto.
  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto.
  • svg/SVGFEImageElement.h: Ditto.
  • svg/SVGImageElement.cpp: (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto.
  • svg/SVGImageElement.h: Ditto.
  • svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto.
  • svg/SVGScriptElement.h: Ditto.

WebKit/mac:

  • DOM/WebDOMOperations.mm: (-[DOMNode _subresourceURLs]): Changed from using Vector<KURL> to ListHashSet<KURL> when calling WebCore::Node::getSubresourceURLs().
3:51 AM Changeset in webkit [39064] by ddkilzer@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fixed ChangeLog date.

Dec 5, 2008:

9:00 PM Changeset in webkit [39063] by barraclough@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Mis-commit in ChangeLog entry

8:57 PM Changeset in webkit [39062] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Please don't die in a fire while trying to compile Interpreter.cpp on GCC 4.2.
Added "-fno-var-tracking" compiler flag.

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

7:25 PM Changeset in webkit [39061] by barraclough@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-12-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Ordering of branch operands in MacroAssembler in unnecessarily inconsistent.

je, jg etc take an immediate operand as the second argument, but for the
equality branches (je, jne) the immediate operand was the first argument. This
was unnecessarily inconsistent. Change je, jne methods to take the immediate
as the second argument.

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

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::je32): (JSC::MacroAssembler::jne32):
  • jit/JIT.cpp: (JSC::JIT::compileOpStrictEq):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter): (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): (JSC::WREC::Generator::generatePatternCharacterPair): (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClassInvertedRange): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionWordBoundary):
6:27 PM Changeset in webkit [39060] by brettw@chromium.org
  • 4 edits in trunk/WebCore

Reviewed by Darin Adler.

Make the page group use the proper link hashing functions rather than
calling the string hash functions directly. Add Chromium-specfic ifdefs
in the visited link computation functions to allow integration.

  • page/PageGroup.cpp:

(WebCore::PageGroup::isLinkVisited):
(WebCore::PageGroup::addVisitedLink):

  • platform/LinkHash.cpp:

(WebCore::visitedLinkHash):

  • platform/LinkHash.h:
5:42 PM Changeset in webkit [39059] by cmarrin@apple.com
  • 6 edits
    4 adds in trunk

2008-12-05 Chris Marrin <cmarrin@apple.com>

Reviewed by Dave Hyatt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22635
For iteration and end events, previous fixes to prevent the deletion of
Animation objects (ref counting and hanging onto a ref during event callbacks)
was sufficient to prevent dangling pointers. But start events are sent in
the styleAvailable() call, which iterates over CompositeAnimation objects,
which are not ref counted. So that object can get destroyed in the event
handler while still active. So I added refcounting for CompositeAnimations.

Additionally, when am iterating over the CompositingAnimation list, it can
be deleted, which mutates the list. So I now make one pass over the list
building a vector of CompositeAnimation objects that need to be called and
then iterate over that vector to make the actual calls.

Finally, to make sure the lifetime of the CompositeAnimation exceeds that of
the Animation objects it owns, I now keep a ref to the CompositeAnimation
in the timer callback for the iteration and end events. That means I no
longer need to keep a ref to the Animation objects themselves in that timer
callback, since the CompositeAnimation already has one.

Tests: animations/animation-iteration-event-destroy-renderer.html

animations/animation-start-event-destroy-renderer.html

5:36 PM Changeset in webkit [39058] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Second tranche of porting JIT.cpp to MacroAssembler interface.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::mul32): (JSC::MacroAssembler::jl32): (JSC::MacroAssembler::jnzSub32): (JSC::MacroAssembler::joAdd32): (JSC::MacroAssembler::joMul32): (JSC::MacroAssembler::jzSub32):
  • jit/JIT.cpp: (JSC::JIT::emitSlowScriptCheck): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITInlineMethods.h: (JSC::JIT::emitJumpIfNotJSCell): (JSC::JIT::emitJumpSlowCaseIfNotJSCell):
5:07 PM Changeset in webkit [39057] by ddkilzer@apple.com
  • 2 edits in trunk

Added bugs.webkit.org URL to ChangeLog entry.

5:05 PM Changeset in webkit [39056] by ddkilzer@apple.com
  • 7 edits in trunk

<rdar://problem/6331749> Provide a mechanism to disable perfect hashing in the DOM at build time

Reviewed by Darin Adler.

Initial patch by Yosen Lin. Adapted for ToT WebKit by David Kilzer.

Added back the code that generates a "compact" hash (instead of a
perfect hash) as a build-time option using the
ENABLE(PERFECT_HASH_SIZE) macro as defined in Lookup.h.

JavaScriptCore:

  • create_hash_table: Rename variables to differentiate perfect hash values from compact hash values. Added back code to compute compact hash tables. Generate both hash table sizes and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE).
  • runtime/Lookup.cpp: (JSC::HashTable::createTable): Added version of createTable() for use with compact hash tables. (JSC::HashTable::deleteTable): Updated to work with compact hash tables.
  • runtime/Lookup.h: Defined ENABLE(PERFECT_HASH_SIZE) macro here. (JSC::HashEntry::initialize): Set m_next to zero when using compact hash tables. (JSC::HashEntry::setNext): Added for compact hash tables. (JSC::HashEntry::next): Added for compact hash tables. (JSC::HashTable::entry): Added version of entry() for use with compact hash tables.
  • runtime/Structure.cpp: (JSC::Structure::getEnumerablePropertyNames): Updated to work with compact hash tables.

WebCore:

  • bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): Compute the number of elements that will be stored in each hash table and pass it to GenerateHashTable(). (GenerateHashTable): Added new second parameter representing the number of elements to store in the compact hash table. Added back code to compute compact hash tables. Generate both hash table sizes and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE).
4:52 PM Changeset in webkit [39055] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Remove redundant calls to JIT::emitSlowScriptCheck.
This is checked in the hot path, so is not needed on the slow path - and the code
was being planted before the start of the slow case, so was completely unreachable!

  • jit/JIT.cpp: (JSC::JIT::privateCompileSlowCases):
4:02 PM Changeset in webkit [39054] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22608
Add a test for line numbers of uncaught JS exceptions.

  • fast/js/uncaught-exception-line-number-expected.txt: Added.
  • fast/js/uncaught-exception-line-number.html: Added.
3:57 PM Changeset in webkit [39053] by barraclough@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-12-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Move JIT::compileOpStrictEq to MacroAssembler interface.

The rewrite also looks like a small (<1%) performance progression.

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

  • jit/JIT.cpp: (JSC::JIT::compileOpStrictEq): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • jit/JITInlineMethods.h: (JSC::JIT::emitJumpIfJSCell): (JSC::JIT::emitJumpSlowCaseIfJSCell):
3:56 PM Changeset in webkit [39052] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22604
Add test for onload handler named 'onload'.

  • fast/events/onload-name-collision-expected.txt: Added.
  • fast/events/onload-name-collision.html: Added.
3:53 PM Changeset in webkit [39051] by pam@chromium.org
  • 1 edit
    4 adds in trunk/LayoutTests

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22601
Add test to verify that calling functions on a Java applet from JS works.

  • fast/dom/java-applet-calls-expected.txt: Added.
  • fast/dom/java-applet-calls.html: Added.
  • fast/dom/resources/TestApplet.class: Added.
  • fast/dom/resources/TestApplet.java: Added. (TestApplet): Source of test applet for use by layout test(s). (TestApplet.init): (TestApplet.setString): (TestApplet.getString):
3:48 PM Changeset in webkit [39050] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22592
Make sure the onload handler is only called once, even when there are
multiple <body> nodes in the document.

  • fast/events/onload-fires-twice-expected.txt: Added.
  • fast/events/onload-fires-twice.html: Added.
3:25 PM Changeset in webkit [39049] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22575
Add a test for accessing NodeList items by name.

  • fast/dom/NodeList/nodelist-item-with-name-expected.txt: Added.
  • fast/dom/NodeList/nodelist-item-with-name.html: Added.
3:22 PM Changeset in webkit [39048] by brettw@chromium.org
  • 2 edits in trunk/WebCore

Merge branch 'ownptr' into ownptr_commit

3:19 PM Changeset in webkit [39047] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=22632
Add a test for DOM operations with incompatible receivers or arguments.

  • fast/dom/incompatible-operations-expected.txt: Added.
  • fast/dom/incompatible-operations.html: Added.
3:13 PM Changeset in webkit [39046] by brettw@chromium.org
  • 2 edits in trunk/WebCore

Reviewed by Eric Seidel.

Add a missing include for OwnPtr to make CSSSelector compile without
precompiled headers.

  • css/CSSSelector.h:
2:53 PM Changeset in webkit [39045] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitTools

Bug 22555: Sort "children" sections in Xcode project files

<https://bugs.webkit.org/show_bug.cgi?id=22555>

Reviewed by Darin Adler.

Sort "children" sections alphabetically, moving groups (folders) to
the top of each of the lists. Files are assumed to have extensions,
so %isFile is used to override this behavior.

  • Scripts/sort-Xcode-project-file: (sortChildrenByFileName): Added. (sortFilesByFileName): Renamed from sortByFileName().
2:15 PM Changeset in webkit [39044] by eric@webkit.org
  • 5 edits in trunk/WebKitTools

Reviewed by Geoff Garen.

https://bugs.webkit.org/show_bug.cgi?id=22683
Fix gtk and qt builds which depend on --qt and --gtk being removed from ARGV
Add a new argumentsForConfiguration() function and clean up some old code to use it.
Rename checkArgV to checkForArgumentAndRemoveFromARGV to be more self-documenting.

  • Scripts/run-javascriptcore-tests:
  • Scripts/run-launcher:
  • Scripts/run-webkit-tests:
  • Scripts/webkitdirs.pm:
2:14 PM Changeset in webkit [39043] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Remove m_assembler from MacroAssembler::Jump.
Keeping a pointer allowed for some syntactic sugar - "link()" looks nicer
than "link(this)". But maintaining this doubles the size of Jump, which
is even more unfortunate for the JIT, since there are many large structures
holding JmpSrcs. Probably best to remove it.

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

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::Jump::Jump): (JSC::MacroAssembler::Jump::link): (JSC::MacroAssembler::Jump::linkTo): (JSC::MacroAssembler::JumpList::link): (JSC::MacroAssembler::JumpList::linkTo): (JSC::MacroAssembler::jae32): (JSC::MacroAssembler::je32): (JSC::MacroAssembler::je16): (JSC::MacroAssembler::jg32): (JSC::MacroAssembler::jge32): (JSC::MacroAssembler::jl32): (JSC::MacroAssembler::jle32): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jne32): (JSC::MacroAssembler::jnset32): (JSC::MacroAssembler::jset32): (JSC::MacroAssembler::jump): (JSC::MacroAssembler::jzSub32): (JSC::MacroAssembler::joAdd32): (JSC::MacroAssembler::call):
  • wrec/WREC.cpp: (JSC::WREC::Generator::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter): (JSC::WREC::Generator::generateBackreferenceQuantifier): (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClassInvertedRange): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateCharacterClass): (JSC::WREC::Generator::generateParenthesesAssertion): (JSC::WREC::Generator::generateParenthesesInvertedAssertion): (JSC::WREC::Generator::generateParenthesesNonGreedy): (JSC::WREC::Generator::generateParenthesesResetTrampoline): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary): (JSC::WREC::Generator::generateBackreference): (JSC::WREC::Generator::terminateAlternative): (JSC::WREC::Generator::terminateDisjunction):
  • wrec/WRECParser.h:
2:10 PM Changeset in webkit [39042] by eric@webkit.org
  • 4 edits in trunk/WebCore

2008-12-05 Finnur Thorarinsson <finnur.webkit@gmail.com>

Reviewed by Darin Adler.

Bug 22579: Providing a function to ScrollbarClient.h which allows us to get at the tickmarks
without relying on high-level WebCore types, as requested by Dave Hyatt.

No functional changes, thus no test cases.

  • page/FrameView.cpp: (WebCore::FrameView::getTickmarks):
  • page/FrameView.h:
  • platform/ScrollbarClient.h:
1:54 PM Changeset in webkit [39041] by justin.garcia@apple.com
  • 4 edits in trunk/LayoutTests

2008-12-05 Justin Garcia <justin.garcia@apple.com>

Updating these test results. On Tiger the fragment created from RTFD data
contained interchange newlines that we incorrectly handled before r38983.

  • platform/mac-tiger/editing/pasteboard/paste-RTFD-expected.checksum:
  • platform/mac-tiger/editing/pasteboard/paste-RTFD-expected.png:
  • platform/mac-tiger/editing/pasteboard/paste-RTFD-expected.txt:
12:56 PM Changeset in webkit [39040] by ggaren@apple.com
  • 1 edit
    3 adds in trunk/LayoutTests

2008-12-05 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Added a test for a bug I discovered while working on
https://bugs.webkit.org/show_bug.cgi?id=22685.

  • fast/regex/non-capturing-backtracking-expected.txt: Added.
  • fast/regex/non-capturing-backtracking.html: Added.
  • fast/regex/resources/non-capturing-backtracking.js: Added.
12:39 PM Changeset in webkit [39039] by barraclough@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-12-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoffrey Garen.

Simplify JIT generated checks for timeout code, by moving more work into the C function.
https://bugs.webkit.org/show_bug.cgi?id=22688

  • interpreter/Interpreter.cpp: (JSC::Interpreter::cti_timeout_check):
  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::emitSlowScriptCheck):
12:27 PM Changeset in webkit [39038] by weinig@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-12-05 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Encapsulate access to jump tables in the CodeBlock in preparation
of moving them to a rare data structure.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): (JSC::CodeBlock::shrinkToFit):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::numberOfImmediateSwitchJumpTables): (JSC::CodeBlock::addImmediateSwitchJumpTable): (JSC::CodeBlock::immediateSwitchJumpTable): (JSC::CodeBlock::numberOfCharacterSwitchJumpTables): (JSC::CodeBlock::addCharacterSwitchJumpTable): (JSC::CodeBlock::characterSwitchJumpTable): (JSC::CodeBlock::numberOfStringSwitchJumpTables): (JSC::CodeBlock::addStringSwitchJumpTable): (JSC::CodeBlock::stringSwitchJumpTable):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::endSwitch):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): (JSC::Interpreter::cti_op_switch_imm): (JSC::Interpreter::cti_op_switch_char): (JSC::Interpreter::cti_op_switch_string):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
11:00 AM Changeset in webkit [39037] by dino@apple.com
  • 4 edits in trunk

2008-12-05 Dean Jackson <dino@apple.com>

Reviewed by David Hyatt.

WebCore:
Make sure Window event listeners also tell the
Document about the event type, so noisy events
will be dispatched even if nothing in the document
is listening.
https://bugs.webkit.org/show_bug.cgi?id=20572

  • dom/Document.cpp: (WebCore::Document::addWindowEventListener):

LayoutTests:
No longer need to add a fake listener on a document
node in order to get events passed up to Window.
https://bugs.webkit.org/show_bug.cgi?id=20572

  • transitions/transition-end-event-window.html:
10:27 AM Changeset in webkit [39036] by kmccullough@apple.com
  • 40 edits in trunk/LayoutTests

2008-12-05 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim Hatcher.

  • Fix intermittent profiler test failures. The problem is that idle time only shows up some times, probably dependent on if the system is running a little slow or has a network hiccup. I've removed this.
  • I've also added <rdar://problem/6422004> Profiler tests fail because they sometimes don't have (idle) time. This is to investigate whether or not idle time should be showing up at all when running these tests.
  • fast/profiler/anonymous-event-handler-expected.txt:
  • fast/profiler/anonymous-function-called-from-different-contexts-expected.txt:
  • fast/profiler/anonymous-function-calls-built-in-functions-expected.txt:
  • fast/profiler/anonymous-function-calls-eval-expected.txt:
  • fast/profiler/apply-expected.txt:
  • fast/profiler/built-in-function-calls-anonymous-expected.txt:
  • fast/profiler/built-in-function-calls-user-defined-function-expected.txt:
  • fast/profiler/call-expected.txt:
  • fast/profiler/call-nodelist-as-function-expected.txt:
  • fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt:
  • fast/profiler/compare-multiple-profiles-expected.txt:
  • fast/profiler/constructor-expected.txt:
  • fast/profiler/dead-time-expected.txt:
  • fast/profiler/document-dot-write-expected.txt:
  • fast/profiler/event-handler-expected.txt:
  • fast/profiler/execution-context-and-eval-on-same-line-expected.txt:
  • fast/profiler/heavy-view-expected.txt:
  • fast/profiler/inline-event-handler-expected.txt:
  • fast/profiler/many-calls-in-the-same-scope-expected.txt:
  • fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt:
  • fast/profiler/multiple-and-different-scoped-function-calls-expected.txt:
  • fast/profiler/multiple-frames-expected.txt:
  • fast/profiler/nested-anonymous-functon-expected.txt:
  • fast/profiler/nested-start-and-stop-profiler-expected.txt:
  • fast/profiler/one-execution-context-expected.txt:
  • fast/profiler/profile-calls-in-included-file-expected.txt:
  • fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt:
  • fast/profiler/profiling-from-a-nested-location-expected.txt:
  • fast/profiler/resources/profiler-test-JS-resources.js: (printProfileNodeWithoutTime):
  • fast/profiler/simple-event-call-expected.txt:
  • fast/profiler/simple-no-level-change-expected.txt:
  • fast/profiler/start-and-stop-profiler-multiple-times-expected.txt:
  • fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt:
  • fast/profiler/stop-profiling-after-setTimeout-expected.txt:
  • fast/profiler/stop-then-function-call-expected.txt:
  • fast/profiler/throw-exception-from-eval-expected.txt:
  • fast/profiler/two-execution-contexts-expected.txt:
  • fast/profiler/user-defined-function-calls-built-in-functions-expected.txt:
  • fast/profiler/window-dot-eval-expected.txt:
10:03 AM Changeset in webkit [39035] by mitz@apple.com
  • 2 edits in trunk/WebKit

Mac build fix.

  • WebKit.xcodeproj/project.pbxproj:
9:23 AM Changeset in webkit [39034] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-12-05 Simon Hausmann <simon.hausmann@nokia.com>

Rubber-stamped by Tor Arne Vestbø.

Disable the JIT for the Qt build alltogether again, after observing
more miscompilations in a wider range of newer gcc versions.

9:22 AM Changeset in webkit [39033] by Adam Roben
  • 2 edits in trunk/WebCore

Windows build fix after r39026

  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdatePlatformRequest): (WebCore::ResourceRequest::doUpdateResourceRequest): Add some missing .get()s.
9:21 AM Changeset in webkit [39032] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Windows build fix after r39020

  • jit/JITInlineMethods.h: (JSC::JIT::restoreArgumentReference): (JSC::JIT::restoreArgumentReferenceForTrampoline): Add some apparently-missing .
9:20 AM Changeset in webkit [39031] by mitz@apple.com
  • 2 edits in trunk/WebKit

Mac build fix.

  • WebKit.xcodeproj/project.pbxproj:
8:49 AM Changeset in webkit [39030] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-04 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


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


Added support for the assertion (?=) and inverted assertion (?!) atoms
in WREC.

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateParenthesesAssertion): (JSC::WREC::Generator::generateParenthesesInvertedAssertion): Split the old (unused) generateParentheses into these two functions, with more limited capabilities.


  • wrec/WRECGenerator.h: (JSC::WREC::Generator::): Moved an enum to the top of the class definition, to match the WebKit style, and removed a defunct comment.
  • wrec/WRECParser.cpp: (JSC::WREC::Parser::parseParentheses): (JSC::WREC::Parser::consumeParenthesesType):
  • wrec/WRECParser.h: (JSC::WREC::Parser::): Added support for parsing (?=) and (?!).
8:33 AM Changeset in webkit [39029] by ap@webkit.org
  • 2 edits in trunk/WebCore

Tiger build fix.

  • platform/network/mac/ResourceRequestMac.mm: Define NSUInteger.
7:53 AM Changeset in webkit [39028] by ap@webkit.org
  • 20 edits
    2 moves in trunk

Reviewed by Darin Adler.

<rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
in Safari before opening a mail message in Mail

WebCore:

  • platform/mac/WebCoreObjCExtras.mm: (WebCoreObjCFinalizeOnMainThread): Don't call initializeThreading: we now expect the caller to do it, to simplify keeping Tiger and post-Tiger behavior in line.
  • bindings/objc/DOMRGBColor.mm: (+[DOMRGBColor initialize]):
  • bindings/objc/WebScriptObject.mm: (+[WebScriptObject initialize]):
  • page/mac/AccessibilityObjectWrapper.mm: (+[AccessibilityObjectWrapper initialize]):
  • platform/mac/SharedBufferMac.mm: (+[WebCoreSharedBufferData initialize]): Call JSC::initializeThreading();

WebKit:

  • Carbon/CarbonWindowAdapter.m: Removed.
  • Carbon/CarbonWindowAdapter.mm: Copied from WebKit/mac/Carbon/CarbonWindowAdapter.m. (+[CarbonWindowAdapter initialize]):
  • History/WebBackForwardList.mm: (+[WebBackForwardList initialize]):
  • History/WebHistoryItem.mm: (+[WebHistoryItem initialize]):
  • Misc/WebElementDictionary.mm: (+[WebElementDictionary initialize]):
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (+[WebHostedNetscapePluginView initialize]):
  • Plugins/WebBaseNetscapePluginView.mm:
  • Plugins/WebBasePluginPackage.m: Removed.
  • Plugins/WebBasePluginPackage.mm: Copied from WebKit/mac/Plugins/WebBasePluginPackage.m. (+[WebBasePluginPackage initialize]):
  • Plugins/WebNetscapePluginView.mm: (+[WebNetscapePluginView initialize]):
  • WebCoreSupport/WebEditorClient.mm: (+[WebEditCommand initialize]):
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebView/WebArchive.mm: (+[WebArchivePrivate initialize]):
  • WebView/WebDataSource.mm: (+[WebDataSourcePrivate initialize]):
  • WebView/WebHTMLView.mm: (+[WebHTMLViewPrivate initialize]): (+[WebHTMLView initialize]):
  • WebView/WebResource.mm: (+[WebResourcePrivate initialize]):
  • WebView/WebView.mm: (+[WebViewPrivate initialize]): Call JSC::initializeThreading();
7:47 AM Changeset in webkit [39027] by Darin Adler
  • 2 edits in trunk/WebKit/win

2008-12-05 Darin Adler <Darin Adler>

Reviewed by Alexey Proskuryakov.

  • WebView.cpp: (findCFNetworkModule): Added. (findCopySharedURLCacheFunction): Added. (WebView::setCacheModel): Call CFURLCacheCopySharedURLCache via dynamic loading instead of compiling based on which version of CFNetwork headers are present.
6:43 AM Changeset in webkit [39026] by ap@webkit.org
  • 6 edits in trunk/WebCore

Reviewed by Darin Adler.

<rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled

  • platform/network/ResourceRequestBase.cpp: (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
  • platform/network/ResourceRequestBase.h:
  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction): (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction): (WebCore::setContentDispositionEncodingFallbackArray): (WebCore::copyContentDispositionEncodingFallbackArray): (WebCore::ResourceRequest::doUpdatePlatformRequest): (WebCore::ResourceRequest::doUpdateResourceRequest):
  • platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdateResourceRequest): (WebCore::ResourceRequest::doUpdatePlatformRequest): Added a way to specify encoding fallback list for Content-Disposition header.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Generate and pass a list of encodings to try when decoding Content-Disposition header, as described in comments.
6:23 AM Changeset in webkit [39025] by ap@webkit.org
  • 6 edits
    2 adds
    3 deletes in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22672
ASSERT(m_table) when xhr.onabort creates another xhr or calls setTimeout

Test: http/tests/xmlhttprequest/send-on-abort.html

  • dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): (WebCore::ScriptExecutionContext::resumeActiveDOMObjects): (WebCore::ScriptExecutionContext::stopActiveDOMObjects): Add a comment explaining that ActiveDOMObject methods shouldn't execute arbitrary JS.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::stop): Don't dispatch events. This reverts a recent change that made the behavior slightly closer to Firefox - but the compatibility effect should be very minor if any, and Firefox itself behaves inconsistently.
5:02 AM Changeset in webkit [39024] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-12-05 Tobias König <tobias.koenig@nokia.com>

Reviewed by Simon Hausmann.

Record required package dependencies for the Qt build for a correct
pkg-config file.

4:50 AM Changeset in webkit [39023] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-12-05 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Disable the JIT for the Qt build on Linux unless gcc is >= 4.2,
due to miscompilations.

3:27 AM Changeset in webkit [39022] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-12-05 Tor Arne Vestbø <tavestbo@trolltech.com>

Rubber-stamped by Simon Hausmann.

[Qt/Mac] Blacklist QuickTime plugin until we support the QuickDraw drawing model

1:48 AM Changeset in webkit [39021] by ap@webkit.org
  • 5 edits
    2 moves
    3 adds in trunk

2008-12-05 Jungshik Shin <jshin@chromium.org>

Reviewed by Alexey Proskuryakov.

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

Revises charset alias map for TextCodecICU.

  • Uses windows-949 and windows-874 instead of windows-949-2000 and windows-874-2000
  • Replaces 'windows874' in a couple of place with 'windows-874' (for the canonical name)
  • Maps 'dos-874' to 'windows-874'. Currently, it's aliases to 'cp874', which is in turn mapped to 'TIS-620'. 'TIS-620' is manually aliased to 'windows-874'. We'd better directly alias 'dos-874' to 'windows-874'.
  • Replaces 'EUC-CN' with 'GBK' when it's used as the canonical name. Similar to the above case, we're getting rid of indirection that eventually leads to 'GBK' by directly going to 'GBK'.
  • Adds 'x-uhc' as an alias for 'windows-949'. It's used in some web pages.

Tests: fast/encoding/char-decoding-mac.html

fast/encoding/char-decoding.html

  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):

Dec 4, 2008:

10:58 PM Changeset in webkit [39020] by barraclough@apple.com
  • 8 edits in trunk/JavaScriptCore

2008-12-04 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Start porting the JIT to use the MacroAssembler.

https://bugs.webkit.org/show_bug.cgi?id=22671
No change in performance.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::Jump::operator X86Assembler::JmpSrc): (JSC::MacroAssembler::add32): (JSC::MacroAssembler::and32): (JSC::MacroAssembler::lshift32): (JSC::MacroAssembler::rshift32): (JSC::MacroAssembler::storePtr): (JSC::MacroAssembler::store32): (JSC::MacroAssembler::poke): (JSC::MacroAssembler::move): (JSC::MacroAssembler::compareImm32ForBranchEquality): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jnset32): (JSC::MacroAssembler::jset32): (JSC::MacroAssembler::jzeroSub32): (JSC::MacroAssembler::joverAdd32): (JSC::MacroAssembler::call):
  • assembler/X86Assembler.h: (JSC::X86Assembler::shll_i8r):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileBinaryArithOp):
  • jit/JITInlineMethods.h: (JSC::JIT::emitGetVirtualRegister): (JSC::JIT::emitPutCTIArg): (JSC::JIT::emitPutCTIArgConstant): (JSC::JIT::emitGetCTIArg): (JSC::JIT::emitPutCTIArgFromVirtualRegister): (JSC::JIT::emitPutCTIParam): (JSC::JIT::emitGetCTIParam): (JSC::JIT::emitPutToCallFrameHeader): (JSC::JIT::emitPutImmediateToCallFrameHeader): (JSC::JIT::emitGetFromCallFrameHeader): (JSC::JIT::emitPutVirtualRegister): (JSC::JIT::emitInitRegister): (JSC::JIT::emitNakedCall): (JSC::JIT::restoreArgumentReference): (JSC::JIT::restoreArgumentReferenceForTrampoline): (JSC::JIT::emitCTICall): (JSC::JIT::checkStructure): (JSC::JIT::emitJumpSlowCaseIfNotJSCell): (JSC::JIT::emitJumpSlowCaseIfNotImmNum): (JSC::JIT::emitJumpSlowCaseIfNotImmNums): (JSC::JIT::emitFastArithDeTagImmediate): (JSC::JIT::emitFastArithDeTagImmediateJumpIfZero): (JSC::JIT::emitFastArithReTagImmediate): (JSC::JIT::emitFastArithPotentiallyReTagImmediate): (JSC::JIT::emitFastArithImmToInt): (JSC::JIT::emitFastArithIntToImmOrSlowCase): (JSC::JIT::emitFastArithIntToImmNoCheck): (JSC::JIT::emitTagAsBoolImmediate):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompilePutByIdTransition):
8:38 PM Changeset in webkit [39019] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

8:36 PM Changeset in webkit [39018] by mrowe@apple.com
  • 2 edits in tags/Safari-6528.6/JavaScriptCore

Work around a GCC 4.2 bug that leads to the compiler hanging while attempting to build Interpreter.cpp.

  • Configurations/JavaScriptCore.xcconfig:
8:36 PM Changeset in webkit [39017] by mrowe@apple.com
  • 2 edits in tags/Safari-6528.6/WebKit/mac

Merge r38950.

8:14 PM Changeset in webkit [39016] by mrowe@apple.com
  • 1 copy in tags/Safari-6528.6

New tag.

8:13 PM Changeset in webkit [39015] by Stephanie Lewis
  • 2 edits in trunk/WebKit/mac

2008-12-04 Stephanie Lewis <Stephanie Lewis>

Fix build.

  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCLoadURL):
7:42 PM Changeset in webkit [39014] by kevino@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by Kevin Ollivier.

Add a MIME mapping for the .htm extension to wx and GTK ports.

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

7:29 PM Changeset in webkit [39013] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Kevin Ollivier.

Implement basic text paste support in wx and add notImplemented stubs to catch other methods.

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

5:55 PM Changeset in webkit [39012] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix for !USE(WXGC) build config.

5:39 PM Changeset in webkit [39011] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Kevin Ollivier.

Turn off styled controls until we can implement them properly.

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

4:40 PM Changeset in webkit [39010] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-04 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Some refactoring for generateGreedyQuantifier.


SunSpider reports no change (possibly a 0.3% speedup).

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateGreedyQuantifier): Clarified label meanings and unified some logic to simplify things.
  • wrec/WRECParser.h: (JSC::WREC::Parser::parseAlternative): Added a version of parseAlternative that can jump to a Label, instead of a JumpList, upon failure. (Eventually, when we have a true Label class, this will be redundant.) This makes things easier for generateGreedyQuantifier, because it can avoid explicitly linking things.
4:10 PM Changeset in webkit [39009] by andersca@apple.com
  • 6 edits
    2 adds in trunk/WebKit

..:

2008-12-04 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Add HostedNetscapePluginStream.


  • WebKit.xcodeproj/project.pbxproj:

../mac:

2008-12-04 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

More work on streams.


  • Plugins/Hosted/HostedNetscapePluginStream.h: Added. (WebKit::HostedNetscapePluginStream::create):
  • Plugins/Hosted/HostedNetscapePluginStream.mm: Added. (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream): (WebKit::HostedNetscapePluginStream::startStreamWithResponse): (WebKit::HostedNetscapePluginStream::startStream): (WebKit::HostedNetscapePluginStream::didReceiveData): (WebKit::HostedNetscapePluginStream::didFinishLoading): (WebKit::HostedNetscapePluginStream::didReceiveResponse):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::pluginView): (WebKit::NetscapePluginInstanceProxy::hostProxy):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest): (WebKit::NetscapePluginInstanceProxy::PluginRequest::requestID): (WebKit::NetscapePluginInstanceProxy::PluginRequest::request): (WebKit::NetscapePluginInstanceProxy::PluginRequest::frameName): (WebKit::NetscapePluginInstanceProxy::PluginRequest::didStartFromUserGesture): (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): (WebKit::NetscapePluginInstanceProxy::performRequest): (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript): (WebKit::NetscapePluginInstanceProxy::requestTimerFired): (WebKit::NetscapePluginInstanceProxy::loadRequest):
  • Plugins/Hosted/WebKitPluginHost.defs:
4:03 PM Changeset in webkit [39008] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Kevin Ollivier.

wx implementations for Path API.

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

2:39 PM Changeset in webkit [39007] by jchaffraix@webkit.org
  • 41 edits in trunk/WebCore

2008-12-04 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 22564: Make HTML elements' constructors take a QualifiedName
https://bugs.webkit.org/show_bug.cgi?id=22564

Updated the remaining constructors.

  • bindings/js/JSImageConstructor.cpp: (WebCore::constructImage):
  • dom/Document.cpp: (WebCore::Document::getCSSCanvasElement):
  • editing/DeleteButton.cpp: (WebCore::DeleteButton::DeleteButton):
  • html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::HTMLAppletElement):
  • html/HTMLAppletElement.h:
  • html/HTMLAreaElement.cpp: (WebCore::HTMLAreaElement::HTMLAreaElement):
  • html/HTMLAreaElement.h:
  • html/HTMLBaseFontElement.cpp: (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
  • html/HTMLBaseFontElement.h:
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::HTMLCanvasElement):
  • html/HTMLCanvasElement.h:
  • html/HTMLElementFactory.cpp: (WebCore::hrConstructor): (WebCore::paragraphConstructor): (WebCore::basefontConstructor): (WebCore::fontConstructor): (WebCore::anchorConstructor): (WebCore::imageConstructor): (WebCore::mapConstructor): (WebCore::areaConstructor): (WebCore::canvasConstructor): (WebCore::appletConstructor): (WebCore::embedConstructor): (WebCore::objectConstructor): (WebCore::paramConstructor): (WebCore::scriptConstructor): (WebCore::tableConstructor): (WebCore::tableCaptionConstructor): (WebCore::tableRowConstructor):
  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::HTMLEmbedElement):
  • html/HTMLEmbedElement.h:
  • html/HTMLFontElement.cpp: (WebCore::HTMLFontElement::HTMLFontElement):
  • html/HTMLFontElement.h:
  • html/HTMLHRElement.cpp: (WebCore::HTMLHRElement::HTMLHRElement):
  • html/HTMLHRElement.h:
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::HTMLImageElement):
  • html/HTMLImageElement.h:
  • html/HTMLMapElement.cpp: (WebCore::HTMLMapElement::HTMLMapElement):
  • html/HTMLMapElement.h:
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::HTMLObjectElement):
  • html/HTMLObjectElement.h:
  • html/HTMLParagraphElement.cpp: (WebCore::HTMLParagraphElement::HTMLParagraphElement):
  • html/HTMLParagraphElement.h:
  • html/HTMLParamElement.cpp: (WebCore::HTMLParamElement::HTMLParamElement):
  • html/HTMLParamElement.h:
  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): (WebCore::HTMLParser::mapCreateErrorCheck): (WebCore::HTMLParser::handleIsindex):
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::HTMLScriptElement):
  • html/HTMLScriptElement.h:
  • html/HTMLTableCaptionElement.cpp: (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
  • html/HTMLTableCaptionElement.h:
  • html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::HTMLTableElement): (WebCore::HTMLTableElement::createCaption): (WebCore::HTMLTableElement::insertRow):
  • html/HTMLTableElement.h:
  • html/HTMLTableRowElement.cpp: (WebCore::HTMLTableRowElement::HTMLTableRowElement):
  • html/HTMLTableRowElement.h:
  • html/HTMLTableSectionElement.cpp: (WebCore::HTMLTableSectionElement::insertRow):
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createContainingTable): (WebCore::HTMLViewSourceDocument::addLine):
  • loader/ImageDocument.cpp: (WebCore::ImageDocumentElement::ImageDocumentElement):
2:02 PM Changeset in webkit [39006] by sfalken@apple.com
  • 2 edits in trunk/WebKit/win

Implement IPropertyBag2::Read.
Fill in dwType for IPropertyBag2::GetPropertyInfo (we always use PROPBAG2_TYPE_DATA).
https://bugs.webkit.org/show_bug.cgi?id=22659


This fixes <rdar://problem/6419127> REGRESSION: Forms autocomplete is broken for "other forms"


Reviewed by Ada Chan, Alice Liu.

  • COMPropertyBag.h: (::Read): Implemented. (::GetPropertyInfo): Set dwType to PROPBAG2_TYPE_DATA.
1:08 PM Changeset in webkit [39005] by eric@webkit.org
  • 1 edit
    1 add in trunk/WebCore

No review, build fix only.

Add file missing from last commit.

  • bindings/js/ScriptState.h: Added.
1:01 PM Changeset in webkit [39004] by Simon Hausmann
  • 3 edits in trunk/JavaScriptCore

2008-12-04 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Holger Freyther.

Fix crashes in the Qt build on Linux/i386 with non-executable memory
by enabling TCSystemAlloc and the PROT_EXEC flag for mmap.

12:51 PM Changeset in webkit [39003] by eric@webkit.org
  • 16 edits in trunk/WebCore

Reviewed by Geoff Garen.

Implement ScriptState abstraction (initially, a simple typedef)
as means of carrying exception information across bindings boundaries
and in a script engine-independent way.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMBinding.cpp: (WebCore::scriptStateFromNode):
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSNodeFilterCondition.h:
  • bindings/js/ScriptState.h: Added.
  • dom/NodeFilter.cpp: (WebCore::NodeFilter::acceptNode):
  • dom/NodeFilter.h: (WebCore::NodeFilter::acceptNode):
  • dom/NodeFilterCondition.cpp: (WebCore::NodeFilterCondition::acceptNode):
  • dom/NodeFilterCondition.h:
  • dom/NodeIterator.cpp: (WebCore::NodeIterator::nextNode): (WebCore::NodeIterator::previousNode):
  • dom/NodeIterator.h: (WebCore::NodeIterator::nextNode): (WebCore::NodeIterator::previousNode):
  • dom/Traversal.cpp: (WebCore::Traversal::acceptNode):
  • dom/Traversal.h:
  • dom/TreeWalker.cpp: (WebCore::TreeWalker::parentNode): (WebCore::TreeWalker::firstChild): (WebCore::TreeWalker::lastChild): (WebCore::TreeWalker::previousSibling): (WebCore::TreeWalker::nextSibling): (WebCore::TreeWalker::previousNode): (WebCore::TreeWalker::nextNode):
  • dom/TreeWalker.h: (WebCore::TreeWalker::parentNode): (WebCore::TreeWalker::firstChild): (WebCore::TreeWalker::lastChild): (WebCore::TreeWalker::previousSibling): (WebCore::TreeWalker::nextSibling): (WebCore::TreeWalker::previousNode): (WebCore::TreeWalker::nextNode):
12:44 PM Changeset in webkit [39002] by pol@apple.com
  • 2 edits in trunk/WebCore

2008-12-04 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Dan Bernstein.

Fixed pauseTransitionAtTimeOnElementWithId() in DRT asserting when passed invalid property name
and potential similar issue with pauseAnimationAtTimeOnElementWithId().

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

  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime): (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
12:42 PM Changeset in webkit [39001] by andersca@apple.com
  • 6 edits in trunk/WebKit/mac

2008-12-04 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Start implementing WKPCLoadURL. Currently this has copied a lot of code from WebNetscapePluginView
but once we have a more complete implementation of NPStreams we can start refactoring things so that the
implementations can share more code.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCLoadURL):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): (WebKit::NetscapePluginInstanceProxy::loadURL): (WebKit::NetscapePluginInstanceProxy::performRequest): (WebKit::NetscapePluginInstanceProxy::requestTimerFired): (WebKit::NetscapePluginInstanceProxy::loadRequest):
  • Plugins/Hosted/WebKitPluginClient.defs:
  • Plugins/Hosted/WebKitPluginHost.defs:
12:37 PM Changeset in webkit [39000] by brettw@chromium.org
  • 2 edits in trunk/WebCore

Reviewed by Darin Adler.

Remove unused Completion.h include.

  • html/CanvasRenderingContext2D.cpp: Removed Completion.h include.
12:07 PM Changeset in webkit [38999] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-11-13 David Hyatt <hyatt@apple.com>

Fix a bug in ScrollView's refactoring. An isVisible check should have been isSelfVisible.

Reviewed by Darin Adler

  • platform/ScrollView.cpp: (WebCore::ScrollView::setParentVisible):
11:38 AM Changeset in webkit [38998] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

2008-12-04 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.


Move requestWithURLCString to WebBaseNetscapePluginView.


  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView requestWithURLCString:]):
  • Plugins/WebNetscapePluginView.mm:
8:38 AM Changeset in webkit [38997] by vestbo@webkit.org
  • 1 edit in trunk/JavaScriptCore/JavaScriptCore.pri

Fix the Qt build

8:21 AM Changeset in webkit [38996] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-12-04 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Enable ENABLE_JIT_OPTIMIZE_CALL, ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS
and ENABLE_JIT_OPTIMIZE_ARITHMETIC, as suggested by Niko.

6:41 AM Changeset in webkit [38995] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-12-04 Friedemann Kleint <friedemann.kleint@nokia.com>

Reviewed by Tor Arne Vestbø.

Fix small translation glitch in the Qt file chooser.

6:32 AM Changeset in webkit [38994] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-12-04 Kent Hansen <khansen@trolltech.com>

Reviewed by Simon Hausmann.

Enable the JSC JIT for the Qt build by default for release builds on
linux-g++ and win32-msvc.

5:01 AM Changeset in webkit [38993] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-12-04 Tor Arne Vestbø <tavestbo@trolltech.com>

Rubber-stamped by Simon Hausmann.

Blacklist Silverlight plugin on Qt/Mac until supported

Currently the plugin crashes with a corrupted stack trace, possibly
related to https://bugs.webkit.org/show_bug.cgi?id=20635

3:10 AM Changeset in webkit [38992] by barraclough@apple.com
  • 7 edits
    2 copies in trunk/JavaScriptCore

2008-12-04 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Allow JIT to function without property access repatching and arithmetic optimizations.
Controlled by ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS and ENABLE_JIT_OPTIMIZE_ARITHMETIC switches.

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

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: Copied from jit/JIT.cpp. (JSC::JIT::compileBinaryArithOp): (JSC::JIT::compileBinaryArithOpSlowCase):
  • jit/JITPropertyAccess.cpp: Copied from jit/JIT.cpp. (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compilePutByIdSlowCase): (JSC::resizePropertyStorage): (JSC::transitionWillNeedStorageRealloc): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace): (JSC::JIT::privateCompilePatchGetArrayLength):
  • wtf/Platform.h:
2:26 AM Changeset in webkit [38991] by vestbo@webkit.org
  • 1 edit in trunk/WebCore/bridge/qt/qt_runtime.cpp

Qt build fix after r38975

12:41 AM Changeset in webkit [38990] by ap@webkit.org
  • 2 edits in trunk/WebCore

2008-12-03 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

Fix non-Mac build.

  • page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):

Dec 3, 2008:

11:43 PM Changeset in webkit [38989] by ggaren@apple.com
  • 9 edits in trunk

JavaScriptCore:

2008-12-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Optimized sequences of characters in regular expressions by comparing
two characters at a time.


1-2% speedup on SunSpider, 19-25% speedup on regexp-dna.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::load32): (JSC::MacroAssembler::jge32): Filled out a few more macro methods.
  • assembler/X86Assembler.h: (JSC::X86Assembler::movl_mr): Added a verion of movl_mr that operates without an offset, to allow the macro assembler to optmize for that case.


  • wrec/WREC.cpp: (JSC::WREC::Generator::compileRegExp): Test the saved value of index instead of the index register when checking for "end of input." The index register doesn't increment by 1 in an orderly fashion, so testing it for == "end of input" is not valid.


Also, jump all the way to "return failure" upon reaching "end of input,"
instead of executing the next alternative. This is more logical, and
it's a slight optimization in the case of an expression with many alternatives.

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateIncrementIndex): Added support for jumping to a failure label in the case where the index has reached "end of input."

(JSC::WREC::Generator::generatePatternCharacterSequence):
(JSC::WREC::Generator::generatePatternCharacterPair): This is the
optmization. It's basically like generatePatternCharacter, but it runs two
characters at a time.


(JSC::WREC::Generator::generatePatternCharacter): Changed to use isASCII,
since it's clearer than comparing to a magic hex value.


  • wrec/WRECGenerator.h:

LayoutTests:

2008-12-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Added a test for another input length miscalculation.

  • fast/regex/alternative-length-miscalculation-expected.txt:
  • fast/regex/resources/alternative-length-miscalculation.js:
11:27 PM Changeset in webkit [38988] by ap@webkit.org
  • 1 edit
    3 moves
    14 adds in trunk/LayoutTests

Reviewed by Darin Adler.

Add missing test files (utf-16,32 files) and two php files
for bug 21635 and enabled utf-7 tests (bug 22492). The patch
for bug 21635 was landed in http://trac.webkit.org/changeset/38755,
but binary test files (utf-16/32) were omitted in the changeset.

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

  • http/tests/misc/resources/check-query-param.php: Added.
  • http/tests/misc/resources/echo-query-param.php: Added.
  • http/tests/misc/submit-get-in-utf16be.html: Added.
  • http/tests/misc/submit-get-in-utf16le.html: Added.
  • http/tests/misc/submit-get-in-utf32be.html: Added.
  • http/tests/misc/submit-get-in-utf32le.html: Added.
  • http/tests/misc/submit-get-in-utf7.html: Copied from http/tests/misc/submit-get-in-utf7.html-disabled.
  • http/tests/misc/submit-get-in-utf7.html-disabled: Removed.
  • http/tests/misc/submit-post-in-utf16be.html: Added.
  • http/tests/misc/submit-post-in-utf16le.html: Added.
  • http/tests/misc/submit-post-in-utf32be.html: Added.
  • http/tests/misc/submit-post-in-utf32le.html: Added.
  • http/tests/misc/submit-post-in-utf7.html: Copied from http/tests/misc/submit-post-in-utf7.html-disabled.
  • http/tests/misc/submit-post-in-utf7.html-disabled: Removed.
  • http/tests/misc/url-in-utf16be.html: Added.
  • http/tests/misc/url-in-utf16le.html: Added.
  • http/tests/misc/url-in-utf32be.html: Added.
  • http/tests/misc/url-in-utf32le.html: Added.
  • http/tests/misc/url-in-utf7.html: Copied from http/tests/misc/url-in-utf7.html-disabled.
  • http/tests/misc/url-in-utf7.html-disabled: Removed.
11:21 PM Changeset in webkit [38987] by ap@webkit.org
  • 2 edits in trunk/WebCore

2008-12-03 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

Remove uses of document() in XMLHttpRequest where simple.
https://bugs.webkit.org/show_bug.cgi?id=22619

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseXML): Return NULL in the worker case which is according to spec (and avoids using document()).

(WebCore::XMLHttpRequest::callReadyStateChangeListener):
(WebCore::XMLHttpRequest::initSend):
Use scriptExecutionContext() instead of document().

11:20 PM Changeset in webkit [38986] by ap@webkit.org
  • 7 edits in trunk/WebCore

Reviewed by Alexey Proskuryakov.

Make ScriptExecutionContextTaskWorkerTask::performTask a pure virtual function.
https://bugs.webkit.org/show_bug.cgi?id=22642

  • dom/Document.cpp: (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer): (WebCore::ScriptExecutionContextTaskTimer::fired): (WebCore::PerformTaskContext::PerformTaskContext): (WebCore::performTask): (WebCore::Document::postTask):
  • dom/Document.h:
  • dom/ScriptExecutionContext.cpp:
  • dom/ScriptExecutionContext.h:
  • dom/WorkerContext.cpp: (WebCore::ScriptExecutionContextTaskWorkerTask::create): (WebCore::ScriptExecutionContextTaskWorkerTask::ScriptExecutionContextTaskWorkerTask): (WebCore::ScriptExecutionContextTaskWorkerTask::performTask): (WebCore::WorkerContext::postTask):
  • dom/WorkerContext.h:
11:19 PM Changeset in webkit [38985] by ap@webkit.org
  • 18 edits in trunk/WebCore

2008-12-03 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

Using ActiveDOMObject as base class for DOMTimer.
https://bugs.webkit.org/show_bug.cgi?id=22620

Using ActiveDOMObject simplifies the code because ActiveDOMObject
is wired for stop/pause/resume on loading/unloading/caching the page etc
so the timer-specific code that does the same can be removed.
In addition, timers can be now paused/resumed 'in place' which
makes it unnecessary to 'serialize' them into special PausedTimeouts
instance, so pause/resumeTimeouts implementation in JSDOMWindowBase can also be removed.
Also, moving TimeoutMap from JSDOMWindowBase to Document matches lifetime
of timeouts and makes it possible to not roundtrip them via PausedTimeouts
every time when JSDOMWindow wrapper is destroyed while the page is in the b/f cache.

Timeouts are now paused with other ActiveDOMObjects:

  • before creating CachedPage in FrameLoader::commitProvisionalLoad()
  • in JavaScriptDebugServer::setJavaScriptPaused
  • during modal UI operations in Chrome::* this is equivalent to previous usage of JSDOMWindowBase::pauseTimeouts()

Timeouts are stopped to prevent future firing from:

  • FrameLoader::clear()
  • FrameLoader::frameDetached() this is equivalent to previous usage of JSDOMWindowBase::clearAllTimeouts()

This is also one of the steps to having timers in Workers. See the plan of
the next steps in the bug above.

  • bindings/js/DOMTimer.cpp: (WebCore::DOMTimer::DOMTimer): (WebCore::DOMTimer::fired): (WebCore::DOMTimer::hasPendingActivity): (WebCore::DOMTimer::contextDestroyed): (WebCore::DOMTimer::stop): (WebCore::DOMTimer::suspend): (WebCore::DOMTimer::resume): (WebCore::DOMTimer::canSuspend): Implemented ActiveDOMObject methods.
  • bindings/js/DOMTimer.h:
  • bindings/js/JSDOMBinding.cpp: ActiveDOMObject can have no JS wrapper (WebCore::markActiveObjectsForContext):
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::~JSDOMWindowBase): (WebCore::JSDOMWindowBase::clear): (WebCore::JSDOMWindowBase::installTimeout): (WebCore::JSDOMWindowBase::removeTimeout): (WebCore::JSDOMWindowBase::timerFired): (WebCore::JSDOMWindowBase::disconnectFrame):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/ScriptController.cpp:
  • bindings/js/ScriptController.h:
  • dom/Document.cpp: Document now holds a hash map id->timeout (WebCore::Document::addTimeout): (WebCore::Document::removeTimeout): (WebCore::Document::findTimeout):
  • dom/Document.h:
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage): (WebCore::CachedPage::restore): (WebCore::CachedPage::clear):
  • history/CachedPage.h:
  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
  • inspector/JavaScriptDebugServer.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::commitProvisionalLoad): removed clearAllTimeouts since all ActiveDOMObjects will be stopped in FrameLoader::clear(); I don't see how the old comment can be correct - the code in the same method proceeds to invoke 'onunload' and then calls into client which can be external code and can cause any active object created in onunload to fire. We can stop them all before firing onunload but it does not make a lot of sense. I have a test to go with the next patch which verifies that timers set in onunload do not fire.

(WebCore::FrameLoader::open):

  • page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
9:43 PM Changeset in webkit [38984] by barraclough@apple.com
  • 7 edits
    2 copies in trunk/JavaScriptCore

2008-12-03 Gavin Barraclough <barraclough@apple.com>

Reviewed by Camron Zwarich.

Allow JIT to operate without the call-repatching optimization.
Controlled by ENABLE(JIT_OPTIMIZE_CALL), defaults on, disabling
this leads to significant performance regression.

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

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • jit/JIT.cpp: (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • jit/JITCall.cpp: Copied from jit/JIT.cpp. (JSC::JIT::compileOpCallInitializeCallFrame): (JSC::JIT::compileOpCallSetupArgs): (JSC::JIT::compileOpCallEvalSetupArgs): (JSC::JIT::compileOpConstructSetupArgs): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase): (JSC::unreachable):
  • jit/JITInlineMethods.h: Copied from jit/JIT.cpp. (JSC::JIT::checkStructure): (JSC::JIT::emitFastArithPotentiallyReTagImmediate): (JSC::JIT::emitTagAsBoolImmediate):
  • wtf/Platform.h:
7:39 PM Changeset in webkit [38983] by justin.garcia@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

2008-12-03 Justin Garcia <justin.garcia@apple.com>

Reviewed by Beth Dakin.

<rdar://problem/6018653> Extra blank line when pasting paragraph in plain text


In SnowLeopard, Mail occasionally adds an empty, unstyled paragraph at the
end of pasted content so that users don't get stuck with non-standard pargraph
spacing. This content threw off our handling of interchange newlines. Any interchange
newline, regardless of it's position in the incoming fragment was considered to be
"at the start" of the fragment, and would result in us inserting in a newline before
inserted content. This patch makes the checks for interchange newlines more strict,
and treats interchange newlines found elsewhere as normal <br>s.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): (WebCore::ReplacementFragment::removeInterchangeNodes):
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::init): (WebCore::VisiblePosition::canonicalPosition):
  • editing/VisiblePosition.h:

LayoutTests:

2008-12-03 Justin Garcia <justin.garcia@apple.com>

Reviewed by Beth Dakin.

<rdar://problem/6018653> Extra blank line when pasting paragraph in plain text

  • editing/pasteboard/6018653-expected.txt: Added.
  • editing/pasteboard/6018653.html: Added.
6:11 PM Changeset in webkit [38982] by andersca@apple.com
  • 2 edits in trunk/WebKit

2008-12-03 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.


Move WebPluginRequest to its own file.


  • WebKit.xcodeproj/project.pbxproj:
6:10 PM Changeset in webkit [38981] by andersca@apple.com
  • 2 edits
    2 adds in trunk/WebKit/mac

2008-12-03 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Move WebPluginRequest to its own file.


  • Plugins/WebNetscapePluginView.mm:
  • Plugins/WebPluginRequest.h: Added.
  • Plugins/WebPluginRequest.m: Added. (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]): (-[WebPluginRequest dealloc]): (-[WebPluginRequest request]): (-[WebPluginRequest frameName]): (-[WebPluginRequest isCurrentEventUserGesture]): (-[WebPluginRequest sendNotification]): (-[WebPluginRequest notifyData]):
5:47 PM Changeset in webkit [38980] by eric@webkit.org
  • 4 edits
    4 adds in trunk

Rubber-stamped by David Hyatt.

Bring the WebCore chromium build a couple steps closer to building.

  • WebCore.scons:
5:03 PM Changeset in webkit [38979] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-03 Anders Carlsson <andersca@apple.com>

Handle the CA model.

  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView setWindowIfNecessary]):
4:57 PM Changeset in webkit [38978] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix.

4:37 PM Changeset in webkit [38977] by Nikolas Zimmermann
  • 6 edits in trunk/LayoutTests

Reviewed by George Staikos.
Forgot to rerun make-js-test-wrappers, and update some fast/wml results.

4:26 PM Changeset in webkit [38976] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-03 Sam Weinig <sam@webkit.org>

Fix build.

  • assembler/X86Assembler.h: (JSC::X86Assembler::orl_i32r):
4:10 PM Changeset in webkit [38975] by weinig@apple.com
  • 16 edits in trunk/JavaScriptCore

2008-12-03 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Remove shared AssemblerBuffer 1MB buffer and instead give AssemblerBuffer
an 256 byte inline capacity.

1% progression on Sunspider.

  • assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::AssemblerBuffer): (JSC::AssemblerBuffer::~AssemblerBuffer): (JSC::AssemblerBuffer::grow):
  • assembler/MacroAssembler.h: (JSC::MacroAssembler::MacroAssembler):
  • assembler/X86Assembler.h: (JSC::X86Assembler::X86Assembler):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::Interpreter):
  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::JIT):
  • parser/Nodes.cpp: (JSC::RegExpNode::emitBytecode):
  • runtime/RegExp.cpp: (JSC::RegExp::RegExp): (JSC::RegExp::create):
  • runtime/RegExp.h:
  • runtime/RegExpConstructor.cpp: (JSC::constructRegExp):
  • runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncCompile):
  • runtime/StringPrototype.cpp: (JSC::stringProtoFuncMatch): (JSC::stringProtoFuncSearch):
  • wrec/WREC.cpp: (JSC::WREC::Generator::compileRegExp):
  • wrec/WRECGenerator.h: (JSC::WREC::Generator::Generator):
  • wrec/WRECParser.h: (JSC::WREC::Parser::Parser):
3:48 PM Changeset in webkit [38974] by Nikolas Zimmermann
  • 4 edits
    10 adds in trunk

Reviewed by George Staikos.

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

Implement WML variable substitution & validation.
Created a framework for scriptable WML layout tests, that are able to test variable substiution & validation.

Tests: wml/variable-reference-invalid-character.html

wml/variable-reference-valid.html

3:26 PM Changeset in webkit [38973] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

Build fix for --gtk and --chromium, no review.

Fix run-javascriptcore-tests to pass --gtk, --qt, --chromium, etc.
through to build-jsc.

  • Scripts/build-jsc:
  • Scripts/webkitdirs.pm:
3:20 PM Changeset in webkit [38972] by Nikolas Zimmermann
  • 10 edits in trunk

Reviewed by Cameron Zwarich.

Further preparations for WML layout tests.

  • Enable variable substitution in Text.cpp - if the parent is a WMLElement derived class.
  • Dump WMLMessageSource messages to the console, just like it's done for JSMessageSource
  • Add helper method in Document.idl, to reset the WML page state to a well-known default state. (will be used in the upcoming LayoutTests/wml testcases)
2:54 PM Changeset in webkit [38971] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-12-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt, with help from Gavin Barraclough.


orl_i32r was actually coded as an 8bit OR. So, I renamed orl_i32r to
orl_i8r, changed all orl_i32r clients to use orl_i8r, and then added
a new orl_i32r that actually does a 32bit OR.


(32bit OR is currently unused, but a patch I'm working on uses it.)

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::or32): Updated to choose between 8bit and 32bit OR.
  • assembler/X86Assembler.h: (JSC::X86Assembler::orl_i8r): The old orl_i32r. (JSC::X86Assembler::orl_i32r): The new orl_i32r.


  • jit/JIT.cpp: (JSC::JIT::emitFastArithPotentiallyReTagImmediate): (JSC::JIT::emitTagAsBoolImmediate): Use orl_i8r, since we're ORing 8bit values.
2:38 PM Changeset in webkit [38970] by Antti Koivisto
  • 3 edits in trunk/WebCore

2008-12-03 Antti Koivisto <Antti Koivisto>

Reviewed by Sam Weinig.

Don't leak selectors in case selector list parsing failed.

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::~CSSParser):
2:34 PM Changeset in webkit [38969] by Simon Fraser
  • 1 edit
    4 adds
    4 deletes in trunk/LayoutTests

2008-12-03 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

Clean up and unify transition and animation test cases that destroy
the renderer in the 'ended' event callback, either through setting display:none,
or removing the element.

  • animations/animation-end-event-destroy-renderer-expected.txt: Added.
  • animations/animation-end-event-destroy-renderer.html: Added.
  • animations/transform-animation-event-destroy-element-expected.txt: Removed.
  • animations/transform-animation-event-destroy-element.html: Removed.
  • transitions/transform-transition-event-destroy-element-expected.txt: Removed.
  • transitions/transform-transition-event-destroy-element.html: Removed.
  • transitions/transition-end-event-destroy-renderer-expected.txt: Added.
  • transitions/transition-end-event-destroy-renderer.html: Added.
2:20 PM Changeset in webkit [38968] by cmarrin@apple.com
  • 2 edits in trunk/WebCore

2008-12-03 Chris Marrin <cmarrin@apple.com>

Reviewed by Dave Hyatt.

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

This is a regression (causes a crash of LayoutTests/animations/transform-animation-event-destroy-element.html).
This patch fixes the testcase.

This is another case of animations getting destroyed in the end animation callback and causing dangling
pointers on return. This one involves iterating over the CompositeAnimation, which has been destroyed.
So I now check for a null m_object pointer (which is nullified when the CompositeAnimation is destroyed)
and skip that call.

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::updateStateMachine):
2:15 PM Changeset in webkit [38967] by andersca@apple.com
  • 1 edit in trunk/WebKit/mac/ChangeLog

Add radar number

2:13 PM Changeset in webkit [38966] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-03 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.


Call NPP_SetWindow for CA plug-ins.


  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): (-[WebNetscapePluginView restorePortState:]): (-[WebNetscapePluginView isNewWindowEqualToOldWindow]): (-[WebNetscapePluginView updateAndSetWindow]): (-[WebNetscapePluginView setWindowIfNecessary]):
2:01 PM Changeset in webkit [38965] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

Build fix only, no review.

Remove support for build-webkit --svg-experimental.
All of the "experimental" svg features have their own toggles anyway.
I broke --svg-experimental in my last commit (which then broke clean builds)
I can't find any use of --svg-experimental in our source tree, so removing it.

  • Scripts/build-webkit:
1:52 PM Changeset in webkit [38964] by Antti Koivisto
  • 16 edits
    2 adds in trunk/WebCore

2008-12-03 Antti Koivisto <Antti Koivisto>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22379
Make CSSOM use less memory

Reduce size of the CSSSelector by one more pointer by using an array
instead of a linked list to store them.

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::parseSelector): (WebCore::CSSParser::createStyleRule):
  • css/CSSParser.h: (WebCore::CSSParser::reusableSelectorVector):
  • css/CSSSelector.h: (WebCore::CSSSelector::CSSSelector): (WebCore::CSSSelector::~CSSSelector): (WebCore::CSSSelector::isLastInSelectorList): (WebCore::CSSSelector::setLastInSelectorList):
  • css/CSSStyleRule.cpp: (WebCore::CSSStyleRule::CSSStyleRule): (WebCore::CSSStyleRule::~CSSStyleRule): (WebCore::CSSStyleRule::selectorText):
  • css/CSSStyleRule.h: (WebCore::CSSStyleRule::adoptSelectorVector): (WebCore::CSSStyleRule::selectorList):
  • css/CSSStyleSelector.cpp: (WebCore::CSSRuleSet::addRulesFromSheet):
  • dom/Node.cpp: (WebCore::forEachSelector): (WebCore::selectorNeedsNamespaceResolution): (WebCore::Node::querySelector): (WebCore::Node::querySelectorAll):
  • dom/SelectorNodeList.cpp: (WebCore::createSelectorNodeList):
  • dom/SelectorNodeList.h:
1:52 PM Changeset in webkit [38963] by dino@apple.com
  • 3 edits in trunk/WebKitSite/specs/CSSVisualEffects

2008-12-03 Dean Jackson <dino@apple.com>

CSSTransforms.html +
CSSTransforms3D.html:

  • Use SYNTAX_ERR for exceptions that are parsing errors in CSSMatrix
1:44 PM Changeset in webkit [38962] by ap@webkit.org
  • 4 edits
    3 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22630
Assertion failure in XMLHttpRequest::contextDestroyed

Test: http/tests/xmlhttprequest/close-window.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): (WebCore::FrameLoader::commitProvisionalLoad): Move stopping active objects to clear(), so that closing a window is also covered.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::abort): Protect the object in abort(), because internalAbort() deref()'s.
1:36 PM Changeset in webkit [38961] by dino@apple.com
  • 2 edits in trunk/WebKitSite

2008-12-03 Dean Jackson <dino@apple.com>

Added links to the WebKit and Mozilla bugs for pointer-events.

  • specs/PointerEventsProperty.html:
1:34 PM Changeset in webkit [38960] by eric@webkit.org
  • 5 edits in trunk/WebKitTools

Reviewed by David Hyatt (and Mark Rowe).

Move --coverage support from build-webkit to webkitdirs.pm to share it with build-jsc
Move --coverage support out of run-javascriptcore-tests and into build-jsc

Finally add a buildXCodeProject function to webkitdirs.pm and move --clean support
there from build-webkit (to allow future sharing with other build-* scripts)

Change run-javascriptcore-tests to expect a --jsDriver-args= argument instead of
picking through ARGV with a blacklist of what arguments weren't jsDriver args
this makes run-javascriptcore-tests transparently support all arguments which
webkitdirs.pm gives it support for.

Make run-javascriptcore-tests actually print what commands it's running before running them.

Add --help support to build-jsc and run-javascriptcore-tests!

Make code to support --svg-experimental defaults take up half as many lines.

  • Scripts/build-jsc:
  • Scripts/build-webkit:
  • Scripts/run-javascriptcore-tests:
  • Scripts/webkitdirs.pm:
12:46 PM Changeset in webkit [38959] by dino@apple.com
  • 14 edits in trunk

2008-12-03 Dean Jackson <dino@apple.com>

Reviewed by Dan Bernstein.

JavaScriptCore:

Helper functions for turn -> degrees.
https://bugs.webkit.org/show_bug.cgi?id=22497

  • wtf/MathExtras.h: (turn2deg): (deg2turn):

WebCore:

Implement CSS 3 <angle> turn unit and support it
in rotations.
https://bugs.webkit.org/show_bug.cgi?id=22497

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::validUnit): (WebCore::unitFromString): (WebCore::CSSParser::lex):
  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText): (WebCore::CSSPrimitiveValue::parserValue):
  • css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::createTransformOperations):
  • css/tokenizer.flex:

LayoutTests:

Tests for CSS 3 <angle> turn unit
https://bugs.webkit.org/show_bug.cgi?id=22497

  • transforms/2d/transform-2d-expected.txt:
  • transforms/2d/transform-2d.html:
  • transforms/transform-value-types-expected.txt:
  • transforms/transform-value-types.html:
12:32 PM Changeset in webkit [38958] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-03 Anders Carlsson <andersca@apple.com>

Fix the release build.

  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::deadNameNotificationCallback):
12:00 PM Changeset in webkit [38957] by dino@apple.com
  • 6 edits in trunk/LayoutTests

2008-12-03 Dean Jackson <dino@apple.com>

Reviewed by Dan Bernstein.

Clean up some tests for private DRT API.
https://bugs.webkit.org/show_bug.cgi?id=22498

  • platform/win/Skipped:
  • transitions/transition-drt-api-delay-expected.txt:
  • transitions/transition-drt-api-delay.html:
  • transitions/transition-shorthand-delay-expected.txt:
  • transitions/transition-shorthand-delay.html:
11:57 AM Changeset in webkit [38956] by sfalken@apple.com
  • 2 edits in trunk/WebKit

Update strings not to be localized.

Reviewed by Adam Roben.

  • StringsNotToBeLocalized.txt:
11:51 AM Changeset in webkit [38955] by Adam Roben
  • 2 edits in trunk/WebKitTools

Fix a leak in WinLauncher shutdown

Reviewed by Sam Weinig.

  • WinLauncher/WinLauncher.cpp: (_tWinMain): Replaced a delete with a Release. We can't delete the WebView properly since we only have a pointer to one of its interfaces. We also shouldn't be deleting COM objects directly anyway, for a number of reasons.
11:51 AM Changeset in webkit [38954] by Adam Roben
  • 2 edits in trunk/WebKitTools

Fix a crash on exit in WinLauncher

Reviewed by Sam Weinig.

  • WinLauncher/WinLauncher.cpp: (_tWinMain): Call shutDownWebKit before exiting.
11:50 AM Changeset in webkit [38953] by Adam Roben
  • 2 edits in trunk/WebKitTools

Add a Debug_Internal configuration to WinLauncher

This matches our other projects.

Reviewed by Sam Weinig.

  • WinLauncher/WinLauncher.vcproj: Added a Debug_Internal configuration, which is identical to Debug except that it also references debug_internal.vsprops. Also removed some settings that we should be picking up from the .vsprops files.
10:59 AM Changeset in webkit [38952] by krit@webkit.org
  • 19 edits
    5 deletes in trunk

2008-12-03 Dirk Schulze <krit@webkit.org>

Reviewed by Nikolas Zimmermann.

WebCore:

Make use of the gradient code in GraphicsContext and get rid of most of the
platform dependent code.

SVG should use the new Gradient support on GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=20543

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/FloatSize.h: (WebCore::FloatSize::shrunkTo):
  • svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::buildGradient):
  • svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::buildGradient):
  • svg/graphics/SVGPaintServer.h:
  • svg/graphics/SVGPaintServerGradient.cpp: (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient): (WebCore::SVGPaintServerGradient::gradient): (WebCore::SVGPaintServerGradient::setGradient): (WebCore::findTextRootObject): (WebCore::createMaskAndSwapContextForTextGradient): (WebCore::clipToTextMask): (WebCore::SVGPaintServerGradient::setup): (WebCore::SVGPaintServerGradient::renderPath): (WebCore::SVGPaintServerGradient::teardown):
  • svg/graphics/SVGPaintServerGradient.h: (WebCore::SVGPaintServerGradient::setGradientStops): (WebCore::SVGPaintServerGradient::gradientStops):
  • svg/graphics/SVGPaintServerLinearGradient.h:
  • svg/graphics/SVGPaintServerRadialGradient.h:
  • svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: Removed.
  • svg/graphics/cg/SVGPaintServerCg.cpp:
  • svg/graphics/cg/SVGPaintServerGradientCg.cpp: Removed.
  • svg/graphics/qt/SVGPaintServerGradientQt.cpp: Removed.
  • svg/graphics/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
  • svg/graphics/qt/SVGPaintServerRadialGradientQt.cpp: Removed.

LayoutTests:

Updated/Correcte the SVG pixel tests.
We pass two more SVG tests now.

  • platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.png:
  • platform/mac/svg/batik/text/textEffect3-expected.checksum:
  • platform/mac/svg/batik/text/textEffect3-expected.png:
10:55 AM Changeset in webkit [38951] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-12-03 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Fix formatting.

  • css/CSSSelector.h: (WebCore::CSSSelector::createRareData):
10:54 AM Changeset in webkit [38950] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-03 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

<rdar://problem/6412234>
Don't crash if we can't launch the plug-in host.

  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin):
9:36 AM Changeset in webkit [38949] by Nikolas Zimmermann
  • 3 edits in trunk/WebCore

Reviewed by Adam Roben.

As Adam Roben noticed, synchronize MessageSource enum with Console.js, and add a comment.

9:00 AM Changeset in webkit [38948] by Nikolas Zimmermann
  • 7 edits in trunk/WebCore

Reviewed by Alexey Proskuryakov.

Next steps to make LayoutTests work:
Never access the main frame from WMLRefreshElement/WMLCardElement, but
the current documents frame (WML layout tests will run in an <iframe>)

Prepare WMLErrorHandling for the case that no tokenizer is available anymore
-> report errors through Console::addMessage(), so they get logged in the

expected layout test results.

8:53 AM Changeset in webkit [38947] by vestbo@webkit.org
  • 4 edits in trunk

2008-12-03 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

Allow passing jsNull and jsUndefined to Qt plugins

Currently limited to functions with QString and QVariant arguments,
and properties of these types. Both jsNull and jsUndefined ends up
as default-constructed QStrings and QVariants, which means you can
check for isEmpty() and isValid() in the native plugin code.

Based on patches by Jade Han <jade.han@nokia.com>

8:36 AM Changeset in webkit [38946] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-12-03 Trenton Schulz <trenton.schulz@nokia.com>

Reviewed by Simon Hausmann.

Fix the build with Qt for Mac OS X.

8:28 AM Changeset in webkit [38945] by Nikolas Zimmermann
  • 5 edits in trunk/WebCore

Reviewed by Alexey Proskuryakov.

Fix error handling in WMLSetvarElement. If an invalid variable reference is contained
in the 'name' attribute of <setvar>, a 'WMLErrorInvalidVariab

8:12 AM Changeset in webkit [38944] by Nikolas Zimmermann
  • 5 edits in trunk/WebCore

Reviewed by Alexey Proskuryakov.

Preparations to get WML layout tests going.
Make WMLPageState an OwnPtr to Page, and let Page create it on demand.

7:57 AM Changeset in webkit [38943] by ap@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=22627
fast/workers/worker-terminate.html fails randomly

The problem is that worker termination uses script timeouts, so an InterruptedExecutionError
is raised, and it sometimes reaches the main thread.

  • dom/WorkerMessagingProxy.cpp: (WebCore::WorkerExceptionTask::create): (WebCore::WorkerExceptionTask::WorkerExceptionTask): (WebCore::WorkerExceptionTask::performTask): (WebCore::WorkerMessagingProxy::postWorkerException):
  • dom/WorkerMessagingProxy.h: Ignore exceptions that happen in terminated workers.
7:52 AM Changeset in webkit [38942] by Nikolas Zimmermann
  • 4 edits in trunk/WebCore

Reviewed by Alexey Proskuryakov.
Remove some unncessary includes.

7:25 AM Changeset in webkit [38941] by ap@webkit.org
  • 3 edits in trunk/WebCore

Rubber-stamped by Cameron Zwarich and Adam Roben.

Fix a typo: m_executionForbidded.

  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::WorkerScriptController): (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::forbidExecution):
  • bindings/js/WorkerScriptController.h:
7:01 AM Changeset in webkit [38940] by ddkilzer@apple.com
  • 2 edits in trunk/WebCore

2008-12-03 Dean McNamee <deanm@chromium.org>

Bug 22623: Uninitialized memory access in cache parsing code
<https://bugs.webkit.org/show_bug.cgi?id=22623>

Reviewed by David Kilzer.

Initialize m_haveParsedCacheControlHeader and m_haveParsedPragmaHeader.

  • platform/network/ResourceResponseBase.h: (WebCore::ResourceResponseBase::ResourceResponseBase):
6:54 AM Changeset in webkit [38939] by ddkilzer@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Removed unchanged file from ChangeLog entry in r38918.

6:10 AM Changeset in webkit [38938] by Simon Hausmann
  • 2 edits in trunk

2008-12-03 Simon Hausmann <Simon Hausmann>

Reviewed by Tor Arne Vestbø.

Fix the build of WebKit inside Qt by making sure that qmake generators
that do not produce generated sources (i.e. cpp files) are not
included in SOURCES.

2:50 AM Changeset in webkit [38937] by vestbo@webkit.org
  • 1 edit in trunk/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp

2008-12-03 Tor Arne Vestbø <tavestbo@trolltech.com>

Rubber-stamped by Simon Hausmann.

Fix QWebFrame auto-test by giving it a little more time to load the image

1:56 AM Changeset in webkit [38936] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-12-03 Antti Koivisto <Antti Koivisto>

Probable build fix.

  • WebCoreSources.bkl:
1:51 AM Changeset in webkit [38935] by Antti Koivisto
  • 3 edits in trunk/WebCore

2008-12-03 Antti Koivisto <Antti Koivisto>

Forgot to commit these.

  • dom/Node.cpp: (WebCore::forEachTagSelector): (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()): (WebCore::Node::querySelector):
  • dom/SelectorNodeList.cpp: (WebCore::createSelectorNodeList):
1:42 AM Changeset in webkit [38934] by Antti Koivisto
  • 12 edits
    2 deletes in trunk/WebCore

2008-12-03 Antti Koivisto <Antti Koivisto>

Reviewed by Dan Bernstein and Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=22379
Make CSSOM use less memory

Reduce size of the CSSSelector by 3/8 by moving rarely used fields to a rare data
struct. Browsing around with some instrumentation showed that ~0.1% of all selectors
encountered had rare data.


This also eliminates the CSSNthSelector subclass which will make possible to store
CSSSelectors in an array instead of a linked list for futher memory savings.

  • css/CSSGrammar.y:
  • css/CSSNthSelector.cpp: Removed.
  • css/CSSNthSelector.h: Removed.
  • css/CSSParser.cpp: (WebCore::CSSParser::createFloatingSelector):
  • css/CSSParser.h:
  • css/CSSSelector.cpp: (WebCore::CSSSelector::specificity): (WebCore::CSSSelector::operator==): (WebCore::CSSSelector::selectorText): (WebCore::CSSSelector::setTagHistory): (WebCore::CSSSelector::attribute): (WebCore::CSSSelector::setAttribute): (WebCore::CSSSelector::setArgument): (WebCore::CSSSelector::setSimpleSelector): (WebCore::CSSSelector::parseNth): (WebCore::CSSSelector::matchNth): (WebCore::CSSSelector::RareData::parseNth): (WebCore::CSSSelector::RareData::matchNth):
  • css/CSSSelector.h: (WebCore::CSSSelector::CSSSelector): (WebCore::CSSSelector::~CSSSelector): (WebCore::CSSSelector::tagHistory): (WebCore::CSSSelector::hasAttribute): (WebCore::CSSSelector::argument): (WebCore::CSSSelector::simpleSelector): (WebCore::CSSSelector::RareData::RareData): (WebCore::CSSSelector::createRareData): (WebCore::CSSSelector::):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
12:30 AM Changeset in webkit [38933] by ap@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-03 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

Add test for https://bugs.webkit.org/show_bug.cgi?id=22600,
verifying that timeout callback is executed in the right scope.

  • fast/dom/Window/timeout-callback-scope-expected.txt: Added.
  • fast/dom/Window/timeout-callback-scope.html: Added.
12:27 AM Changeset in webkit [38932] by ap@webkit.org
  • 2 edits in trunk/WebCore

2008-12-03 Jian Li <jianli@chromium.org>

Reviewed by Alexey Proskuryakov.

Remove unneeded included file in WorkerThread.cpp.
https://bugs.webkit.org/show_bug.cgi?id=22613

  • dom/WorkerThread.cpp: No need to include JSWorkerContext.h.

Dec 2, 2008:

11:42 PM Changeset in webkit [38931] by ap@webkit.org
  • 12 edits
    3 adds in trunk

Reviewed by Maciej Stachowiak.

https://bugs.webkit.org/show_bug.cgi?id=22543
Consolidate ActiveDOMObject page cache interaction

Test: http/tests/xmlhttprequest/abort-on-leaving-page.html

  • dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::canSuspend): (WebCore::ActiveDOMObject::suspend): (WebCore::ActiveDOMObject::resume):
  • dom/ActiveDOMObject.h:
  • dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
  • dom/ScriptExecutionContext.h: Added methods for suspending and resuming active objects.
  • dom/Worker.cpp: (WebCore::Worker::canSuspend): (WebCore::Worker::stop):
  • dom/Worker.h: Workers cannot be suspended yet. This is a change in behavior, as workers used to keep running until their owner was destroyed.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): No longer call stopActiveDOMObjects() here, because their activity is not necessarily loading. (WebCore::FrameLoader::canCachePage): Can only cache if all active objects can be suspended. Previously, stopLoading() cancelled outstanding XMLHttpRequests, which made the page uncacheable due to no-null main document error. (WebCore::FrameLoader::commitProvisionalLoad): Suspend or stop active objects, depending on whether the document will be cached. (WebCore::FrameLoader::frameDetached): Stop active objects to let them clean up before their context is destroyed.
  • xml/XMLHttpRequest.h: added canSuspend().
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::canSuspend): Only XHRs that are not loading can be suspended. (WebCore::XMLHttpRequest::stop): Call abort() instead of internalAbort() to dispatch events for Firefox compatibility. This is a change in behavior that helps test that requests do get aborted. (WebCore::XMLHttpRequest::contextDestroyed): The request must have been stopped by now, so assert that.
11:09 PM Disk Cache edited by ben@meyerhome.net
add link to chrome (diff)
10:13 PM Changeset in webkit [38930] by cwzwarich@webkit.org
  • 5 edits
    3 adds in trunk

2008-12-02 Cameron Zwarich <zwarich@apple.com>

Reviewed by Geoff Garen.

Bug 22504: Crashes during code generation occur due to refing of ignoredResult()
<https://bugs.webkit.org/show_bug.cgi?id=22504>

Since ignoredResult() was implemented by casting 1 to a RegisterID*, any
attempt to ref ignoredResult() results in a crash. This will occur in
code generation of a function body where a node emits another node with
the dst that was passed to it, and then refs the returned RegisterID*.

To fix this problem, make ignoredResult() a member function of
BytecodeGenerator that simply returns a pointe to a fixed RegisterID
member of BytecodeGenerator.

JavaScriptCore:

  • bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::ignoredResult):
  • bytecompiler/RegisterID.h:
  • parser/Nodes.cpp: (JSC::NullNode::emitBytecode): (JSC::BooleanNode::emitBytecode): (JSC::NumberNode::emitBytecode): (JSC::StringNode::emitBytecode): (JSC::RegExpNode::emitBytecode): (JSC::ThisNode::emitBytecode): (JSC::ResolveNode::emitBytecode): (JSC::ObjectLiteralNode::emitBytecode): (JSC::PostfixResolveNode::emitBytecode): (JSC::PostfixBracketNode::emitBytecode): (JSC::PostfixDotNode::emitBytecode): (JSC::DeleteValueNode::emitBytecode): (JSC::VoidNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::TypeOfValueNode::emitBytecode): (JSC::PrefixResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::CommaNode::emitBytecode): (JSC::ForNode::emitBytecode): (JSC::ForInNode::emitBytecode): (JSC::ReturnNode::emitBytecode): (JSC::ThrowNode::emitBytecode): (JSC::FunctionBodyNode::emitBytecode): (JSC::FuncDeclNode::emitBytecode):

LayoutTests:

  • fast/js/ignored-result-ref-crash-expected.txt: Added.
  • fast/js/ignored-result-ref-crash.html: Added.
  • fast/js/resources/ignored-result-ref-crash.js: Added.
8:53 PM Changeset in webkit [38929] by ggaren@apple.com
  • 4 edits
    3 adds in trunk

JavaScriptCore:

2008-12-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed https://bugs.webkit.org/show_bug.cgi?id=22537
REGRESSION (r38745): Assertion failure in jsSubstring() at ge.com

The bug was that index would become greater than length, so our
"end of input" checks, which all check "index == length", would fail.


The solution is to check for end of input before incrementing index,
to ensure that index is always <= length.


As a side benefit, generateJumpIfEndOfInput can now use je instead of
jg, which should be slightly faster.

  • wrec/WREC.cpp: (JSC::WREC::Generator::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateJumpIfEndOfInput):

LayoutTests:

2008-12-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Test for https://bugs.webkit.org/show_bug.cgi?id=22537
REGRESSION (r38745): Assertion failure in jsSubstring() at ge.com

  • fast/regex/alternative-length-miscalculation-expected.txt: Added.
  • fast/regex/alternative-length-miscalculation.html: Added.
6:10 PM Changeset in webkit [38928] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-02 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoffrey Garen.

Plant shift right immediate instructions, which are awesome.
https://bugs.webkit.org/show_bug.cgi?id=22610
~5% on the v8-crypto test.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
5:03 PM Changeset in webkit [38927] by Chris Fleizach
  • 17 edits
    2 adds in trunk

Bug 22606: Can <th> serves as the AXTitleUIElement for <td>?

<th> will serve as a title UI element when it is present in a table
that has not been exposed as an AXTable

4:41 PM Changeset in webkit [38926] by andersca@apple.com
  • 6 edits in trunk/WebKit/mac

2008-12-02 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Start processing messages sent to the client port.


  • Plugins/Hosted/NetscapePluginHostProxy.h:
  • Plugins/Hosted/NetscapePluginHostProxy.mm: Add a map from ports to plug-in proxies. Turn the set of instances into a map from pluginID to instance proxy.


(WKPCStatusText):
Look up the right instance proxy and call status().


  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::pluginID):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::status): Implement this.


  • Plugins/Hosted/WebKitPluginClient.defs: Add the plug-in ID to StatusText.
4:17 PM Changeset in webkit [38925] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Cleaned up SegmentedVector by abstracting segment access into helper
functions.


SunSpider reports no change.

  • bytecompiler/SegmentedVector.h: (JSC::SegmentedVector::SegmentedVector): (JSC::SegmentedVector::~SegmentedVector): (JSC::SegmentedVector::size): (JSC::SegmentedVector::at): (JSC::SegmentedVector::operator[]): (JSC::SegmentedVector::last): (JSC::SegmentedVector::append): (JSC::SegmentedVector::removeLast): (JSC::SegmentedVector::grow): (JSC::SegmentedVector::clear): (JSC::SegmentedVector::deleteAllSegments): (JSC::SegmentedVector::segmentFor): (JSC::SegmentedVector::subscriptFor): (JSC::SegmentedVector::ensureSegmentsFor): (JSC::SegmentedVector::ensureSegment):
4:13 PM Changeset in webkit [38924] by kevino@webkit.org
  • 5 edits in trunk/WebKit/wx

Reviewed by Kevin Ollivier.

Add HitTest to wxWebView (and wxWebFrame).

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

3:54 PM BuildingCairoOnWindows edited by bfulgham@macports.org
(diff)
3:53 PM BuildingOnWindows edited by bfulgham@macports.org
(diff)
3:37 PM Changeset in webkit [38923] by Adam Roben
  • 3 edits in trunk/WebKit/win

Export new-ish JSCore convenience constructor functions

Reviewed by Jon Honeycutt.

  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit_debug.def: Export JSObjectMakeArray, JSObjectMakeDate, and JSObjectMakeRegExp. Remove duplicate export of JSObjectMakeFunction.
3:15 PM Changeset in webkit [38922] by Simon Fraser
  • 4 edits
    4 adds in trunk

2008-12-02 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

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

Override absoluteClippedOverflowRect() in RenderReplaced to return a rect
that is large enough to encompass the selection, so that the repainting of
selected replaced elements works correctly.

Test: fast/repaint/selected-replaced.html

  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::selectionRect): (WebCore::RenderReplaced::localSelectionRect): (WebCore::RenderReplaced::absoluteClippedOverflowRect):
  • rendering/RenderReplaced.h:
2:58 PM Changeset in webkit [38921] by Chris Fleizach
  • 5 edits in trunk

Bug 22513: ZOOM: text selection does not send correct zoom bounds

When zoomed, text selection must send the zoom bounds in flipped screen coordinates.

2:27 PM Changeset in webkit [38920] by andersca@apple.com
  • 6 edits in trunk/WebKit/mac

2008-12-02 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Create a client mach port and pass it to the plug-in host.


  • Plugins/Hosted/NetscapePluginHostManager.h:
  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::hostForPackage): (WebKit::NetscapePluginHostManager::spawnPluginHost):
  • Plugins/Hosted/NetscapePluginHostProxy.h:
  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
  • Plugins/Hosted/WebKitPluginHost.defs:
2:16 PM Changeset in webkit [38919] by dino@apple.com
  • 4 edits in trunk/WebCore

2008-12-02 Dean Jackson <dino@apple.com>

Reviewed by Sam Weinig.

Remove support for 'now' from CSS (was
erroneously added to transition and animation delay)
https://bugs.webkit.org/show_bug.cgi?id=22571

  • css/CSSParser.cpp: (WebCore::CSSParser::parseAnimationDelay):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::mapAnimationDelay):
  • css/CSSValueKeywords.in:
2:03 PM Changeset in webkit [38918] by eric@webkit.org
  • 3 edits in trunk/WebCore

Build fix, no review.

Fix the Mac and gtk builds:
Don't use a float to hold a double.
Remove a now duplicate symbol.

  • WebCore.xcodeproj/project.pbxproj:
  • page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged):
  • platform/gtk/TemporaryLinkStubs.cpp:
1:52 PM Changeset in webkit [38917] by ggaren@apple.com
  • 13 edits in trunk/JavaScriptCore

2008-12-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Geoffrey Garen. (Patch by Cameron Zwarich <zwarich@apple.com>.)


Fixed https://bugs.webkit.org/show_bug.cgi?id=22482
REGRESSION (r37991): Occasionally see "Scene rendered incorrectly"
message when running the V8 Raytrace benchmark


Rolled out r37991. It didn't properly save xmm0, which is caller-save,
before calling helper functions.


SunSpider and v8 benchmarks show little change -- possibly a .2%
SunSpider regression, possibly a .2% v8 benchmark speedup.

  • assembler/X86Assembler.h: (JSC::X86Assembler::):
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • bytecode/Instruction.h: (JSC::Instruction::):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitUnaryOp):
  • bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitToJSNumber): (JSC::BytecodeGenerator::emitTypeOf): (JSC::BytecodeGenerator::emitGetPropertyNames):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute):
  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • parser/Nodes.cpp: (JSC::UnaryOpNode::emitBytecode): (JSC::BinaryOpNode::emitBytecode): (JSC::EqualNode::emitBytecode):
  • parser/ResultType.h: (JSC::ResultType::isReusable): (JSC::ResultType::mightBeNumber):
  • runtime/JSNumberCell.h:
1:32 PM Changeset in webkit [38916] by barraclough@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-01 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoffrey Garen.

Remove unused (sampling only, and derivable) argument to JIT::emitCTICall.
https://bugs.webkit.org/show_bug.cgi?id=22587

  • jit/JIT.cpp: (JSC::JIT::emitCTICall): (JSC::JIT::compileOpCall): (JSC::JIT::emitSlowScriptCheck): (JSC::JIT::compileBinaryArithOpSlowCase): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile):
  • jit/JIT.h:
1:29 PM Changeset in webkit [38915] by Chris Fleizach
  • 6 edits in trunk

Bug 22596: Some elements don't report AXBlockQuoteLevel

Make sure all AX objects return a block quote level

1:26 PM Changeset in webkit [38914] by andersca@apple.com
  • 9 edits in trunk/WebKit/mac

2008-12-02 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Let the plug-in views know if the plug-in host crashes.


  • Plugins/Hosted/NetscapePluginHostManager.h:
  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin):
  • Plugins/Hosted/NetscapePluginHostProxy.h:
  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::pluginHostDied): (WebKit::NetscapePluginHostProxy::addPluginInstance): (WebKit::NetscapePluginHostProxy::removePluginInstance):


  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::create):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: Keep a pointer to the host proxy.


(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
Add the instance to the host set.


(WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
Remove the instance form the host set.


(WebKit::NetscapePluginInstanceProxy::pluginHostDied):
Tell the plug-in view that the plug-in died.

  • Plugins/Hosted/WebHostedNetscapePluginView.h:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView createPlugin]): Pass the plug-in view to the instantiatePlugin.


(-[WebHostedNetscapePluginView pluginHostDied]):
Handle the plug-in host crashing.


(-[WebHostedNetscapePluginView drawRect:]):
Fill the plug-in view with a nice red shade if the plug-in crashes.

12:43 PM Changeset in webkit [38913] by eric@webkit.org
  • 3 edits
    2 adds in trunk

2008-12-02 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Eric Seidel.

Fix the inheritance chain for JSFunction.

  • runtime/JSFunction.cpp: (JSC::JSFunction::info): Add InternalFunction::info as parent class
12:36 PM Changeset in webkit [38912] by eric@webkit.org
  • 4 edits in trunk

2008-12-02 Michael Moss <mmoss@chromium.org>

Reviewed by Eric Seidel.

Change 31264 fixed this on Mac (since moved to WebCore/loader/FrameLoader.cpp), but was never ported to Windows.

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::loadURLIntoChild):
12:32 PM Changeset in webkit [38911] by eric@webkit.org
  • 6 edits in trunk/WebCore

2008-12-02 Dean McNamee <deanm@chromium.org>

Reviewed by Eric Seidel.

Correctly handle a theme returning a non-blinking interval. We should
not set any timers when the interval is 0 (non-blinking), otherwise we
repeatedly set and destroy a blinking timer, causing a paint and timer
storm. This is applicable to GTK and Windows, where a user can set a
non-blinking caret in their system preferences.

Renamed caretBlinkFrequency to the more accurate caretBlinkInterval.

  • page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged):
  • platform/Theme.h: (WebCore::Theme::caretBlinkInterval):
  • platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::caretBlinkInterval):
  • platform/gtk/RenderThemeGtk.h:
  • rendering/RenderTheme.h: (WebCore::RenderTheme::caretBlinkInterval):
12:27 PM Changeset in webkit [38910] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Eric Seidel.

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

startsWith uses find which searches through the whole string if no match is found.
Using reverseFind with an index of 0 has the benefit of only searching for the match
at the beginning of the string. This may only be a small benefit in the overall program,
but it may help in some cases when the string is big.

No observable change in behavior, so no test.

  • platform/text/StringImpl.h: (WebCore::StringImpl::startsWith):
12:25 PM Changeset in webkit [38909] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Darin Adler.

Wrap a JSC-only hack in a USE(JSC) block to fix the v8 build.
https://bugs.webkit.org/show_bug.cgi?id=21951

  • svg/SVGElementInstance.cpp: (WebCore::SVGElementInstance::forgetWrapper):
11:07 AM Changeset in webkit [38908] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Darin Adler.

Add an ASSERT to try and catch the root cause of:
https://bugs.webkit.org/show_bug.cgi?id=22168
http://code.google.com/p/chromium/issues/detail?id=4122

  • editing/TextIterator.cpp: (WebCore::TextIterator::emitText):
11:04 AM Changeset in webkit [38907] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

Reviewed by David Kilzer.

Hack build-webkit --chromium to use Win32 python instead
of using the default cygwin python. Scons + CYGWIN tries
to build with GCC by default, we force MSVC in our file
but that just results in errors from Scons. Until we can fix
this latest round of errors, at least make build-webkit --chromium
actually "work" under CYGWIN instead of forcing users to use
a cmd shell directly.

This is working around a Scons bug:
http://scons.tigris.org/issues/show_bug.cgi?id=2266

  • Scripts/webkitdirs.pm:
11:01 AM Changeset in webkit [38906] by eric@webkit.org
  • 4 edits in trunk/WebCore

2008-12-02 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

Remove some CG-specific code from the Windows Cairo build.
https://bugs.webkit.org/show_bug.cgi?id=22586

No new test cases since this update should create no user-visible
changes, and should be fully covered by the existing regression
tests.

  • WebCore.vcproj/WebCore.vcproj: Remove FontDatabase from
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::focusRingColor): Add stub method
  • platform/win/TemporaryLinkStubs.cpp: (WebCore::populateFontDatabase): Add stub method.
10:32 AM Changeset in webkit [38905] by andersca@apple.com
  • 5 edits in trunk/WebKit/mac

2008-12-01 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Recover if the plug-in host dies and we try to instantiate another plugin before we get the port death notification


  • Plugins/Hosted/NetscapePluginHostManager.h:
  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::pluginHostDied): Remove the plug-in host from the map.


(WebKit::NetscapePluginHostManager::instantiatePlugin):
NetscapePluginHostProxy is no longer refcounted.

  • Plugins/Hosted/NetscapePluginHostProxy.h: This is no longer refcounted. Add a set of plug-in instances (unused for now).


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): Create a death notification port.


(WebKit::NetscapePluginHostProxy::pluginHostDied):
Tell the manager that we're gone and delete ourselves.


(WebKit::NetscapePluginHostProxy::deathPortCallback):
New CFMachPort callback.

8:14 AM Changeset in webkit [38904] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

2008-12-02 Simon Hausmann <Simon Hausmann>

Rubber-stamped by Tor Arne Vestbø.

Initial API documentation for QWebDatabase, QWebSecurityOrigin and
QWebFrame::securityOrigin().

8:03 AM Changeset in webkit [38903] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-12-01 Laszlo Gombos <Laszlo Gombos>

Reviewed by Tor Arne Vestbø.

MinGW compilation fix for PluginPackageWin.cpp

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

7:13 AM Changeset in webkit [38902] by Adam Roben
  • 2 edits in trunk/WebCore

Build fix for Windows projects with NOMINMAX defined globally

  • platform/win/COMPtr.h: Don't redefine NOMINMAX if it's already defined.
2:04 AM Changeset in webkit [38901] by Simon Hausmann
  • 8 edits in trunk

Top-Level:

2008-12-02 Simon Hausmann <Simon Hausmann>

Reviewed by Tor Arne Vestbø.

Removed JavaScriptCore from SUBDIRS as it's not built separately
anymore.

WebCore:

2008-12-02 Simon Hausmann <Simon Hausmann>

Reviewed by Tor Arne Vestbø.

Build JavaScriptCore into libQtWebKit.so through a direct build
instead of a static library. When linking a static library into
a shared library qmake generates an incorrect .prl file, which
causes all sorts of different build problems when linking against
QtWebKit. Fixing this in qmake requires bigger changes that are
currently not possible, so we need to work around this limitation
for now. The advantages of the separate build did not outweight the
build problems it caused.

JavaScriptCore:

2008-12-02 Simon Hausmann <Simon Hausmann>

Reviewed by Tor Arne Vestbø.

Fix ability to include JavaScriptCore.pri from other .pro files.

12:49 AM Changeset in webkit [38900] by ap@webkit.org
  • 8 edits in trunk/WebCore

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22588
Move securityOrigin() from Document and WorkerContext into ScriptExecutionContext.

No observable change in behavior, so no test.


  • dom/Document.cpp: (WebCore::Document::open): (WebCore::Document::domain): (WebCore::Document::setDomain): (WebCore::Document::initSecurityContext): (WebCore::Document::setSecurityOrigin):
  • dom/Document.h:
  • dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::setSecurityOrigin):
  • dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::securityOrigin):
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::WorkerContext):
  • dom/WorkerContext.h: These changes are for the move of securityOrigin().


  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::createRequest): (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): (WebCore::XMLHttpRequest::setRequestHeader): (WebCore::XMLHttpRequest::getAllResponseHeaders): (WebCore::XMLHttpRequest::getResponseHeader): (WebCore::XMLHttpRequest::processSyncLoadResults): (WebCore::XMLHttpRequest::willSendRequest): (WebCore::XMLHttpRequest::accessControlCheck): (WebCore::XMLHttpRequest::didReceiveResponsePreflight): Change XMLHttpRequest to use ScriptExecutionContext instead of Document to access securityOrigin().
12:26 AM Changeset in webkit [38899] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-12-02 André Pönitz <apoenitz@trolltech.com>

Reviewed by Simon Hausmann.

Disable the creation of debug information for the Qt build when done
inside Qt. With 670 mb it was slowing down gdb start significantly
for third-party applications that usually don't need it.

Dec 1, 2008:

11:24 PM Changeset in webkit [38898] by Beth Dakin
  • 4 edits
    8 adds in trunk

WebCore:

2008-12-01 Beth Dakin <Beth Dakin>

Reviewed by Dan Bernstein.

Fix for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION
(r19811): Using the down arrow in a textarea gets "stuck" at the
end of a wrapped line
And corresponding: <rdar://problem/5347931>

The basic problem here is that Position::getInlineBoxAndOffset()
failed to look beyond a single renderer. This patch looks for a
better match beyond the first renderer when the affinity is
downstream and we failed to find a "perfect" match.

  • dom/Position.cpp: (WebCore::isNonTextLeafChild): (WebCore::searchAheadForBetterMatch): (WebCore::Position::getInlineBoxAndOffset):

This is a fix I made based on code inspection. It looks like the
old code here and skipped over the parent as a possible match.

  • rendering/RenderObject.cpp: (WebCore::RenderObject::nextInPreOrderAfterChildren):

LayoutTests:

2008-12-01 Beth Dakin <Beth Dakin>

Reviewed by Dan Bernstein.

Tests for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION
(r19811): Using the down arrow in a textarea gets "stuck" at the
end of a wrapped line
And corresponding: <rdar://problem/5347931>

  • editing/selection/wrapped-line-caret-1.html: Added.
  • editing/selection/wrapped-line-caret-2.html: Added.
  • platform/mac/editing/selection/wrapped-line-caret-1- expected.checksum: Added.
  • platform/mac/editing/selection/wrapped-line-caret-1-expected.png: Added.
  • platform/mac/editing/selection/wrapped-line-caret-1-expected.txt: Added.
  • platform/mac/editing/selection/wrapped-line-caret-2- expected.checksum: Added.
  • platform/mac/editing/selection/wrapped-line-caret-2-expected.png: Added.
  • platform/mac/editing/selection/wrapped-line-caret-2-expected.txt: Added.
10:49 PM Changeset in webkit [38897] by pewtermoose@webkit.org
  • 2 edits in trunk/WebCore

2008-12-01 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

Add WML related files to Visual Studio projects.
https://bugs.webkit.org/show_bug.cgi?id=22561

  • WebCore.vcproj/WebCore.vcproj:
    1. Add files from the wml directory to the set of windows files.
    2. Extend include paths with new wml directory.
    3. Add new autogenerated WML files to DerivedSources.
    4. Alphabetize preprocesor includes (holdover from earlier debugging).
9:25 PM Changeset in webkit [38896] by sfalken@apple.com
  • 1 edit in trunk/WebCore/page/win/FrameCGWin.cpp

Build fix.

9:25 PM Changeset in webkit [38895] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Revise node/selection image fix.
Moved updateLayout call so selection rect is fetched after the layout.


Reviewed by Adam Roben.

  • page/win/FrameCGWin.cpp: (WebCore::imageFromRect): (WebCore::imageFromSelection): (WebCore::Frame::nodeImage):
9:08 PM Changeset in webkit [38894] by sfalken@apple.com
  • 8 edits in trunk

WebCore:

2008-12-01 Steve Falkenburg <sfalken@apple.com>

Support needed to implement renderedImage for Windows.
https://bugs.webkit.org/show_bug.cgi?25648

Reviewed by Adam Roben.

  • page/Frame.h:
  • page/win/FrameCGWin.cpp: (WebCore::imageFromRect): (WebCore::imageFromSelection): (WebCore::Frame::nodeImage):
  • page/win/FrameCairoWin.cpp: (WebCore::imageFromNode):

WebKit/win:

2008-12-01 Steve Falkenburg <sfalken@apple.com>

Implement renderedImage for Windows.
https://bugs.webkit.org/show_bug.cgi?25648


Reviewed by Adam Roben.

  • DOMCoreClasses.cpp: (DOMElement::renderedImage):
  • DOMCoreClasses.h:
  • Interfaces/DOMPrivate.idl:
9:01 PM Changeset in webkit [38893] by Simon Fraser
  • 2 edits in trunk/WebCore

2008-12-01 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

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

Fix the painting of the caps lock indicator for transformed text inputs,
by replacing a call to absoluteContentBox() with code that computes the
painting rect for the input contents.

  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::paint):
8:26 PM Changeset in webkit [38892] by Nikolas Zimmermann
  • 4 edits in trunk/LayoutTests

Not reviewed. Forgot to include updated layout tests in last commit.

7:25 PM Changeset in webkit [38891] by ggaren@apple.com
  • 7 edits
    1 add in trunk/JavaScriptCore

2008-12-01 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich, with help from Gavin Barraclough.


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

Refactored regular expression parsing to parse sequences of characters
as a single unit, in preparation for optimizing sequences of characters.


SunSpider reports no change.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • wrec/Escapes.h: Added. Set of classes for representing an escaped token in a pattern.
  • wrec/Quantifier.h: (JSC::WREC::Quantifier::Quantifier): Simplified this constructor slightly, to match the new Escape constructor.
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generatePatternCharacterSequence):
  • wrec/WRECGenerator.h: Added an interface for generating a sequence of pattern characters at a time. It doesn't do anything special yet.
  • wrec/WRECParser.cpp: (JSC::WREC::Parser::consumeGreedyQuantifier): (JSC::WREC::Parser::consumeQuantifier): Renamed "parse" to "consume" in these functions, to match "consumeEscape."

(JSC::WREC::Parser::parsePatternCharacterSequence): New function for
iteratively aggregating a sequence of characters in a pattern.

(JSC::WREC::Parser::parseCharacterClassQuantifier):
(JSC::WREC::Parser::parseBackreferenceQuantifier): Renamed "parse" to
"consume" in these functions, to match "consumeEscape."

(JSC::WREC::Parser::parseCharacterClass): Refactored to use the common
escape processing code in consumeEscape.

(JSC::WREC::Parser::parseEscape): Refactored to use the common
escape processing code in consumeEscape.

(JSC::WREC::Parser::consumeEscape): Factored escaped token processing
into a common function, since we were doing this in a few places.

(JSC::WREC::Parser::parseTerm): Refactored to use the common
escape processing code in consumeEscape.

  • wrec/WRECParser.h: (JSC::WREC::Parser::consumeOctal): Refactored to use a helper function for reading a digit.
7:04 PM Changeset in webkit [38890] by Nikolas Zimmermann
  • 11 edits in trunk/WebCore

Reviewed by George Staikos.

Add two new helper functions to WMLElement, parseValueSubstitutingVariableReferences/parseValueForbiddingVariableReferences.

Convert all elements to parse their attribute values using these new helper functions. This simplifies the
actual attribute parsing code in all WMLElement derived classes, as most WML attribute values either report
an error if there's a variable reference used in the attribute value, or if it's invalid.

Split the WMLErrorInvalidVariableReference error which covered both 'invalid syntax' / 'wrong location'
in two seperated error codes: WMLErrorInvalidVariableReference / WMLErrorInvalidVariableReferenceLocation.

6:59 PM Changeset in webkit [38889] by Nikolas Zimmermann
  • 1 edit in trunk/WebCore/ChangeLog

Not reviewed, add reviewers full name.

6:49 PM Changeset in webkit [38888] by Nikolas Zimmermann
  • 3 edits in trunk/WebCore

Reviewed by George.
Fix switching active cards within a document. No way to test, until <go> support is implemented.

5:57 PM Changeset in webkit [38887] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-12-01 Cameron Zwarich <zwarich@apple.com>

Reviewed by Oliver Hunt.

Bug 20340: SegmentedVector segment allocations can lead to unsafe use of temporary registers
<https://bugs.webkit.org/show_bug.cgi?id=20340>

SegmentedVector currently frees segments and reallocates them when used
as a stack. This can lead to unsafe use of pointers into freed segments.

In order to fix this problem, SegmentedVector will be changed to only
grow and never shrink. Also, rename the reserveCapacity() member
function to grow() to match the actual usage in BytecodeGenerator, where
this function is used to allocate a group of registers at once, rather
than merely saving space for them.

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): Use grow() instead of reserveCapacity().
  • bytecompiler/SegmentedVector.h: (JSC::SegmentedVector::SegmentedVector): (JSC::SegmentedVector::last): (JSC::SegmentedVector::append): (JSC::SegmentedVector::removeLast): (JSC::SegmentedVector::grow): Renamed from reserveCapacity(). (JSC::SegmentedVector::clear):
5:31 PM Changeset in webkit [38886] by pol@apple.com
  • 11 edits in trunk/LayoutTests

2008-12-01 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Mark Rowe.

Updated the reference images for the <video> layout tests as the ones checked-in previously
do not pass on the pixel bots.

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

  • platform/mac/media/video-aspect-ratio-expected.checksum:
  • platform/mac/media/video-aspect-ratio-expected.png:
  • platform/mac/media/video-controls-rendering-expected.checksum:
  • platform/mac/media/video-controls-rendering-expected.png:
  • platform/mac/media/video-display-toggle-expected.checksum:
  • platform/mac/media/video-display-toggle-expected.png:
  • platform/mac/media/video-layer-crash-expected.checksum:
  • platform/mac/media/video-layer-crash-expected.png:
  • platform/mac/media/video-transformed-expected.checksum:
  • platform/mac/media/video-transformed-expected.png:
5:07 PM Changeset in webkit [38885] by ddkilzer@apple.com
  • 2 edits in trunk/WebCore

Fix logic error in LegacyWebArchive::create() from r38884.

  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create): Only continue if the subresource is actually added.
4:53 PM Changeset in webkit [38884] by ddkilzer@apple.com
  • 7 edits
    5 adds in trunk

Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive of webkit.org

<https://bugs.webkit.org/show_bug.cgi?id=22466>
<rdar://problem/6403593>

Reviewed by Brady Eidson.

WebCore:

Test: http/tests/webarchive/test-preload-resources.html

  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create): Check the WebCore cache for resources if DocumentLoader::subresource() doesn't return them. Note that the DocumentLoader::subresource() method returned preloaded resources before r35867, but this caused a regression in Mail.

WebKitTools:

  • DumpRenderTree/mac/DumpRenderTree.mm: (normalizeHTTPResponseHeaderFields): Added. Normalizes Date, Etag, Keep-Alive, Last-Modified and Server header fields to prevent false positive test failures. (convertWebResourceResponseToDictionary): Call normalizeHTTPResponseHeaderFields() to noramlize HTTP response header fields.

LayoutTests:

  • http/tests/webarchive/resources/test-preload-resources.css: Added.
  • http/tests/webarchive/test-preload-resources-expected.webarchive: Added.
  • http/tests/webarchive/test-preload-resources.html: Added.
  • platform/qt/Skipped: Added http/tests/webarchive and grouped the skipped list of other webarchive tests together.
  • platform/win/Skipped: Added http/tests/webarchive.
4:51 PM Changeset in webkit [38883] by andersca@apple.com
  • 6 edits in trunk/WebKit/mac

2008-12-01 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Move instantiatePlugin to NetscapePluginHostManager.


  • Plugins/Hosted/NetscapePluginHostManager.h:
  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin):
  • Plugins/Hosted/NetscapePluginHostProxy.h:
  • Plugins/Hosted/NetscapePluginHostProxy.mm:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView createPlugin]):
4:36 PM Changeset in webkit [38882] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

2008-12-01 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Pass the plug-in host port directly to the instance proxy.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::instantiatePlugin):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::create):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): (WebKit::NetscapePluginInstanceProxy::resize): (WebKit::NetscapePluginInstanceProxy::destroy): (WebKit::NetscapePluginInstanceProxy::focusChanged): (WebKit::NetscapePluginInstanceProxy::windowFocusChanged): (WebKit::NetscapePluginInstanceProxy::windowFrameChanged): (WebKit::NetscapePluginInstanceProxy::startTimers): (WebKit::NetscapePluginInstanceProxy::mouseEvent): (WebKit::NetscapePluginInstanceProxy::stopTimers):
4:10 PM Changeset in webkit [38881] by jchaffraix@webkit.org
  • 17 edits in trunk/WebCore

2008-12-01 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 22564: Make HTML elements' constructors take a QualifiedName
https://bugs.webkit.org/show_bug.cgi?id=22564

  • Modified the remaining HTML elements' constructors to take a QualifiedName.
  • Added an assertion that the QualifiedName given corresponds to the element constructed.
  • bindings/js/JSAudioConstructor.cpp: (WebCore::constructAudio):
  • html/HTMLAudioElement.cpp: (WebCore::HTMLAudioElement::HTMLAudioElement):
  • html/HTMLAudioElement.h:
  • html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::HTMLBRElement):
  • html/HTMLBRElement.h:
  • html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerText):
  • html/HTMLElementFactory.cpp: (WebCore::brConstructor): (WebCore::quoteConstructor): (WebCore::marqueeConstructor): (WebCore::audioConstructor): (WebCore::videoConstructor): (WebCore::sourceConstructor):
  • html/HTMLMarqueeElement.cpp: (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
  • html/HTMLMarqueeElement.h:
  • html/HTMLQuoteElement.cpp: (WebCore::HTMLQuoteElement::HTMLQuoteElement):
  • html/HTMLQuoteElement.h:
  • html/HTMLSourceElement.cpp: (WebCore::HTMLSourceElement::HTMLSourceElement):
  • html/HTMLSourceElement.h:
  • html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::HTMLVideoElement):
  • html/HTMLVideoElement.h:
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::updateFromElement):
3:58 PM Changeset in webkit [38880] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-01 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22464
Add a test for a potential crash when performing a same-origin
check on a subframe reloaded with about:blank.

  • fast/js/same-origin-subframe-about-blank-expected.txt: Added.
  • fast/js/same-origin-subframe-about-blank.html: Added.
3:37 PM Changeset in webkit [38879] by pol@apple.com
  • 17 edits in trunk/LayoutTests

2008-12-01 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Dan Bernstein.

Fixed <video> layout tests so that DRT is notified they are done only when the video frames
are effectively rendered in the page. This requires using a timeout since there is no <video>
event that fires when the first frame has been drawn (the closest even fires when the element
is ready to render and will eventually draw at some unknown point in the future).
Thanks to this change, these tests now pass in --pixel mode as well.

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

  • media/video-aspect-ratio.html:
  • media/video-controls-rendering.html:
  • media/video-display-toggle.html:
  • media/video-layer-crash.html:
  • media/video-paint-test.js: (init):
  • media/video-transformed.html:
  • platform/mac/media/video-aspect-ratio-expected.checksum:
  • platform/mac/media/video-aspect-ratio-expected.png:
  • platform/mac/media/video-controls-rendering-expected.checksum:
  • platform/mac/media/video-controls-rendering-expected.png:
  • platform/mac/media/video-display-toggle-expected.checksum:
  • platform/mac/media/video-display-toggle-expected.png:
  • platform/mac/media/video-layer-crash-expected.checksum:
  • platform/mac/media/video-layer-crash-expected.png:
  • platform/mac/media/video-transformed-expected.checksum:
  • platform/mac/media/video-transformed-expected.png:
3:07 PM Changeset in webkit [38878] by jchaffraix@webkit.org
  • 32 edits in trunk/WebCore

2008-12-01 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Antti Koivisto.

Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
https://bugs.webkit.org/show_bug.cgi?id=22441

Add an assertion to the modified HTML elements' constructor
to check that the QualifiedName parameter is the one that
matches the Element's.

  • html/HTMLBaseElement.cpp: (WebCore::HTMLBaseElement::HTMLBaseElement):
  • html/HTMLBlockquoteElement.cpp: (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::HTMLBodyElement):
  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::HTMLButtonElement):
  • html/HTMLDListElement.cpp: (WebCore::HTMLDListElement::HTMLDListElement):
  • html/HTMLDirectoryElement.cpp: (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
  • html/HTMLDivElement.cpp: (WebCore::HTMLDivElement::HTMLDivElement):
  • html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement):
  • html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::HTMLFrameElement):
  • html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
  • html/HTMLHeadElement.cpp: (WebCore::HTMLHeadElement::HTMLHeadElement):
  • html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::HTMLHtmlElement):
  • html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::HTMLIFrameElement):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::HTMLInputElement):
  • html/HTMLIsIndexElement.cpp: (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
  • html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::HTMLKeygenElement):
  • html/HTMLLIElement.cpp: (WebCore::HTMLLIElement::HTMLLIElement):
  • html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::HTMLLabelElement):
  • html/HTMLLegendElement.cpp: (WebCore::HTMLLegendElement::HTMLLegendElement):
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::HTMLLinkElement):
  • html/HTMLMenuElement.cpp: (WebCore::HTMLMenuElement::HTMLMenuElement):
  • html/HTMLMetaElement.cpp: (WebCore::HTMLMetaElement::HTMLMetaElement):
  • html/HTMLOListElement.cpp: (WebCore::HTMLOListElement::HTMLOListElement):
  • html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::HTMLOptionElement):
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::HTMLSelectElement):
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::HTMLStyleElement):
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
  • html/HTMLTitleElement.cpp: (WebCore::HTMLTitleElement::HTMLTitleElement):
  • html/HTMLUListElement.cpp: (WebCore::HTMLUListElement::HTMLUListElement):
2:50 PM Changeset in webkit [38877] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Disable WREC for x86_64 since memory allocated by the system allocator is not marked executable,
which causes 64-bit debug builds to crash. Once we have a dedicated allocator for executable
memory we can turn this back on.

Rubber-stamped by Anders Carlsson.

  • wtf/Platform.h:
2:50 PM Changeset in webkit [38876] by cmarrin@apple.com
  • 4 edits in trunk/WebCore

2008-12-01 Chris Marrin <cmarrin@apple.com>

Reviewed by Darin Adler.

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

Fixed another case of crashing because the animation object is getting deleted when
it's in the middle of a callback. I actually moved where I am retaining the pointer
up out of the lower level AnimationBase code and into the timer callback that calls
them. So now the pointer is valid throughout the entire sequence of callback code.

The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a
crash which this patch fixes.

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::updateStateMachine): (WebCore::AnimationBase::animationTimerCallbackFired):
  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::setAnimationStartTime): (WebCore::CompositeAnimationPrivate::setTransitionStartTime): (WebCore::CompositeAnimationPrivate::styleAvailable):
  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::sendTransitionEvent):
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::sendAnimationEvent): (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
2:23 PM Changeset in webkit [38875] by Antti Koivisto
  • 2 edits in trunk/JavaScriptCore

2008-12-01 Antti Koivisto <Antti Koivisto>

Reviewed by Maciej Stachowiak.


Restore inline buffer after vector is shrunk back below its inline capacity.

  • wtf/Vector.h: (WTF::): (WTF::VectorBuffer::restoreInlineBufferIfNeeded): (WTF::::shrinkCapacity):
2:18 PM Changeset in webkit [38874] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-01 Anders Carlsson <andersca@apple.com>

Try to fix the Tiger build.

  • Plugins/WebNetscapePluginView.mm:
2:09 PM Changeset in webkit [38873] by eric@webkit.org
  • 2 edits in trunk/WebKit/win

Reviewed by Adam Roben.

NULL-check documentFrameView() and topDocumentFrameView() it's possible
for either of these methods to return NULL, and this was seen to cause
crashes in Chromium.
https://bugs.webkit.org/show_bug.cgi?id=22572

  • AccessibleBase.cpp: (AccessibleBase::get_accParent): (AccessibleBase::accLocation): (AccessibleBase::accHitTest):
2:00 PM Changeset in webkit [38872] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

2008-12-01 Anders Carlsson <andersca@apple.com>

Rename _layer to _pluginLayer where I forgot to do so.


  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView destroyPlugin]):
  • Plugins/WebNetscapePluginView.h:
  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView createPlugin]): (-[WebNetscapePluginView setLayer:]): (-[WebNetscapePluginView destroyPlugin]):
1:56 PM Changeset in webkit [38871] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

1:48 PM Changeset in webkit [38870] by mrowe@apple.com
  • 1 copy in tags/Safari-6528.5

New tag.

1:45 PM Changeset in webkit [38869] by andersca@apple.com
  • 1 edit in trunk/WebKit/mac/ChangeLog

Fix ChangeLog

1:44 PM Changeset in webkit [38868] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

2008-12-01 Anders Carlsson <andersca@apple.com>

Reviewed by Adam Roben.

Make sure to re-insert layers as needed so they won't be lost when the layer backed
view is removed from the view hierarchy.

  • Plugins/Hosted/WebHostedNetscapePluginView.h: Add _layer ivar.


  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView createPlugin]): Don't add the layer here.


(-[WebHostedNetscapePluginView setLayer:]):
Instead, add it here.


(-[WebHostedNetscapePluginView destroyPlugin]):
Set _layer to 0.


  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView createPlugin]): Don't add the layer here.


(-[WebNetscapePluginView setLayer:]):
Do it here.

1:23 PM Changeset in webkit [38867] by pam@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

2008-12-01 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22463
Add a test for accessing navigator.cookieEnabled after navigation.

  • fast/dom/navigator-cookieEnabled-no-crash-expected.txt: Added.
  • fast/dom/navigator-cookieEnabled-no-crash.html: Added.
  • fast/dom/resources/test-successful-destination.html: Added.
1:14 PM Changeset in webkit [38866] by Antti Koivisto
  • 2 edits in trunk/JavaScriptCore

2008-11-30 Antti Koivisto <Antti Koivisto>

Reviewed by Mark Rowe.


Try to return free pages in the current thread cache too.

  • wtf/FastMalloc.cpp: (WTF::TCMallocStats::releaseFastMallocFreeMemory):
12:59 PM Changeset in webkit [38865] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-01 Pamela Greene <pam@chromium.org>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=22365
Add a test to verify behavior of DOM node constructors.

  • fast/dom/dom-constructors-expected.txt: Added.
  • fast/dom/dom-constructors.html: Added.
12:52 PM Changeset in webkit [38864] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitTools

Bug 22559: Report builds left to test in bisect-builds (like git-bisect)

<https://bugs.webkit.org/show_bug.cgi?id=22559>

Reviewed by Adam Roben.

  • Scripts/bisect-builds: Updated status message to report the maximum number of builds left to test after the current one. (max): Added.
12:48 PM Changeset in webkit [38863] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-01 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22358
Add a test for crash on "Copy" after showing a tooltip.

  • editing/pasteboard/copy-crash-expected.txt: Added.
  • editing/pasteboard/copy-crash.html: Added.
12:03 PM Changeset in webkit [38862] by ap@webkit.org
  • 1 edit
    1 move in trunk/LayoutTests

Rubber-stamped by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=22531
Stack overflow on PowerPC on fast/workers/use-machine-stack.html

Disabling the test until the problem can be investigated.

  • fast/workers/use-machine-stack.html: Removed.
  • fast/workers/use-machine-stack.html-disabled: Copied from fast/workers/use-machine-stack.html.
9:25 AM Changeset in webkit [38861] by christian@webkit.org
  • 6 edits in trunk/WebKit/gtk

2008-12-01 Xan Lopez <xan@gnome.org>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=22553
Remove unneeded GObject casts.

Remove unneeded casts to GObject in functions that take a gpointer
argument.

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::setWindowRect): (WebKit::ChromeClient::createWindow): (WebKit::ChromeClient::setToolbarsVisible): (WebKit::ChromeClient::toolbarsVisible): (WebKit::ChromeClient::setStatusbarVisible): (WebKit::ChromeClient::statusbarVisible): (WebKit::ChromeClient::setScrollbarsVisible): (WebKit::ChromeClient::scrollbarsVisible): (WebKit::ChromeClient::setMenubarVisible): (WebKit::ChromeClient::menubarVisible): (WebKit::ChromeClient::setToolTip):
  • WebCoreSupport/InspectorClientGtk.cpp: (WebKit::InspectorClient::createPage):
  • webkit/webkitwebframe.cpp:
  • webkit/webkitwebview.cpp:
  • webkit/webkitwebwindowfeatures.cpp: (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_new_from_core_features):
6:24 AM Changeset in webkit [38860] by ap@webkit.org
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Make it clearer in ChangeLog entry that the last change only affected debug builds.

6:19 AM Changeset in webkit [38859] by ap@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-12-01 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22567
Make HashTable work as expected with respect to threads. Specifically, it has class-level
thread safety and constant methods work on constant objects without synchronization.


No observable change in behavior, so no test.

  • wtf/HashTable.cpp: (WTF::hashTableStatsMutex): (WTF::HashTableStats::~HashTableStats): (WTF::HashTableStats::recordCollisionAtCount): Guarded variable access with a mutex.
  • wtf/HashTable.h: (WTF::::lookup): (WTF::::lookupForWriting): (WTF::::fullLookupForWriting): (WTF::::add): (WTF::::reinsert): (WTF::::remove): (WTF::::rehash): Changed increments of static variables to use atomicIncrement.

(WTF::::invalidateIterators):
(WTF::addIterator):
(WTF::removeIterator):
Guarded mutable access with a mutex.

1:25 AM Changeset in webkit [38858] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-12-01 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

[Qt/Mac] Initialize NPAPI plugins before getting their entry points

The old behavior (calling NP_GetEntryPoints before NP_Initialize) was
copied from Windows, but caused Silverlight on Mac to crash when loaded.

Apparently the call order of NP_Initialize and NP_GetEntryPoints is
reversed on Mac. See https://bugzilla.mozilla.org/show_bug.cgi?id=344425

Reported-by: Peter Johnson <peter@zattoo.com>

1:18 AM Changeset in webkit [38857] by barraclough@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-11-29 Gavin Barraclough <barraclough@apple.com>

Reviewed by Camron Zwarich.

Enable WREC on PLATFORM(X86_64). This change predominantly requires changes to the
WREC::Generator::generateEnter method to support the x86-64 ABI, and addition of
support for a limited number of quadword operations in the X86Assembler.

This patch will cause the JS heap to be allocated with RWX permissions on 64-bit Mac
platforms. This is a regression with respect to previous 64-bit behaviour, but is no
more permissive than on 32-bit builds. This issue should be addressed at some point.
(This is tracked by bug #21783.)

https://bugs.webkit.org/show_bug.cgi?id=22554
Greater than 4x speedup on regexp-dna, on x86-64.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::addPtr): (JSC::MacroAssembler::loadPtr): (JSC::MacroAssembler::storePtr): (JSC::MacroAssembler::pop): (JSC::MacroAssembler::push): (JSC::MacroAssembler::move):
  • assembler/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::movq_rr): (JSC::X86Assembler::addl_i8m): (JSC::X86Assembler::addl_i32r): (JSC::X86Assembler::addq_i8r): (JSC::X86Assembler::addq_i32r): (JSC::X86Assembler::movq_mr): (JSC::X86Assembler::movq_rm):
  • wrec/WREC.h:
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter): (JSC::WREC::Generator::generateReturnSuccess): (JSC::WREC::Generator::generateReturnFailure):
  • wtf/Platform.h:
  • wtf/TCSystemAlloc.cpp:
1:07 AM Changeset in webkit [38856] by cwzwarich@webkit.org
  • 4 edits in trunk/JavaScriptCore

2008-12-01 Cameron Zwarich <zwarich@apple.com>

Reviewed by Sam Weinig.

Preliminary work for bug 20340: SegmentedVector segment allocations can lead to unsafe use of temporary registers
<https://bugs.webkit.org/show_bug.cgi?id=20340>

SegmentedVector currently frees segments and reallocates them when used
as a stack. This can lead to unsafe use of pointers into freed segments.

In order to fix this problem, SegmentedVector will be changed to only
grow and never shrink, with the sole exception of clearing all of its
data, a capability that is required by Lexer. This patch changes the
public interface to only allow for these capabilities.

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): Use reserveCapacity() instead of resize() for m_globals and m_parameters.
  • bytecompiler/SegmentedVector.h: (JSC::SegmentedVector::resize): Removed. (JSC::SegmentedVector::reserveCapacity): Added. (JSC::SegmentedVector::clear): Added. (JSC::SegmentedVector::shrink): Removed. (JSC::SegmentedVector::grow): Removed.
  • parser/Lexer.cpp: (JSC::Lexer::clear): Use clear() instead of resize(0).

Nov 30, 2008:

9:35 PM Changeset in webkit [38855] by Chris Fleizach
  • 2 edits in trunk/WebCore

Bug 22510: Crash at WebCore::AccessibilityRenderObject::activeDescendant() on Google Reader with ARIA
https://bugs.webkit.org/show_bug.cgi?id=22510

2:28 PM Changeset in webkit [38854] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-30 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Renames jumps to m_jumps in JumpList.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::JumpList::link): (JSC::MacroAssembler::JumpList::linkTo): (JSC::MacroAssembler::JumpList::append):
2:19 PM Changeset in webkit [38853] by Antti Koivisto
  • 5 edits in trunk

JavaScriptCore:

2008-11-30 Antti Koivisto <Antti Koivisto>

Reviewed by Mark Rowe.


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


Report free size in central and thread caches too.

  • wtf/FastMalloc.cpp: (WTF::TCMallocStats::fastMallocStatistics):
  • wtf/FastMalloc.h:

WebKit/mac:

2008-11-30 Antti Koivisto <Antti Koivisto>

Reviewed by Mark Rowe.


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


Report free size in central and thread caches too.

  • Misc/WebCoreStatistics.mm: (+[WebCoreStatistics memoryStatistics]):
12:09 PM Changeset in webkit [38852] by Antti Koivisto
  • 2 edits in trunk/WebKit/win

2008-11-30 Antti Koivisto <Antti Koivisto>

Another Windows build fix.

  • WebCoreStatistics.cpp: (WebCoreStatistics::javaScriptObjectsCount):
12:07 PM Changeset in webkit [38851] by Antti Koivisto
  • 2 edits in trunk/WebKit/win

2008-11-30 Antti Koivisto <Antti Koivisto>

Windows build fix.

  • WebJavaScriptCollector.cpp: (WebJavaScriptCollector::objectCount):
12:31 AM Changeset in webkit [38850] by ap@webkit.org
  • 7 edits in trunk/WebCore

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=22530
Assertion failures seen on buildbot due to uninitialized WorkerThread::m_threadID

  • dom/WorkerThread.cpp: (WebCore::WorkerThread::start): Protect worker startup with a mutex to ensure that this function runs to completion before the thread begins execution. (WebCore::WorkerThread::workerThread): Updated comments. (WebCore::WorkerThread::stop): Ditto.
  • dom/WorkerThread.h: Renamed m_workerContextMutex to m_threadCreationMutex, because it now protects startup as a whole.
  • storage/DatabaseThread.cpp:
  • storage/DatabaseThread.h:
  • storage/LocalStorageThread.cpp:
  • storage/LocalStorageThread.h: Fixed the same m_threadID problem.

Nov 29, 2008:

11:09 PM Changeset in webkit [38849] by Antti Koivisto
  • 6 edits in trunk

JavaScriptCore:

2008-11-29 Antti Koivisto <Antti Koivisto>

Reviewed by Dan Bernstein.


https://bugs.webkit.org/show_bug.cgi?id=22557
Add statistics for JavaScript GC heap.

  • JavaScriptCore.exp:
  • runtime/Collector.cpp: (JSC::Heap::objectCount): (JSC::addToStatistics): (JSC::Heap::statistics):
  • runtime/Collector.h:

WebKit/mac:

2008-11-29 Antti Koivisto <Antti Koivisto>

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=22557
Add statistics for JavaScript GC heap.

  • Misc/WebCoreStatistics.mm: (+[WebCoreStatistics javaScriptObjectsCount]): (+[WebCoreStatistics memoryStatistics]):
4:39 PM Changeset in webkit [38848] by Antti Koivisto
  • 2 edits in trunk/JavaScriptCore

2008-11-29 Antti Koivisto <Antti Koivisto>

Fix debug build by adding a stub method.

  • wtf/FastMalloc.cpp: (WTF::fastMallocStatistics):
3:44 PM Changeset in webkit [38847] by pewtermoose@webkit.org
  • 5 edits in trunk

WebCore:

2008-11-29 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Alexey Proskuryakov.

Remove Visual Studio project dependencies on non-redistributable
components in the Debug_Cairo and Release_Cairo build targets.
See https://bugs.webkit.org/show_bug.cgi?id=22527

  • WebCore.vcproj/WebCore.vcproj:

WebKit/win:

2008-11-29 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Alexey Proskuryakov.

Remove Visual Studio project dependencies on non-redistributable
components in the Debug_Cairo and Release_Cairo build targets.
See https://bugs.webkit.org/show_bug.cgi?id=22527

  • WebKit.vcproj/WebKit.vcproj:
  • WebKit.vcproj/WebKit.sln: Instruct Cairo builds to not bother building the unused QuickTime support library.
2:35 PM Changeset in webkit [38846] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-11-29 Sam Weinig <sam@webkit.org>

Rubber-stamped by Alexey Proskuryakov.

Fix some sorting

  • WebCore.xcodeproj/project.pbxproj:
2:33 PM Changeset in webkit [38845] by weinig@apple.com
  • 8 edits
    2 adds in trunk

WebCore:

2008-11-28 Sam Weinig <sam@webkit.org>

Reviewed by Alexey Proskuryakov.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21063
NULL pointer crash in dispatchEvent(null);

Test: fast/events/dispatchEvent-crash.html

  • dom/MessagePort.cpp: (WebCore::MessagePort::dispatchEvent):
  • dom/Worker.cpp: (WebCore::Worker::dispatchEvent):
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::dispatchEvent):
  • loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::dispatchEvent):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dispatchEvent):
  • xml/XMLHttpRequestUpload.cpp: (WebCore::XMLHttpRequestUpload::dispatchEvent):

LayoutTests:

2008-11-28 Sam Weinig <sam@webkit.org>

Reviewed by Alexey Proskuryakov.

Test for https://bugs.webkit.org/show_bug.cgi?id=21063
NULL pointer crash in dispatchEvent(null);

  • fast/events/dispatchEvent-crash-expected.txt: Added.
  • fast/events/dispatchEvent-crash.html: Added.
2:10 PM Changeset in webkit [38844] by Antti Koivisto
  • 8 edits in trunk

JavaScriptCore:

2008-11-29 Antti Koivisto <Antti Koivisto>

Reviewed by Alexey Proskuryakov.


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


Add function for getting basic statistics from FastMalloc.

  • JavaScriptCore.exp:
  • wtf/FastMalloc.cpp: (WTF::DLL_Length): (WTF::TCMalloc_PageHeap::ReturnedBytes): (WTF::TCMallocStats::fastMallocStatistics):
  • wtf/FastMalloc.h:

WebKit/mac:

2008-11-29 Antti Koivisto <Antti Koivisto>

Reviewed by Alexey Proskuryakov.


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


  • Add purgeable memory statistics to cache statistics.
  • Add method for getting fastMalloc statistics.
  • Add method to force returning free memory back to system.
  • Misc/WebCache.mm: (+[WebCache statistics]):
  • Misc/WebCoreStatistics.h:
  • Misc/WebCoreStatistics.mm: (+[WebCoreStatistics stopIgnoringWebCoreNodeLeaks]): (+[WebCoreStatistics memoryStatistics]): (+[WebCoreStatistics returnFreeMemoryToSystem]):
1:40 PM Changeset in webkit [38843] by mitz@apple.com
  • 6 edits
    2 adds in trunk

WebCore:

Reviewed by Alexey Proskuryakov.

Test: http/tests/misc/font-face-in-multiple-segmented-faces.html

The crash happened because style recalculation was invoked by
CSSFontSelector after one CSSSegmentedFontFace had pruned its tables but
before another CSSSegmentedFontFace using the same CSSFontFace had done
so. The fix is to let all CSSSegmentedFontFaces using the CSSFontFace
prune their tables before telling the CSSFontSelector to recalc style.

  • css/CSSFontFace.cpp: (WebCore::CSSFontFace::fontLoaded):
  • css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::fontLoaded):
  • css/CSSFontSelector.h:
  • css/CSSSegmentedFontFace.cpp: (WebCore::CSSSegmentedFontFace::fontLoaded):

LayoutTests:

Reviewed by Alexey Proskuryakov.

  • http/tests/misc/font-face-in-multiple-segmented-faces-expected.txt: Added.
  • http/tests/misc/font-face-in-multiple-segmented-faces.html: Added.
10:29 AM Changeset in webkit [38842] by ap@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=14968
document.open() erroneously returns void instead of the new Document

Test: fast/dom/HTMLDocument/document-open-return-value.html

  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open): Return the document on which this method was invoked, per HTML5.
4:14 AM Changeset in webkit [38841] by christian@webkit.org
  • 3 edits in trunk/WebKit/gtk

2008-11-29 Christian Dywan <christian@twotoasts.de>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=17122
[GTK] Bad font default settings

Implement a property "enforce-96-dpi" in WebKitWebSettings
that can be enabled to force the view to assume 96 DPI.

  • webkit/webkitwebsettings.cpp: (_WebKitWebSettingsPrivate::): (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): (_WebKitWebSettingsPrivate::webkit_web_settings_set_property): (_WebKitWebSettingsPrivate::webkit_web_settings_get_property):
  • webkit/webkitwebview.cpp:
4:07 AM Changeset in webkit [38840] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-11-29 Cameron Zwarich <zwarich@apple.com>

Not reviewed.

The C++ standard does not automatically grant the friendships of an
enclosing class to its nested subclasses, so we should do so explicitly.
This fixes the GCC 4.0 build, although both GCC 4.2 and Visual C++ 2005
accept the incorrect code as it is.

  • assembler/MacroAssembler.h:
3:10 AM Changeset in webkit [38839] by barraclough@apple.com
  • 15 edits
    1 add in trunk/JavaScriptCore

2008-11-29 Gavin Barraclough <barraclough@apple.com>

Reviewed by Camron Zwarich.

Add the class MacroAssembler to provide some abstraction of code generation,
and change WREC to make use of this class, rather than directly accessing
the X86Assembler.

This patch also allows WREC to be compiled without the rest of the JIT enabled.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/MacroAssembler.h: Added. (JSC::MacroAssembler::): (JSC::MacroAssembler::MacroAssembler): (JSC::MacroAssembler::copyCode): (JSC::MacroAssembler::Address::Address): (JSC::MacroAssembler::ImplicitAddress::ImplicitAddress): (JSC::MacroAssembler::BaseIndex::BaseIndex): (JSC::MacroAssembler::Label::Label): (JSC::MacroAssembler::Jump::Jump): (JSC::MacroAssembler::Jump::link): (JSC::MacroAssembler::Jump::linkTo): (JSC::MacroAssembler::JumpList::link): (JSC::MacroAssembler::JumpList::linkTo): (JSC::MacroAssembler::JumpList::append): (JSC::MacroAssembler::Imm32::Imm32): (JSC::MacroAssembler::add32): (JSC::MacroAssembler::or32): (JSC::MacroAssembler::sub32): (JSC::MacroAssembler::loadPtr): (JSC::MacroAssembler::load32): (JSC::MacroAssembler::load16): (JSC::MacroAssembler::storePtr): (JSC::MacroAssembler::store32): (JSC::MacroAssembler::pop): (JSC::MacroAssembler::push): (JSC::MacroAssembler::peek): (JSC::MacroAssembler::poke): (JSC::MacroAssembler::move): (JSC::MacroAssembler::compareImm32ForBranch): (JSC::MacroAssembler::compareImm32ForBranchEquality): (JSC::MacroAssembler::jae32): (JSC::MacroAssembler::je32): (JSC::MacroAssembler::je16): (JSC::MacroAssembler::jg32): (JSC::MacroAssembler::jge32): (JSC::MacroAssembler::jl32): (JSC::MacroAssembler::jle32): (JSC::MacroAssembler::jne32): (JSC::MacroAssembler::jump): (JSC::MacroAssembler::breakpoint): (JSC::MacroAssembler::ret):
  • assembler/X86Assembler.h: (JSC::X86Assembler::cmpw_rm):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::Interpreter):
  • interpreter/Interpreter.h: (JSC::Interpreter::assemblerBuffer):
  • runtime/RegExp.cpp: (JSC::RegExp::RegExp):
  • wrec/WREC.cpp: (JSC::WREC::Generator::compileRegExp):
  • wrec/WREC.h:
  • wrec/WRECFunctors.cpp: (JSC::WREC::GeneratePatternCharacterFunctor::generateAtom): (JSC::WREC::GenerateCharacterClassFunctor::generateAtom): (JSC::WREC::GenerateBackreferenceFunctor::generateAtom): (JSC::WREC::GenerateParenthesesNonGreedyFunctor::generateAtom):
  • wrec/WRECFunctors.h: (JSC::WREC::GenerateParenthesesNonGreedyFunctor::GenerateParenthesesNonGreedyFunctor):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter): (JSC::WREC::Generator::generateReturnSuccess): (JSC::WREC::Generator::generateSaveIndex): (JSC::WREC::Generator::generateIncrementIndex): (JSC::WREC::Generator::generateLoadCharacter): (JSC::WREC::Generator::generateJumpIfEndOfInput): (JSC::WREC::Generator::generateJumpIfNotEndOfInput): (JSC::WREC::Generator::generateReturnFailure): (JSC::WREC::Generator::generateBacktrack1): (JSC::WREC::Generator::generateBacktrackBackreference): (JSC::WREC::Generator::generateBackreferenceQuantifier): (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClassInvertedRange): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateCharacterClass): (JSC::WREC::Generator::generateParentheses): (JSC::WREC::Generator::generateParenthesesNonGreedy): (JSC::WREC::Generator::generateParenthesesResetTrampoline): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary): (JSC::WREC::Generator::generateBackreference): (JSC::WREC::Generator::terminateAlternative): (JSC::WREC::Generator::terminateDisjunction):
  • wrec/WRECGenerator.h: (JSC::WREC::Generator::Generator):
  • wrec/WRECParser.cpp: (JSC::WREC::Parser::parsePatternCharacterQualifier): (JSC::WREC::Parser::parseCharacterClassQuantifier): (JSC::WREC::Parser::parseBackreferenceQuantifier): (JSC::WREC::Parser::parseParentheses): (JSC::WREC::Parser::parseCharacterClass): (JSC::WREC::Parser::parseOctalEscape): (JSC::WREC::Parser::parseEscape): (JSC::WREC::Parser::parseTerm): (JSC::WREC::Parser::parseDisjunction):
  • wrec/WRECParser.h: (JSC::WREC::Parser::Parser): (JSC::WREC::Parser::parsePattern): (JSC::WREC::Parser::parseAlternative):
  • wtf/Platform.h:

Nov 28, 2008:

8:00 PM Changeset in webkit [38838] by Nikolas Zimmermann
  • 14 edits
    2 adds in trunk

Reviewed by Cameron Zwarich.

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

Add <timer> element support. It provides a way to execute a task with a delay.
The user is notified by firing the task associated with the <card>'s ontimer attribute.
Only one timer element is allowed per <card> (fix wrong error message in reportWMLError)

6:52 PM Changeset in webkit [38837] by Nikolas Zimmermann
  • 21 edits
    2 adds in trunk

Reviewed by Holger Freyther.

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

Add <do> element support. It provides a way to bind a task element to a <template>/<card> element.
Changes numerous of layout tests which contain <do> elements, as they render as buttons now.

5:23 PM Changeset in webkit [38836] by zecke@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-11-28 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Nikolas Zimmermann.

Simplify the code. There is no reason to have code like
if (true) return false; which is using temporary variables.

  • webkit/webkitwebview.cpp:
5:23 PM Changeset in webkit [38835] by zecke@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-11-28 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Nikolas Zimmermann.

Remove bogus null checks. The WebKitWebView own's a WebCore::Page
which is owning a WebCore::ChromeClient. There is no way that a
WebCore::ChromeClient is still around when the WebKitWebView is gone.

m_webView can only be null when a ChromeClient gets constructed with
a null WebKitWebView which is not allowed.

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::ChromeClient): (WebKit::ChromeClient::windowRect): (WebKit::ChromeClient::setWindowRect): (WebKit::ChromeClient::pageRect): (WebKit::ChromeClient::focus): (WebKit::ChromeClient::unfocus): (WebKit::ChromeClient::show): (WebKit::ChromeClient::setToolbarsVisible): (WebKit::ChromeClient::toolbarsVisible): (WebKit::ChromeClient::setStatusbarVisible): (WebKit::ChromeClient::statusbarVisible): (WebKit::ChromeClient::setScrollbarsVisible): (WebKit::ChromeClient::setMenubarVisible): (WebKit::ChromeClient::menubarVisible): (WebKit::ChromeClient::canTakeFocus): (WebKit::ChromeClient::repaint): (WebKit::ChromeClient::scroll): (WebKit::ChromeClient::platformWindow):
4:20 PM Changeset in webkit [38834] by zecke@webkit.org
  • 13 edits
    2 adds in trunk

2008-11-28 Gustavo Noronha Silva <Gustavo Noronha Silva>

Reviewed and slightly modified by Holger Freyther.

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

ChromeClient::createWindow and friends need to be implemented

Code from Gustavo Noronha and Marco Barisione
<marco.barisione@collabora.co.uk> in this change set.

Implemented all the ChromeClient interfaces needed to have new
window creation functioning and exposed to client code. We
implemented a mirror GObject to the WindowFeatures object provided
by WebCore.

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::windowRect): (WebKit::ChromeClient::setWindowRect): (WebKit::ChromeClient::unfocus): (WebKit::ChromeClient::createWindow): (WebKit::ChromeClient::show): (WebKit::ChromeClient::setToolbarsVisible): (WebKit::ChromeClient::toolbarsVisible): (WebKit::ChromeClient::setStatusbarVisible): (WebKit::ChromeClient::statusbarVisible): (WebKit::ChromeClient::setScrollbarsVisible): (WebKit::ChromeClient::scrollbarsVisible): (WebKit::ChromeClient::setMenubarVisible): (WebKit::ChromeClient::menubarVisible): (WebKit::ChromeClient::setResizable):
  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction): (WebKit::FrameLoaderClient::dispatchShow): (WebKit::FrameLoaderClient::dispatchCreatePage):
  • webkit/webkit.h:
  • webkit/webkitdefines.h:
  • webkit/webkitprivate.h:
  • webkit/webkitwebview.cpp:
  • webkit/webkitwebview.h:
  • webkit/webkitwebwindowfeatures.cpp: Added. (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_class_init): (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_init): (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_finalize): (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_set_property): (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_get_property): (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_new): (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_new_from_core_features): (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_equal):
  • webkit/webkitwebwindowfeatures.h: Added.
1:36 PM Changeset in webkit [38833] by Nikolas Zimmermann
  • 6 edits in trunk/WebCore

Reviewed by Sam Weinig.

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

Add onenterforward/onenterbackward/ontimer support for <card> elements.

No testing possible at the moment because WMLGoElement is not yet implemented.
After that we can add tests covering the <card> event handling.

10:14 AM Changeset in webkit [38832] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-11-27 Laszlo Gombos <Laszlo Gombos>

Reviewed by Tor Arne Vestbø.

Regression seen on QtWebKit - causes a build failure on Win using MinGW

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

7:19 AM Changeset in webkit [38831] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-11-28 Simon Hausmann <Simon Hausmann>

Reviewed by Tor Arne Vestbø.

Fix compilation on Windows CE

Port away from the use of errno after calling strtol(), instead
detect conversion errors by checking the result and the stop
position.

7:19 AM Changeset in webkit [38830] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-11-28 Joerg Bornemann <joerg.bornemann@trolltech.com>

Reviewed by Simon Hausmann.

Implement lowResUTCTime() on Windows CE using GetSystemTime as _ftime() is not available.

7:18 AM Changeset in webkit [38829] by Simon Hausmann
  • 3 edits in trunk/WebCore

2008-11-28 Simon Hausmann <Simon Hausmann>

Reviewed by Tor Arne Vestbø.

Fix compilation and linking on Windows CE.

Use WIN_OS instead of WIN and therefore exclude determineModuleVersionFromDescription()
from the Windows'ish build.

Link against the newly required mmtimer.

7:18 AM Changeset in webkit [38828] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-11-28 Simon Hausmann <Simon Hausmann>

Rubber-stamped by Tor Arne Vestbø.

Removed unnecessary inclusion of errno.h, which also fixes compilation on Windows CE.

2:23 AM Changeset in webkit [38827] by ap@webkit.org
  • 3 edits in trunk/WebCore

2008-11-28 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

http://bugs.webkit.org/show_bug.cgi?id=22524

Made static initializations in XMLHttpRequest.cpp thread-safe in preparation for usage
of XMLHttpRequest by Workers (on threads).

No observable change in behavior, so no test.

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData): (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod): (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders): (WebCore::PreflightResultCacheItem::allowsRequest): (WebCore::createXMLHttpRequestStaticData): (WebCore::initializeXMLHttpRequestStaticData): (WebCore::XMLHttpRequest::XMLHttpRequest): (WebCore::XMLHttpRequest::isSafeRequestHeader): (WebCore::XMLHttpRequest::isOnAccessControlResponseHeaderWhitelist):
  • xml/XMLHttpRequest.h:

Nov 27, 2008:

9:03 PM Changeset in webkit [38826] by cwzwarich@webkit.org
  • 4 edits in trunk

2008-11-27 Cameron Zwarich <zwarich@apple.com>

Not reviewed.

r38825 made JSFunction::m_body private, but some inspector code in
WebCore sets the field. Add setters for it, and update the inspector
code to use the new getters and setters.

JavaScriptCore:

  • runtime/JSFunction.h: (JSC::JSFunction::setBody):

WebCore:

  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
6:24 PM Changeset in webkit [38825] by weinig@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-11-27 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Fix FIXME by adding accessor for JSFunction's m_body property.

  • interpreter/Interpreter.cpp: (JSC::Interpreter::cti_op_call_JSFunction): (JSC::Interpreter::cti_vm_dontLazyLinkCall): (JSC::Interpreter::cti_vm_lazyLinkCall):
  • profiler/Profiler.cpp: (JSC::createCallIdentifierFromFunctionImp):
  • runtime/Arguments.h: (JSC::Arguments::getArgumentsData): (JSC::Arguments::Arguments):
  • runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString):
  • runtime/JSFunction.h: (JSC::JSFunction::JSFunction): (JSC::JSFunction::body):
5:43 PM Changeset in webkit [38824] by jchaffraix@webkit.org
  • 2 edits in trunk/WebKitSite

2008-11-27 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 22468: Coding style: config.h should only be included in implementation files, not in header
https://bugs.webkit.org/show_bug.cgi?id=22468

Clarified the rules about config.h inclusion and added 2 new examples to illustrate it. Also
added an explanation about the implementation files.

  • coding/coding-style.html:
5:26 PM Changeset in webkit [38823] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-27 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Remove unused member variables from ProgramNode.

  • parser/Nodes.h:
3:30 PM Changeset in webkit [38822] by dsmith@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-11-26 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Alexey Proskuryakov.

Enable mouse panning feaure on Windows Cairo build.
See http://bugs.webkit.org/show_bug.cgi?id=22525

  • wtf/Platform.h: Enable mouse panning feaure on Windows Cairo build.
10:03 AM Changeset in webkit [38821] by ap@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=22529
Crashes seen on buildbots due to trying to stop a worker thread twice

  • dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed): Don't try to stop the thread if it's already stopping.
8:13 AM Changeset in webkit [38820] by Simon Hausmann
  • 4 edits in trunk

WebCore:

2008-11-27 Kent Hansen <khansen@trolltech.com>

Reviewed by Simon Hausmann.

Make JavaScript bindings for Qt plugin widgets work again
this was a regression; need to handle non-NPAPI plugins as in 4.4.

WebKit:

2008-11-27 Kent Hansen <khansen@trolltech.com>

Reviewed by Simon Hausmann.

Added auto tests for making JavaScript bindings for Qt plugin widgets
work again.

5:07 AM Changeset in webkit [38819] by alp@webkit.org
  • 5 edits in trunk

2008-11-27 Alp Toker <alp@nuanti.com>

Change recently introduced C++ comments in Platform.h to C comments to
fix the minidom build with traditional C.

Build GtkLauncher and minidom with the '-ansi' compiler flag to detect
API header breakage at build time.

4:21 AM Changeset in webkit [38818] by ddkilzer@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fixed ChangeLog dates.

4:14 AM Changeset in webkit [38817] by alp@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-11-27 Alp Toker <alp@nuanti.com>

Remove C++ comment from JavaScriptCore API headers (introduced r35449).
Fixes build for ANSI C applications using the public API.

  • API/WebKitAvailability.h:

Nov 26, 2008:

9:07 PM Changeset in webkit [38816] by Nikolas Zimmermann
  • 29 edits
    2 adds in trunk

Reviewed by George Staikos.

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

Catch WML errors (invalid variable name/reference, multiple access elements, etc)
while parsing the document, and stop parsing immediately and wrap the document
fragment in a XHTML error document, just like it's done from XML parsing errors.

Until now all card elements were hidden by default (no renderer created), and
WMLDocument::finishedParsing() took care of showing the right card (either the first,
or any named card in the document, specified by document URL reference). Change this
behaviour to support displaying partially parsed WML document fragments: Mark the first
WMLCardElement inserted into the document as visible. If the document parsing finishes
without problems, WMLDocument::finishedParsing() will be called, which takes care of
showing the desired card (common case: first card in the document, which is already
visible, so nothing actually has to be done). If an error occours, the document is
correctly rendered until the error happened - wrapped in a XHTML document.

Fixes: fast/wml/err-event-binding-conflict.wml

fast/wml/err-invalid-variable-name.wml
fast/wml/err-multi-access.wml
fast/wml/err-unallowed-task-in-anchor.wml

9:04 PM Changeset in webkit [38815] by Nikolas Zimmermann
  • 2 edits in trunk/LayoutTests

Not reviewed. Forgot to include this layout test update in the last commit.

7:47 PM Changeset in webkit [38814] by mrowe@apple.com
  • 2 edits in trunk/WebKit/mac

Fix the Tiger build.

mig.h does not always define MigTypeCheck on Tiger, which leads to problems when the generated
code is built with -Wundef.

  • Plugins/Hosted/WebKitPluginHostTypes.h:
7:23 PM Changeset in webkit [38813] by mrowe@apple.com
  • 2 edits in trunk/WebKit

Build fix. Fix up the references to files under WebKit/mac/Plugins/Hosted.

7:14 PM Changeset in webkit [38812] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-11-26 Anders Carlsson <andersca@apple.com>

Fix build.


  • Configurations/Base.xcconfig:
7:14 PM Changeset in webkit [38811] by andersca@apple.com
  • 1 edit
    2 moves in trunk/WebKit/mac

2008-11-26 Anders Carlsson <andersca@apple.com>

Reviewed by Mark Rowe.

Move WebHostedNetscapePluginView.{h|mm} to Plugins/Hosted.


(-[WebHostedNetscapePluginView handleMouseMoved:]):
(-[WebHostedNetscapePluginView setAttributeKeys:andValues:]):
Fix a leak.


(-[WebHostedNetscapePluginView createPlugin]):
Instantiate the plug-in, store the plug-in proxy in the _proxy ivar.


(-[WebHostedNetscapePluginView loadStream]):
(-[WebHostedNetscapePluginView shouldStop]):
Add stubs for these.


(-[WebHostedNetscapePluginView updateAndSetWindow]):
(-[WebHostedNetscapePluginView windowFocusChanged:]):
(-[WebHostedNetscapePluginView destroyPlugin]):
(-[WebHostedNetscapePluginView startTimers]):
(-[WebHostedNetscapePluginView stopTimers]):
(-[WebHostedNetscapePluginView focusChanged]):
(-[WebHostedNetscapePluginView windowFrameDidChange:]):
(-[WebHostedNetscapePluginView mouseDown:]):
(-[WebHostedNetscapePluginView mouseUp:]):
(-[WebHostedNetscapePluginView mouseDragged:]):
(-[WebHostedNetscapePluginView mouseEntered:]):
(-[WebHostedNetscapePluginView mouseExited:]):
Call the proxy.


(-[WebHostedNetscapePluginView addWindowObservers]):
(-[WebHostedNetscapePluginView removeWindowObservers]):
Add/remove observers for when the window frame changes.


  • Plugins/WebHostedNetscapePluginView.h: Removed.
  • Plugins/WebHostedNetscapePluginView.mm: Removed.
7:00 PM Changeset in webkit [38810] by andersca@apple.com
  • 2 edits in trunk/WebKit

2008-11-26 Anders Carlsson <andersca@apple.com>

Reviewed by Mark Rowe.

Add plug-in host related files to the Xcode project.


  • WebKit.xcodeproj/project.pbxproj:
6:48 PM Changeset in webkit [38809] by andersca@apple.com
  • 1 edit
    4 adds in trunk/WebKit/mac

2008-11-26 Anders Carlsson <andersca@apple.com>

Reviewed by Mark Rowe.

Add the plug-in host proxy and plug-in instance proxy objects.

These are just simple objects that forward their calls to the plug-in host.


  • Plugins/Hosted/NetscapePluginHostProxy.h: Added. (WebKit::NetscapePluginHostProxy::create): (WebKit::NetscapePluginHostProxy::port):
  • Plugins/Hosted/NetscapePluginHostProxy.mm: Added. (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): (WebKit::NetscapePluginHostProxy::instantiatePlugin):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h: Added. (WebKit::NetscapePluginInstanceProxy::create): (WebKit::NetscapePluginInstanceProxy::renderContextID): (WebKit::NetscapePluginInstanceProxy::useSoftwareRenderer):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: Added. (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): (WebKit::NetscapePluginInstanceProxy::resize): (WebKit::NetscapePluginInstanceProxy::destroy): (WebKit::NetscapePluginInstanceProxy::focusChanged): (WebKit::NetscapePluginInstanceProxy::windowFocusChanged): (WebKit::NetscapePluginInstanceProxy::windowFrameChanged): (WebKit::NetscapePluginInstanceProxy::startTimers): (WebKit::NetscapePluginInstanceProxy::mouseEvent): (WebKit::NetscapePluginInstanceProxy::stopTimers):
6:32 PM Changeset in webkit [38808] by andersca@apple.com
  • 1 edit
    2 adds in trunk/WebKit/mac

2008-11-26 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein, Mark Rowe and Kevin Decker.

Add the plug-in host manager singleton.


  • Plugins/Hosted/NetscapePluginHostManager.h: Added.
  • Plugins/Hosted/NetscapePluginHostManager.mm: Added.


(WebKit::NetscapePluginHostManager::hostForPackage):
If there's an existing host proxy available, just return it. Otherwise spawn a new plug-in host and
create a new plug-in host proxy from the new plug-in host port.


(WebKit::NetscapePluginHostManager::spawnPluginHost):
Pass the plug-in host path and the preferred CPU type to the plug-in agent. When the plug-in host has
finished launching, pass it the path to the plug-in bundle.


(WebKit::NetscapePluginHostManager::initializeVendorPort):
Check in with the plug-in agent and get the new plug-in vendor port back.

6:26 PM Changeset in webkit [38807] by Nikolas Zimmermann
  • 10 edits in trunk/LayoutTests

Rubber stamped by Mark Rowe.
Fix nine failing tests on the build bot. Update mac-tiger results.

5:45 PM Changeset in webkit [38806] by darin@chromium.org
  • 3 edits
    2 adds in trunk

2008-11-10 Glenn Wilson <gwilson@chromium.org>

Reviewed by Dan Bernstein.

Fixed bug http://bugs.webkit.org/show_bug.cgi?id=21953

This fixes the crash when the small-caps font variant is used
on a lower-case glyph that does not have a corresponding
upper-case glyph defined in the set of available fonts.

This changes Font.cpp to check if the font being used exists before trying to apply the small-caps variant.


Test: fast/css/small-caps-crash.html

  • platform/graphics/Font.cpp: (WebCore::Font::glyphDataForCharacter):
5:31 PM Changeset in webkit [38805] by darin@chromium.org
  • 8 edits in trunk/WebCore

2008-10-31 Tony Chang <tony@chromium.org>

Reviewed by Oliver Hunt.

Add a new platform specific method cleanupAfterSystemDrag
that platforms can ue to clean up drag state after a
system drag. Use this method on PLAFORM(MAC).
https://bugs.webkit.org/show_bug.cgi?id=21956

  • ChangeLog:
  • page/DragController.cpp: (WebCore::DragController::doSystemDrag):
  • page/DragController.h:
  • page/gtk/DragControllerGtk.cpp: (WebCore::DragController::cleanupAfterSystemDrag):
  • page/mac/DragControllerMac.mm: (WebCore::DragController::cleanupAfterSystemDrag):
  • page/qt/DragControllerQt.cpp: (WebCore::DragController::cleanupAfterSystemDrag):
  • page/win/DragControllerWin.cpp: (WebCore::DragController::cleanupAfterSystemDrag):
  • page/wx/DragControllerWx.cpp:

(WebCore::DragController::cleanupAfterSystemDrag):

5:25 PM Changeset in webkit [38804] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-11-26 Anders Carlsson <andersca@apple.com>

Reviewed by Mark Rowe.

  • Plugins/Hosted/WebKitPluginHostTypes.h: Add copyright headers and fix the spacing around the *'s.
5:23 PM Changeset in webkit [38803] by andersca@apple.com
  • 2 edits
    1 add in trunk/WebKit/mac

2008-11-26 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.


  • Plugins/Hosted/WebKitPluginHost.defs: Add copyright headers.


  • Plugins/Hosted/WebKitPluginHostTypes.h: Added. Forgot to add this.
5:20 PM Changeset in webkit [38802] by andersca@apple.com
  • 1 edit
    5 adds in trunk/WebKit/mac

2008-11-26 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Add plug-in host .defs.

  • Plugins/Hosted/WebKitPluginAgent.defs: Added.
  • Plugins/Hosted/WebKitPluginAgentReply.defs: Added.
  • Plugins/Hosted/WebKitPluginClient.defs: Added.
  • Plugins/Hosted/WebKitPluginHost.defs: Added.
  • Plugins/Hosted/WebKitPluginHostTypes.defs: Added.
5:18 PM Changeset in webkit [38801] by mitz@apple.com
  • 1 add in trunk/WebKit/mac/Plugins/Hosted

Added a folder for hosted plug-ins

5:07 PM Changeset in webkit [38800] by eric@webkit.org
  • 6 edits in trunk/WebKitTools

Reviewed by Nikolas Zimmermann and Mark Rowe.

Add support for build-webkit --chromium
https://bugs.webkit.org/show_bug.cgi?id=22515
More cleanups changing isCygwin calls to isAppleWinWebKit and deploying isAppleWebKit where necessary.

  • Scripts/build-dumprendertree:
  • Scripts/build-jsc:
  • Scripts/build-webkit:
  • Scripts/gdb-safari:
  • Scripts/run-webkit-tests:
  • Scripts/webkitdirs.pm:
5:07 PM Changeset in webkit [38799] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

Reviewed by Nikolas Zimmermann.

Add support for build-webkit --chromium (tested on mac)
https://bugs.webkit.org/show_bug.cgi?id=22515
Also simplified some code using checkArgv

  • Scripts/build-webkit:
  • Scripts/webkitdirs.pm:
5:06 PM Changeset in webkit [38798] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

Reviewed by Nikolas Zimmermann.

More pre-work for adding a build-webkit --chromium which works on Mac and Windows
https://bugs.webkit.org/show_bug.cgi?id=22515
Change a few calls to isCygwin to isAppleWinWebKit and a few calls to isAppleMacWebKit to isDarwin
in preparation for having a chromium cygwin and chromium mac build

  • Scripts/build-webkit:
  • Scripts/webkitdirs.pm:
5:06 PM Changeset in webkit [38797] by eric@webkit.org
  • 8 edits in trunk/WebKitTools

Reviewed by Nikolas Zimmermann.

Pre-work for getting build-webkit --chromium to work
https://bugs.webkit.org/show_bug.cgi?id=22515
Rename isOSX to isAppleMacWebKit to match what the code does, and add isChromium()

  • Scripts/build-dumprendertree:
  • Scripts/build-jsc:
  • Scripts/build-webkit:
  • Scripts/gdb-safari:
  • Scripts/run-javascriptcore-tests:
  • Scripts/run-webkit-tests:
  • Scripts/webkitdirs.pm:
5:06 PM Changeset in webkit [38796] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

No review, build fix only.

Fix the JSC Chromium Mac build by adding JavaScriptCore/icu into the include path

4:50 PM Changeset in webkit [38795] by andersca@apple.com
  • 6 edits in trunk/WebKit/mac

2008-11-26 Anders Carlsson <andersca@apple.com>

Reviewed by Mark Rowe and Kevin Decker.

Minor plug-in changes.


  • Plugins/WebBaseNetscapePluginView.h: Add add/remove observer method declarations.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView isFlipped]): Move this down from WebNetscapePluginView.


  • Plugins/WebNetscapePluginPackage.h:
  • Plugins/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage pluginHostArchitecture]): Getter for the plug-in host architecture.


  • Plugins/WebNetscapePluginView.mm:
4:44 PM Changeset in webkit [38794] by Nikolas Zimmermann
  • 590 edits in trunk

Reviewed by Oliver Hunt.

Fix path to string logic, correctly taking closed (sub-)paths into account.
Code was just broken on cg, observed by Dirk Schulze.

QPainterPath doesn't seem to expose any functionality to detect closed sub paths,
using the elementAt() function. There might be a workaround - Dirk will investigate.

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

2008-11-26 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=22519
Remove unnecessary include.

  • dom/XMLTokenizer.cpp:
3:40 PM Changeset in webkit [38792] by Nikolas Zimmermann
  • 3 edits
    2 adds in trunk/WebCore

Reviewed by Oliver Hunt.
Add <noop> element support, completing the task element support.

3:07 PM Changeset in webkit [38791] by jchaffraix@webkit.org
  • 60 edits in trunk/WebCore

2008-11-26 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
https://bugs.webkit.org/show_bug.cgi?id=22441

Make more HTML elements' constructors take a QualifiedName.

  • editing/DeleteButtonController.cpp: (WebCore::DeleteButtonController::createDeletionUI):
  • html/HTMLBlockquoteElement.cpp: (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
  • html/HTMLBlockquoteElement.h:
  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::HTMLButtonElement):
  • html/HTMLButtonElement.h:
  • html/HTMLDListElement.cpp: (WebCore::HTMLDListElement::HTMLDListElement):
  • html/HTMLDListElement.h:
  • html/HTMLDirectoryElement.cpp: (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
  • html/HTMLDirectoryElement.h:
  • html/HTMLDivElement.cpp: (WebCore::HTMLDivElement::HTMLDivElement):
  • html/HTMLDivElement.h:
  • html/HTMLElementFactory.cpp: (WebCore::styleConstructor): (WebCore::titleConstructor): (WebCore::frameConstructor): (WebCore::framesetConstructor): (WebCore::iframeConstructor): (WebCore::formConstructor): (WebCore::buttonConstructor): (WebCore::inputConstructor): (WebCore::isindexConstructor): (WebCore::fieldsetConstructor): (WebCore::keygenConstructor): (WebCore::labelConstructor): (WebCore::legendConstructor): (WebCore::optgroupConstructor): (WebCore::optionConstructor): (WebCore::selectConstructor): (WebCore::textareaConstructor): (WebCore::dlConstructor): (WebCore::ulConstructor): (WebCore::olConstructor): (WebCore::dirConstructor): (WebCore::menuConstructor): (WebCore::liConstructor): (WebCore::blockquoteConstructor): (WebCore::divConstructor): (WebCore::headingConstructor):
  • html/HTMLFieldSetElement.cpp:
  • html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
  • html/HTMLFieldSetElement.h:
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement):
  • html/HTMLFormElement.h:
  • html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::HTMLFrameElement):
  • html/HTMLFrameElement.h:
  • html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
  • html/HTMLFrameSetElement.h:
  • html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::HTMLIFrameElement):
  • html/HTMLIFrameElement.h:
  • html/HTMLInputElement.cpp:
  • html/HTMLInputElement.h:
  • html/HTMLIsIndexElement.cpp: (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
  • html/HTMLIsIndexElement.h:
  • html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::HTMLKeygenElement):
  • html/HTMLKeygenElement.h:
  • html/HTMLLIElement.cpp: (WebCore::HTMLLIElement::HTMLLIElement):
  • html/HTMLLIElement.h:
  • html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::HTMLLabelElement):
  • html/HTMLLabelElement.h:
  • html/HTMLLegendElement.cpp: (WebCore::HTMLLegendElement::HTMLLegendElement):
  • html/HTMLLegendElement.h:
  • html/HTMLMenuElement.cpp: (WebCore::HTMLMenuElement::HTMLMenuElement):
  • html/HTMLMenuElement.h:
  • html/HTMLOListElement.cpp: (WebCore::HTMLOListElement::HTMLOListElement):
  • html/HTMLOListElement.h:
  • html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::HTMLOptionElement):
  • html/HTMLOptionElement.h:
  • html/HTMLParser.cpp: (WebCore::HTMLParser::formCreateErrorCheck): (WebCore::HTMLParser::handleIsindex):
  • html/HTMLSelectElement.cpp:
  • html/HTMLSelectElement.h:
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::HTMLStyleElement):
  • html/HTMLStyleElement.h:
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
  • html/HTMLTextAreaElement.h:
  • html/HTMLTitleElement.cpp: (WebCore::HTMLTitleElement::HTMLTitleElement):
  • html/HTMLTitleElement.h:
  • html/HTMLUListElement.cpp: (WebCore::HTMLUListElement::HTMLUListElement):
  • html/HTMLUListElement.h:
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createContainingTable):
  • rendering/MediaControlElements.cpp: (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): (WebCore::MediaControlInputElement::MediaControlInputElement):
  • rendering/RenderFileUploadControl.cpp: (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::createPanel): (WebCore::RenderMedia::createTimeDisplay):
  • rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement):
  • rendering/TextControlInnerElements.cpp: (WebCore::TextControlInnerElement::TextControlInnerElement):
2:23 PM Changeset in webkit [38790] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig.
Fix obvious problem in WMLPageState constructor, m_page was not set to the passed Page pointer.

1:48 PM Changeset in webkit [38789] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-11-26 Matt Perry <mpcomplete@gmail.com>

Fix Qt bustage.

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

  • platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::extraDefaultStyleSheet):
1:07 PM Changeset in webkit [38788] by darin@chromium.org
  • 9 edits
    2 adds in trunk/WebCore

2008-11-26 Matt Perry <mpcomplete@gmail.com>

Reviewed by Maciej Stachowiak.

Fix https://bugs.webkit.org/show_bug.cgi?id=22051
Renderthemes should be able to supply additional CSS rules to the core
ones.

  • DerivedSources.make:
  • css/CSSStyleSelector.cpp: (WebCore::parseUASheet): (WebCore::loadFullDefaultStyle): (WebCore::loadSimpleDefaultStyle):
  • css/themeWin.css: Added.
  • css/themeWinQuirks.css: Added.
  • platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::extraDefaultStyleSheet):
  • platform/qt/RenderThemeQt.h:
  • rendering/RenderTheme.cpp:
  • rendering/RenderTheme.h: (WebCore::RenderTheme::extraDefaultStyleSheet): (WebCore::RenderTheme::extraQuirksStyleSheet):
  • rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::extraDefaultStyleSheet): (WebCore::RenderThemeWin::extraQuirksStyleSheet):
  • rendering/RenderThemeWin.h:
1:02 PM Google Summer of Code 2008 edited by ddkilzer@apple.com
(diff)
1:01 PM WikiStart edited by ddkilzer@apple.com
(diff)
11:44 AM Changeset in webkit [38787] by ddkilzer@apple.com
  • 2 edits in trunk/WebCore

Make CSSStyleSheet::addSubresourceURLStrings() iterative

Part of the fix for Bug 11850: Webarchive fails to save images referenced in CSS
<https://bugs.webkit.org/show_bug.cgi?id=11850>

Reviewed by Brady Eidson.

  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::addSubresourceURLStrings): Switch algorithm from recursive to iterative for gathering the list of all CSS stylesheets referenced in @import statements.
11:38 AM Changeset in webkit [38786] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitTools

Bug 22488: Make DRT smarter about charset encoding when post-processing webarchive content

<https://bugs.webkit.org/show_bug.cgi?id=22488>

Reviewed by Brady Eidson.

  • DumpRenderTree/mac/DumpRenderTree.mm: (convertWebResourceDataToString): If an IANA charset encoding string is provided, convert it to a CFStringEncoding value and then to an NSStringEncoding value, else fall back to NSUTF8StringEncoding. We also nil-check dataAsString, so the worst-case scenario is that the data won't be decoded to a string (versus crashing DumpRenderTree).
7:07 AM Changeset in webkit [38785] by krit@webkit.org
  • 3 edits in trunk/WebCore

2008-11-26 Dirk Schulze <krit@webkit.org>

Reviewed by Simon Hausmann.

Transformations to the context shouldn't transform the currentPath.
Fixed this on Qt.

[QT] GraphicsContext's currenPath can be transformed
https://bugs.webkit.org/show_bug.cgi?id=22163

  • platform/graphics/GraphicsContextPrivate.h:
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::restorePlatformState): (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::translate): (WebCore::GraphicsContext::rotate): (WebCore::GraphicsContext::scale): (WebCore::GraphicsContext::concatCTM):
3:31 AM Changeset in webkit [38784] by jmalonzo@webkit.org
  • 2 edits in trunk/LayoutTests

2008-11-26 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Holger Freyther.

[Gtk] add/remove tests from Skipped and fix netscape plugin test
https://bugs.webkit.org/show_bug.cgi?id=22484

Add tests that needs confirmation of new results. Also, remove
some tests that are already passing.

  • platform/gtk/Skipped:
3:31 AM Changeset in webkit [38783] by jmalonzo@webkit.org
  • 2 edits in trunk/WebKitTools

2008-11-26 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Holger Freyther.

[Gtk] add/remove tests from Skipped and fix netscape plugin test
https://bugs.webkit.org/show_bug.cgi?id=22484

Remove print'ing to stderr

  • DumpRenderTree/gtk/TestNetscapePlugin/TestNetscapePlugin.cpp: (NP_Initialize): (NP_Shutdown):
3:31 AM Changeset in webkit [38782] by jmalonzo@webkit.org
  • 2 edits in trunk

2008-11-26 Kalle Vahlman <kalle.vahlman@movial.com>

Reviewed by Darin Adler. Landed by Jan Alonzo.

Bison versions under 2.2 produce crashing CSSGrammar code for ARM
https://bugs.webkit.org/show_bug.cgi?id=22456

Check for bison version 2.2 or greater on ARM. Earlier versions produce
code that crashes on ARM devices.

  • configure.ac:
3:31 AM Changeset in webkit [38781] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-11-26 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk build script minor fixes. Not reviewed.

  • GNUmakefile.am:
    • Add ScriptInstance.h (introduced in r38774) to

the build.

  • Move WML and GEOLOCATION conditionals before the SVG

conditional to be consistent with the style of the script.

  • Move GeolocationGtk sources to webcoregtk_sources.
1:10 AM Changeset in webkit [38780] by ap@webkit.org
  • 8 edits
    2 adds in trunk/WebCore

2008-11-26 Dmitry Titov <dimich@chromium.org>

Reviewed by Darin Adler and Eric Seidel.

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

Move the class DOMWindowTimer from JSDOMWindowBase into its own file in
preparation to making it work for Workers. For now, just move the code and couple
of global variables.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::installTimeout): (WebCore::JSDOMWindowBase::pauseTimeouts): (WebCore::JSDOMWindowBase::resumeTimeouts): (WebCore::JSDOMWindowBase::timerFired):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/DOMTimer.cpp: Added. (WebCore::DOMTimer::DOMTimer): (WebCore::DOMTimer::~DOMTimer): (WebCore::DOMTimer::fired):
  • bindings/js/DOMTimer.h: Added. (WebCore::DOMTimer::timeoutId): (WebCore::DOMTimer::nestingLevel): (WebCore::DOMTimer::setNestingLevel): (WebCore::DOMTimer::action): (WebCore::DOMTimer::takeAction):
12:13 AM Changeset in webkit [38779] by ap@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

Reviewed by Geoff Garen.

Add a test for infinite recursion in workers
https://bugs.webkit.org/show_bug.cgi?id=22486

  • fast/workers/resources/use-machine-stack.js: Added.
  • fast/workers/use-machine-stack-expected.txt: Added.
  • fast/workers/use-machine-stack.html: Added.

Nov 25, 2008:

9:47 PM BuildingCairoOnWindows edited by bfulgham@macports.org
(diff)
9:24 PM Changeset in webkit [38778] by mitz@apple.com
  • 2 edits in trunk/WebKit/mac

Reviewed by Mark Rowe.

  • include the text direction submenu in context menus when appropriate
  • WebView/WebPreferences.mm: (+[WebPreferences initialize]): Changed the default textDirectionSubmenuInclusionBehavior to "automatically", which includes the menu when the selection is confined to a single paragraph the either has right-to-left base writing direction or contains right-to-left or embedded text. Left the default for Tiger and Leopard to be "never".
6:19 PM Changeset in webkit [38777] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-11-25 Darin Fisher <darin@chromium.org>

Fix bustage.

https://bugs.webkit.org/show_bug.cgi?id=22493
Need to expose bridge/*.h to the WebKit build.

  • WebCore.vcproj/WebCore.vcproj:
5:38 PM Changeset in webkit [38776] by cmarrin@apple.com
  • 3 edits
    4 adds in trunk

2008-11-25 Chris Marrin <cmarrin@apple.com>

Reviewed by Dan Bernstein.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22487
I was not checking for the case of 0 length keyframe lists and dereffing a null pointer.

Tests: animations/empty-keyframes.html

animations/fill-unset-properties.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
5:21 PM Changeset in webkit [38775] by Nikolas Zimmermann
  • 3 edits in trunk/WebCore

Not reviewed. Fix build, by removing some wrong last-minute changes.

5:19 PM Changeset in webkit [38774] by darin@chromium.org
  • 8 edits
    1 add in trunk/WebCore

2008-11-25 Darin Fisher <darin@chromium.org>

Reviewed by Geoffrey Garen.

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

Abstract away JSC
usage in WebCore/html
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginInstance):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::createScriptInstanceForWidget):
  • bindings/js/ScriptInstance.h: Added.
  • html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::~HTMLPlugInElement): (WebCore::HTMLPlugInElement::getInstance):
  • html/HTMLPlugInElement.h:
5:15 PM Changeset in webkit [38773] by Nikolas Zimmermann
  • 10 edits
    4 adds in trunk/WebCore

Reviewed by Sam Weinig.

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

A WMLTaskElement checks wheter it's parent is an <anchor>/<do>/<onevent> element, and calls registerTask(this) on the parent.
Add a isWMLTaskElement() function to WMLElement, making it possible to cast to WMLTaskElement directly.

Add WMLEventHandlingElement class, inheriting from WMLElement, to serve as common base WMLTemplate/Option/CardElement,
centralizing the eventHandler() / createEventHandlerIfNeeded() implementation. Add a isWMLEventHandlingElement()
function to WMLElement, so WMLOnEventElement can create event handlers, without knowing wheter it's a
<template>/<option> or <card> element.

Add complete <onevent> support.

5:07 PM Changeset in webkit [38772] by sfalken@apple.com
  • 2 edits in trunk/WebKitTools

Windows build fix.

  • DumpRenderTree/cg/PixelDumpSupportCG.h:
5:05 PM Changeset in webkit [38771] by sfalken@apple.com
  • 2 edits in trunk/WebKitTools

Windows build fix.

  • DumpRenderTree/cg/ImageDiffCG.cpp:
4:54 PM Changeset in webkit [38770] by pol@apple.com
  • 2 edits in trunk/WebCore

2008-11-25 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Mark Rowe.

createFontCustomPlatformData() crashes if CGFontCreateWithPlatformFont() returns NULL

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

  • platform/graphics/mac/FontCustomPlatformData.cpp: (WebCore::createFontCustomPlatformData):
4:33 PM Changeset in webkit [38769] by jchaffraix@webkit.org
  • 17 edits in trunk/WebCore

2008-11-25 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
https://bugs.webkit.org/show_bug.cgi?id=22441

Element's other than HTML ones take a QualifiedName in their constructors.
To make HTMLElementFactory closer to the other ElementFactory, we need
to make them take the same arguments.
This patch only makes the 5 first one in HTMLElementFactory abide by that. The others
will go into the next patch.

  • dom/Document.cpp: (WebCore::Document::implicitClose):
  • html/HTMLBaseElement.cpp: (WebCore::HTMLBaseElement::HTMLBaseElement):
  • html/HTMLBaseElement.h:
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::HTMLBodyElement):
  • html/HTMLBodyElement.h:
  • html/HTMLElementFactory.cpp: (WebCore::htmlConstructor): (WebCore::headConstructor): (WebCore::bodyConstructor): (WebCore::baseConstructor): (WebCore::linkConstructor): (WebCore::metaConstructor):
  • html/HTMLHeadElement.cpp: (WebCore::HTMLHeadElement::HTMLHeadElement):
  • html/HTMLHeadElement.h:
  • html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::HTMLHtmlElement):
  • html/HTMLHtmlElement.h:
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::HTMLLinkElement):
  • html/HTMLLinkElement.h:
  • html/HTMLMetaElement.cpp: (WebCore::HTMLMetaElement::HTMLMetaElement):
  • html/HTMLMetaElement.h:
  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): (WebCore::HTMLParser::headCreateErrorCheck): (WebCore::HTMLParser::createHead): (WebCore::HTMLParser::finished):
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createContainingTable):
4:18 PM Changeset in webkit [38768] by Simon Fraser
  • 7 edits
    4 adds in trunk

2008-11-25 Chris Marrin <cmarrin@apple.com>

Reviewed by Darin Adler

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

Fix a crash when an animation or transition end event handler
removes the element upon which the transition/animation is running,
by keeping a reference to the AnimationBase object on the stack.

Tests: animations/transform-animation-event-destroy-element.html

transitions/transform-transition-event-destroy-element.html

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::setChanged): (WebCore::AnimationBase::updateStateMachine):
  • page/animation/AnimationBase.h: (WebCore::AnimationBase::clearRenderer):
  • page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear):
  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
  • page/animation/CompositeAnimation.h:
4:09 PM Changeset in webkit [38767] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-11-25 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak.

Remove the unused member function JSFunction::getParameterName().

  • runtime/JSFunction.cpp:
  • runtime/JSFunction.h:
3:32 PM Changeset in webkit [38766] by kevino@webkit.org
  • 3 edits in trunk/WebCore

Better wx build fix - support PurgeableBuffer on Mac.

3:17 PM Changeset in webkit [38765] by zecke@webkit.org
  • 2 edits
    2 adds in trunk/WebCore

Add GeoleocationServiceGtk stubs and integrate it into the buildsystem

Add stubs for a Gtk Implementation.

3:17 PM Changeset in webkit [38764] by zecke@webkit.org
  • 2 edits in trunk

Add Geolocation support to the configure.ac

Add an option to build WebKit/Gtk+ with Geolocation. The
implementation will be using Gypsy.

3:07 PM Changeset in webkit [38763] by barraclough@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-11-24 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Polymorpic caching for get by id chain. Similar to the polymorphic caching already implemented
for self and proto accesses (implemented by allowing multiple trampolines to be JIT genertaed,
and linked together) - the get by id chain caching is implemented as a genericization of the
proto list caching, allowing cached access lists to contain a mix of proto and proto chain
accesses (since in JS style inheritance hierarchies you may commonly see a mix of properties
being overridden on the direct prototype, or higher up its prototype chain).

In order to allow this patch to compile there is a fix to appease gcc 4.2 compiler issues
(removing the jumps between fall-through cases in privateExecute).


This patch also removes redundant immediate checking from the reptach code, and fixes a related
memory leak (failure to deallocate trampolines).

~2% progression on v8 tests (bulk on the win on deltablue)

  • bytecode/Instruction.h: (JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::): (JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set): (JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList): (JSC::PolymorphicAccessStructureList::derefStructures):
  • interpreter/Interpreter.cpp: (JSC::countPrototypeChainEntriesAndCheckForProxies): (JSC::Interpreter::tryCacheGetByID): (JSC::Interpreter::privateExecute): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_get_by_id_self_fail): (JSC::getPolymorphicAccessStructureListSlot): (JSC::Interpreter::cti_op_get_by_id_proto_list):
  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdSelfList): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChainList): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePatchGetArrayLength):
  • jit/JIT.h: (JSC::JIT::compileGetByIdChainList):
3:00 PM Changeset in webkit [38762] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix - we don't support PurgeableBuffer on Leopard for now.

2:46 PM Changeset in webkit [38761] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-11-25 Antti Koivisto <Antti Koivisto>

Reviewed by Mark Rowe.

Fix https://bugs.webkit.org/show_bug.cgi?id=22483
Assertion failure in CachedResource::makePurgeable during layout tests


Deleting SVG image can re-enter destroyDecodedData.

  • loader/CachedImage.cpp: (WebCore::CachedImage::destroyDecodedData):
1:24 PM Changeset in webkit [38760] by dino@apple.com
  • 3 edits
    1 copy in trunk/WebKitSite

2008-11-25 Dean Jackson <dino@apple.com>

Add a new work-in-progress proposal for pointer-events in
HTML content. Also note that the Media Queries extensions
are not at all official.

  • specs/MediaQueriesExtensions.html:
  • specs/PointerEventsProperty.html: Added.
  • specs/index.html:
1:00 PM Changeset in webkit [38759] by darin@chromium.org
  • 1 edit
    3 moves in trunk/LayoutTests

2008-11-25 Darin Fisher <darin@chromium.org>

Disabling these newly added tests since they fail in some configurations.

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

  • http/tests/misc/submit-get-in-utf7.html: Removed.
  • http/tests/misc/submit-get-in-utf7.html-disabled: Copied from http/tests/misc/submit-get-in-utf7.html.
  • http/tests/misc/submit-post-in-utf7.html: Removed.
  • http/tests/misc/submit-post-in-utf7.html-disabled: Copied from http/tests/misc/submit-post-in-utf7.html.
  • http/tests/misc/url-in-utf7.html: Removed.
  • http/tests/misc/url-in-utf7.html-disabled: Copied from http/tests/misc/url-in-utf7.html.
12:43 PM Changeset in webkit [38758] by zecke@webkit.org
  • 2 edits in trunk/WebKit/qt

Build fix. Use WebCore::Frame::loader instead of QWebFrame

12:02 PM Changeset in webkit [38757] by ap@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

Add bug URL to ChangeLog.

12:01 PM Changeset in webkit [38756] by ap@webkit.org
  • 7 edits in trunk/WebCore

2008-11-25 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

Made the PreflightResultCache thread-safe in preparation for usage of XMLHttpRequest by
Workers on threads.

No observable change in behavior, so no test.

  • platform/text/PlatformString.h:
  • platform/text/String.cpp: (WebCore::String::substringCopy):
  • platform/text/StringImpl.cpp: (WebCore::StringImpl::substringCopy):
  • platform/text/StringImpl.h: Added the ability to copy a substring.
  • xml/XMLHttpRequest.cpp: (WebCore::PreflightResultCacheItem::PreflightResultCacheItem): (WebCore::PreflightResultCache::PreflightResultCache): (WebCore::PreflightResultCacheItem::addToAccessControlAllowList): (WebCore::PreflightResultCacheItem::parseAccessControlAllowList): (WebCore::PreflightResultCacheItem::parseAccessControlMaxAge): (WebCore::PreflightResultCacheItem::parse): (WebCore::PreflightResultCacheItem::allowsRequest): (WebCore::PreflightResultCache::shared): (WebCore::PreflightResultCache::appendEntry): (WebCore::PreflightResultCache::canSkipPreflight): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): (WebCore::XMLHttpRequest::didReceiveResponsePreflight): Made the PreflightResultCache threadsafe.

(WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
(WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
Consolidation of duplicate logic.

11:31 AM Changeset in webkit [38755] by darin@chromium.org
  • 7 edits
    18 adds in trunk

2008-11-24 Jungshik Shin <jshin@chromium.org>

Reviewed by Darin Adler.

For Unicode encodings other than UTF-8, use UTF-8 for
form submission and URL query part encoding.

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

Tests: http/tests/misc/submit-get-in-utf16be.html

http/tests/misc/submit-get-in-utf16le.html
http/tests/misc/submit-get-in-utf32be.html
http/tests/misc/submit-get-in-utf32le.html
http/tests/misc/submit-get-in-utf7.html
http/tests/misc/submit-post-in-utf16be.html
http/tests/misc/submit-post-in-utf16le.html
http/tests/misc/submit-post-in-utf32be.html
http/tests/misc/submit-post-in-utf32le.html
http/tests/misc/submit-post-in-utf7.html
http/tests/misc/url-in-utf16be.html
http/tests/misc/url-in-utf16le.html
http/tests/misc/url-in-utf32be.html
http/tests/misc/url-in-utf32le.html
http/tests/misc/url-in-utf7.html


  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
  • loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::setEncoding):
  • platform/KURL.cpp: (WebCore::KURL::KURL):
  • platform/text/TextEncoding.cpp: (WebCore::UTF7Encoding): (WebCore::TextEncoding::isNonByteBasedEncoding): (WebCore::TextEncoding::closestByteBasedEquivalent): (WebCore::TextEncoding::encodingForFormSubmission):
  • platform/text/TextEncoding.h:
11:21 AM Changeset in webkit [38754] by jchaffraix@webkit.org
  • 2 edits in trunk/WebCore

2008-11-24 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
https://bugs.webkit.org/show_bug.cgi?id=22441

  • Make the generated ElementFactory constructors return PassRefPtr instead of raw pointers.
  • Tweaked the generated files to better match our coding style.
  • dom/make_names.pl:
10:25 AM Changeset in webkit [38753] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitSite

2008-11-25 Jack Wootten <jackwootton@gmail.com>

Bug 20125: http://webkit.org/ missing link to key documentation for new developers.

<https://bugs.webkit.org/show_bug.cgi?id=20125>

Reviewed by David Kilzer.

  • projects/documentation/index.html: Added link to "Introduction to WebKit Objective-C Programming Guide".
7:49 AM Changeset in webkit [38752] by ap@webkit.org
  • 2 adds in trunk/LayoutTests/fast/workers

Actually landing tests for bug 22455 - Add support for Worker.terminate().

2:25 AM Changeset in webkit [38751] by ap@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

Reviewed by Geoff Garen.

https://bugs.webkit.org/show_bug.cgi?id=9001
Javascript stops running before replacement page data arrives

Adding a test for a bug that is longer reproducible.

  • http/tests/misc/resources/hang-connection.php: Added.
  • http/tests/misc/timer-vs-loading-expected.txt: Added.
  • http/tests/misc/timer-vs-loading.html: Added.
2:05 AM Changeset in webkit [38750] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-11-25 Cameron Zwarich <zwarich@apple.com>

Reviewed by Alexey Proskuryakov.

Move the collect() call in Heap::heapAllocate() that is conditionally
compiled under COLLECT_ON_EVERY_ALLOCATION so that it is before we get
information about the heap. This was causing assertion failures for me
while I was reducing a bug.

  • runtime/Collector.cpp: (JSC::Heap::heapAllocate):
12:51 AM Changeset in webkit [38749] by ap@webkit.org
  • 5 edits in trunk/LayoutTests

2008-11-24 Dean McNamee <deanm@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22350
Allow layout tests to run in php cgi mode

  • http/tests/misc/refresh-headers.php:
  • http/tests/misc/resources/redirect-result.php:
  • http/tests/misc/resources/referrer-result.php:
  • http/tests/misc/xhtml.php: Stop using getallheaders(), which is only implemented by mod_php, so that the tests could run through lighttpd.
12:13 AM Changeset in webkit [38748] by Antti Koivisto
  • 3 edits
    3 adds in trunk

WebCore:

2008-11-24 Antti Koivisto <Antti Koivisto>

Reviewed by Darin Adler.


Fix for https://bugs.webkit.org/show_bug.cgi?id=22073
REGRESSION(r33544): Palace in the Sky crashes WebKit


HTMLTokenizer::m_hasScriptsWaitingForStylesheets would still be set while
there were no scripts left to execute.


If m_hasScriptsWaitingForStylesheets becomes true during script execution
bail out from executing more scripts synchronously.

Test: fast/tokenizer/nested-cached-scripts-and-stylesheet.html

  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::reset): (WebCore::HTMLTokenizer::notifyFinished):

LayoutTests:

2008-11-24 Antti Koivisto <Antti Koivisto>

Reviewed by Darin Adler.


Test for https://bugs.webkit.org/show_bug.cgi?id=22073
REGRESSION(r33544): Palace in the Sky crashes WebKit

  • fast/tokenizer/nested-cached-scripts-and-stylesheet-expected.txt: Added.
  • fast/tokenizer/nested-cached-scripts-and-stylesheet.html: Added.
  • fast/tokenizer/resources/load-stylesheet-and-document-write-script.js: Added.

Nov 24, 2008:

11:23 PM Changeset in webkit [38747] by cwzwarich@webkit.org
  • 4 edits
    3 adds in trunk

2008-11-24 Cameron Zwarich <zwarich@apple.com>

Reviewed by Geoff Garen.

Bug 13790: Function declarations are not treated as statements (used to affect starcraft2.com)
<https://bugs.webkit.org/show_bug.cgi?id=13790>

Modify the parser to treat function declarations as statements,
simplifying the grammar in the process. Technically, according to the
grammar in the ECMA spec, function declarations are not statements and
can not be used everywhere that statements can, but it is not worth the
possibility compatibility issues just to stick to the spec in this case.

JavaScriptCore:

  • parser/Grammar.y:
  • parser/Nodes.cpp: (JSC::FuncDeclNode::emitBytecode): Avoid returning ignoredResult() as a result, because it causes a crash in DoWhileNode::emitBytecode().

LayoutTests:

  • fast/js/function-declaration-statement-expected.txt: Added.
  • fast/js/function-declaration-statement.html: Added.
  • fast/js/resources/function-declaration-statement.js: Added.
10:47 PM Changeset in webkit [38746] by darin@chromium.org
  • 4 edits in trunk/WebCore

2008-11-24 Darin Fisher <darin@chromium.org>

Reviewed by Geoffrey Garen.

https://bugs.webkit.org/show_bug.cgi?id=22465
Define KURL::copy() and use it in WorkerThread.cpp

  • dom/WorkerThread.cpp: (WebCore::WorkerThread::WorkerThread):
  • platform/KURL.cpp: (WebCore::KURL::copy):
  • platform/KURL.h:
10:10 PM Changeset in webkit [38745] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-11-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Unroll the regexp matching loop by 1. 10% speedup on simple matching
stress test. No change on SunSpider.


(I decided not to unroll to arbitrary levels because the returns diminsh
quickly.)

  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateJumpIfEndOfInput): (JSC::WREC::Generator::generateJumpIfNotEndOfInput):
  • wrec/WRECGenerator.h:
  • wrec/WRECParser.h: (JSC::WREC::Parser::error): (JSC::WREC::Parser::parsePattern):
7:43 PM Changeset in webkit [38744] by Nikolas Zimmermann
  • 5 edits in trunk/WebCore

Reviewed by Sam Weinig.

Name enum values in a style guide compatible way.
Allow WMLIntrinsicEvent inclusion, without needing other includes.

7:36 PM Changeset in webkit [38743] by Nikolas Zimmermann
  • 9 edits in trunk/WebCore

Reviewed by Sam Weinig.

Add wmlPageStateForDocument() helper function and use it in some places.

7:16 PM Changeset in webkit [38742] by Antti Koivisto
  • 1 edit in trunk/WebCore/ChangeLog

Fix ChangeLog spelling plus credit weinig.

7:11 PM Changeset in webkit [38741] by Antti Koivisto
  • 15 edits
    2 adds in trunk/WebCore

2008-11-24 Antti Koivisto <Antti Koivisto>

Reviewed by Geoff Garen.

https://bugs.webkit.org/show_bug.cgi?id=22214
Keep dead resourcs in memory cache in purgeable memory.
<rdar://problem/6333088>


OS X 10.5 has purgeable memory kernel facility that allows marking reserved memory
areas as less important. Under memory pressure system can steal pages that have
been marked purgeable for (hopefully) better uses. This is ideal for caches.


Only resources larger than 16KB will be moved to the purgsable memory.

  • WebCore.base.exp:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/Cache.cpp: (WebCore::Cache::requestResource): (WebCore::Cache::requestUserCSSStyleSheet): (WebCore::Cache::resourceForURL): (WebCore::Cache::pruneDeadResources): (WebCore::Cache::TypeStatistic::addResource): (WebCore::Cache::getStatistics): (WebCore::Cache::dumpStats):
  • loader/Cache.h: (WebCore::Cache::TypeStatistic::TypeStatistic):
  • loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::allClientsRemoved): (WebCore::CachedCSSStyleSheet::sheetText):
  • loader/CachedCSSStyleSheet.h:
  • loader/CachedImage.cpp: (WebCore::CachedImage::addClient): (WebCore::CachedImage::image): (WebCore::CachedImage::imageSize): (WebCore::CachedImage::imageRect): (WebCore::CachedImage::destroyDecodedData):
  • loader/CachedResource.cpp: (WebCore::CachedResource::addClient): (WebCore::CachedResource::makePurgeable): (WebCore::CachedResource::isPurgeable): (WebCore::CachedResource::wasPurged):
  • loader/CachedResource.h: (WebCore::CachedResource::data):
  • loader/CachedScript.cpp: (WebCore::CachedScript::allClientsRemoved): (WebCore::CachedScript::script): (WebCore::CachedScript::destroyDecodedData):
  • platform/PurgeableBuffer.h: Added. (WebCore::PurgeableBuffer::create): (WebCore::PurgeableBuffer::size): (WebCore::PurgeableBuffer::): (WebCore::PurgeableBuffer::purgePriority): (WebCore::PurgeableBuffer::isPurgeable): (WebCore::PurgeableBuffer::~PurgeableBuffer): (WebCore::PurgeableBuffer::data): (WebCore::PurgeableBuffer::setPurgePriority): (WebCore::PurgeableBuffer::wasPurged): (WebCore::PurgeableBuffer::makePurgeable):
  • platform/SharedBuffer.cpp: (WebCore::SharedBuffer::~SharedBuffer): (WebCore::SharedBuffer::adoptPurgeableBuffer): (WebCore::SharedBuffer::size): (WebCore::SharedBuffer::data): (WebCore::SharedBuffer::append): (WebCore::SharedBuffer::clear): (WebCore::SharedBuffer::releasePurgeableBuffer):
  • platform/SharedBuffer.h: (WebCore::SharedBuffer::hasPurgeableBuffer):
  • platform/cf/SharedBufferCF.cpp:
  • platform/mac/PurgeableBufferMac.cpp: Added. (WebCore::PurgeableBuffer::PurgeableBuffer): (WebCore::PurgeableBuffer::~PurgeableBuffer): (WebCore::PurgeableBuffer::create): (WebCore::PurgeableBuffer::makePurgeable): (WebCore::PurgeableBuffer::wasPurged): (WebCore::PurgeableBuffer::setPurgePriority): (WebCore::PurgeableBuffer::data):
6:20 PM Changeset in webkit [38740] by darin@chromium.org
  • 2 edits in trunk/WebKit/mac

2008-11-24 Darin Fisher <darin@chromium.org>

Fix bustage.

  • History/WebHistory.mm:
5:53 PM Changeset in webkit [38739] by darin@chromium.org
  • 2 edits in trunk/WebKitTools

2008-11-24 Darin Fisher <darin@chromium.org>

Fix bustage.

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

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setSelectTrailingWhitespaceEnabled):
5:45 PM Changeset in webkit [38738] by darin@chromium.org
  • 9 edits in trunk/WebKit

2008-11-24 Darin Fisher <darin@chromium.org>

Fix bustage.

http://bugs.webkit.org/show_bug.cgi?id=15643

  • WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::isSelectTrailingWhitespaceEnabled):
  • WebCoreSupport/EditorClientQt.h:
5:33 PM Changeset in webkit [38737] by dino@apple.com
  • 2 edits
    1 add in trunk/WebKitSite

2008-11-24 Dean Jackson <dino@apple.com>

Document the work-in-progress proposed extensions to
CSS 3 Media Queries.

  • specs/MediaQueriesExtensions.html: Added.
  • specs/index.html:
4:23 PM Changeset in webkit [38736] by Nikolas Zimmermann
  • 29 edits in trunk

Reviewed by George Staikos & Eric Seidel.

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

Regenerate WML layout test results after implementing WML specific <card> handling:
Only the first <card> element should be visible after loading the document, others
can be shown by using the <go> task element.

4:18 PM Changeset in webkit [38735] by darin@chromium.org
  • 25 edits
    2 adds in trunk

2008-11-24 Glenn Wilson <gwilson@chromium.org>

Reviewed by Alexey Proskuryakov.

http://bugs.webkit.org/show_bug.cgi?id=15643

Added support for clients that wish to disable smart insert/delete
and enable the "trailing whitespace selection" work-around.

Tests: editing/selection/doubleclick-whitespace.html

  • editing/Editor.cpp: (WebCore::Editor::selectTrailingWhitespaceEnabled):
  • editing/Editor.h:
  • editing/Selection.cpp: (WebCore::Selection::includeTrailingWhitespace):
  • editing/Selection.h:
  • loader/EmptyClients.h: (WebCore::EmptyEditorClient::selectTrailingWhitespaceEnabled):
  • page/EditorClient.h:
  • page/EventHandler.cpp: (WebCore::EventHandler::selectClosestWordFromMouseEvent):
4:04 PM Changeset in webkit [38734] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

Not reviewed. Forgot to include WMLPageState.h in last commit.

4:02 PM Changeset in webkit [38733] by Nikolas Zimmermann
  • 5 edits
    2 adds in trunk/WebCore

Reviewed by Oliver Hunt & Eric Seidel.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=22431

Implement WMLAccessElement. It just propogates two attributes values to WMLPageState.

3:32 PM Changeset in webkit [38732] by Darin Adler
  • 19 edits in trunk

WebCore:

2008-11-24 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

  • loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::updateGlobalHistory): Remove argument.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::updateHistoryForStandardLoad): Don't pass the URL. (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Ditto.
  • loader/FrameLoaderClient.h: Remove argument.

WebKit/gtk:

2008-11-24 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::updateGlobalHistory): Remove argument.
  • WebCoreSupport/FrameLoaderClientGtk.h: Ditto.

WebKit/mac:

2008-11-24 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

  • WebCoreSupport/WebFrameLoaderClient.h: Remove argument.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory): Get the URL from the DocumentLoader, just as we do the title and the failure flag.

WebKit/qt:

2008-11-24 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::updateGlobalHistory): Get the URL from the DocumentLoader.
  • WebCoreSupport/FrameLoaderClientQt.h: Remove argument.

WebKit/win:

2008-11-24 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::updateGlobalHistory): Get the URL from the DocumentLoader, just as we do the title and the failure flag.
  • WebCoreSupport/WebFrameLoaderClient.h: Remove argument.

WebKit/wx:

2008-11-24 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

  • WebKitSupport/FrameLoaderClientWx.cpp: (WebCore::FrameLoaderClientWx::updateGlobalHistory): Remove argument.
  • WebKitSupport/FrameLoaderClientWx.h: Ditto.
3:28 PM Changeset in webkit [38731] by darin@chromium.org
  • 2 edits in trunk/WebKit/qt

2008-11-24 Darin Fisher <darin@chromium.org>

Fix bustage.

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

  • Api/qwebframe.cpp: (QWebFrame::evaluateJavaScript):
3:12 PM Changeset in webkit [38730] by darin@chromium.org
  • 3 edits in trunk/WebCore

2008-11-24 Finnur Thorarinsson <finnur.webkit@gmail.com>

Reviewed by Darin Adler.

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

Add plumbing for tickmark support for the scrollbars. The painting code
for the scrollbar just needed to call paintTickmarks at the right time
and a default no-op implementation is provided, which the ports will
need to override.

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint):
  • platform/ScrollbarThemeComposite.h: (WebCore::ScrollbarThemeComposite::paintTickmarks):
3:07 PM Changeset in webkit [38729] by darin@chromium.org
  • 21 edits
    1 add in trunk/WebCore

2008-11-24 Darin Fisher <darin@chromium.org>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=22448
Create an abstraction for JSC::SourceCode

  • WebCore.vcproj/WebCore.vcproj:
  • bindings/js/CachedScriptSourceProvider.h:
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptSourceCode.h: Added. (WebCore::ScriptSourceCode::ScriptSourceCode): (WebCore::ScriptSourceCode::length): (WebCore::ScriptSourceCode::jsSourceCode):
  • bindings/js/WorkerScriptController.cpp: (WebCore::Workevn ScriptController::evaluate):
  • bindings/js/WorkerScriptController.h:
  • dom/ScriptElement.cpp: (WebCore::ScriptElement::insertedIntoDocument): (WebCore::ScriptElement::childrenChanged): (WebCore::ScriptElementData::evaluateScript): (WebCore::ScriptElementData::notifyFinished):
  • dom/ScriptElement.h:
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
  • dom/WorkerThread.h:
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::notifyFinished):
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::endElementNs):
  • dom/XMLTokenizerQt.cpp: (WebCore::XMLTokenizer::parseEndElement):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::scriptHandler): (WebCore::HTMLTokenizer::scriptExecution): (WebCore::HTMLTokenizer::notifyFinished):
  • html/HTMLTokenizer.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::executeScript):
  • loader/FrameLoader.h:
2:48 PM Changeset in webkit [38728] by Darin Adler
  • 15 edits in trunk

WebCore:

2008-11-24 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

  • WebCore.base.exp: Exported new function.
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::urlForHistoryReflectsFailure): Added.
  • loader/DocumentLoader.h: Ditto.

WebKit/mac:

2008-11-24 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

Last time around I did this only for the back/forward list and missed the
global history list.

  • History/WebHistory.mm: (-[WebHistory _visitedURL:withTitle:wasFailure:]): Added wasFailure argument. Set the flag on the newly created history item. Also eliminated the use of autorelease on the added-items array.
  • History/WebHistoryInternal.h: Ditto.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory): Added code to check for failure and pass the argument in to WebHistory. Given that this function gets other data from the DocumentLoader, I think we should get rid of the KURL argument, but that's a separate issue so I don't do it in this patch.

WebKit/win:

2008-11-24 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

Last time around I did this only for the back/forward list and missed the
global history list.

  • Interfaces/IWebHistoryItemPrivate.idl: Added setLastVisitWasFailure.
  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::updateGlobalHistory): Added code to check for failure and pass the argument in to WebHistory.
  • WebHistory.cpp: (WebHistory::addItem): Added wasFailure argument. Set the flag on the newly created history item.
  • WebHistory.h: Ditto.
  • WebHistoryItem.cpp: (WebHistoryItem::setLastVisitWasFailure): Added.
  • WebHistoryItem.h: Ditto.
2:46 PM Changeset in webkit [38727] by beidson@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Update radar in an old Changelog entry to be "more correct"

2:33 PM Changeset in webkit [38726] by Chris Fleizach
  • 3 edits in trunk/WebCore

Bug 22461: AccessibilityListBox::doAccessibilityHitTest() signature does not match the base class

2:31 PM Changeset in webkit [38725] by mrowe@apple.com
  • 4 copies
    1 add in releases/Apple/Safari 3.2.1

Tag the Safari 3.2.1 release.

JavaScriptCore, JavaScriptGlue and WebCore are unchanged from Safari 3.2. WebKit is WebKit-x525.27.1.

1:54 PM Changeset in webkit [38724] by Simon Fraser
  • 2 edits in trunk/WebCore

2008-11-24 Simon Fraser <Simon Fraser>

Fix Windows build: selectionRect() -> selectionBounds().

  • page/win/FrameCGWin.cpp: (WebCore::imageFromSelection):
1:42 PM Changeset in webkit [38723] by Simon Fraser
  • 2 edits in trunk/WebKit/win

2008-11-24 Simon Fraser <Simon Fraser>

Fix call to Frame::selectionBounds in Windows build.

  • WebView.cpp: (WebView::selectionRect):
1:40 PM Changeset in webkit [38722] by darin@chromium.org
  • 3 edits
    2 adds in trunk

2008-11-24 Glenn Wilson <gwilson@chromium.org>

Reviewed by Darin Adler.

http://bugs.webkit.org/show_bug.cgi?id=18703
"Changing the 'size' property on a text input does not affect its length"

Text fields would not repaint themselves after having their "size"
attributes modified. This fix tells the object to recalculate its
width and repaint itself when its "size" attribute is parsed.

Test: fast/js/text-field-resize.html

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute):
1:35 PM Changeset in webkit [38721] by Simon Fraser
  • 2 edits in trunk/WebKit/mac

2008-11-24 Simon Fraser <Simon Fraser>

Fix call to Frame::selectionBounds in Tiger build.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
1:25 PM Changeset in webkit [38720] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Removed some unnecessary "Generator::" prefixes.

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter): (JSC::WREC::Generator::generateReturnSuccess): (JSC::WREC::Generator::generateSaveIndex): (JSC::WREC::Generator::generateIncrementIndex): (JSC::WREC::Generator::generateLoopIfNotEndOfInput): (JSC::WREC::Generator::generateReturnFailure):
1:21 PM Changeset in webkit [38719] by Simon Fraser
  • 2 edits in trunk/WebCore

2008-11-24 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

Followup from changes for https://bugs.webkit.org/show_bug.cgi?id=22433

Make RenderView::selectionRect() private to cause compile-time
errors if someone tries to call it.

  • rendering/RenderView.h:
1:20 PM Changeset in webkit [38718] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Made a bunch of WREC::Parser functions private, and added an explicit
"reset()" function, so a parser can be reused.

  • wrec/WRECParser.h: (JSC::WREC::Parser::Parser): (JSC::WREC::Parser::generator): (JSC::WREC::Parser::ignoreCase): (JSC::WREC::Parser::multiline): (JSC::WREC::Parser::recordSubpattern): (JSC::WREC::Parser::numSubpatterns): (JSC::WREC::Parser::parsePattern): (JSC::WREC::Parser::parseAlternative): (JSC::WREC::Parser::reset):
12:16 PM Changeset in webkit [38717] by dino@apple.com
  • 5 edits
    1 copy in trunk/WebKitSite/specs/CSSVisualEffects

2008-11-21 Dean Jackson <dino@apple.com>

CSSAnimation.html:

  • animation-name should accept IDENT not <string>
  • animation-play-state marked as "about to be removed"
  • more description of when an animation is applied, that they snapshot keyframes and values as they start and how they need to be removed to reset.

CSSTransitions.html:

  • list of animatable properties and how to animate property types.
  • specify that values for bezier points outside of [0,1] are invalid.

CSSTransforms.html:

  • split into 2d and 3d specifications
  • transform-origin now matches background-position definition.
  • describe how to animate between lists of transforms

CSSTransforms3D.html

  • new specification which is the 3d parts of transforms
  • perspective must be > 0
  • perspective-origin also matches background-position
  • describe how to animate between lists of transforms, but this time in 3d which is harder.
11:58 AM Changeset in webkit [38716] by Simon Fraser
  • 11 edits in trunk

2008-11-24 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

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

Rename RenderView::selectionRect() to selectionBounds(), to remove
longstanding ambiguity with the base class selectionRect() method.
Do the same on Frame for consistency with RenderView. Assert
that RenderView::selectionRect() is never called.

11:41 AM Changeset in webkit [38715] by christian@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-11-24 Christian Dywan <christian@twotoasts.de>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=17122
[GTK] Bad font default settings

  • webkit/webkitwebsettings.cpp: (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): Use default font size 12 instead of 10
11:29 AM Changeset in webkit [38714] by jchaffraix@webkit.org
  • 7 edits in trunk/WebCore

2008-11-19 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
https://bugs.webkit.org/show_bug.cgi?id=22441

  • Make HTMLElementFactory::createHTMLElement take a QualifiedName instead of an AtomicString.
  • Updated the elements' constructors and the callers to reflect the previous change.
  • dom/Document.cpp: (WebCore::Document::createElement):
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::createElement):
  • html/HTMLElement.cpp: (WebCore::HTMLElement::cloneNode):
  • html/HTMLElementFactory.cpp: (WebCore::htmlConstructor): (WebCore::headConstructor): (WebCore::bodyConstructor): (WebCore::baseConstructor): (WebCore::linkConstructor): (WebCore::metaConstructor): (WebCore::styleConstructor): (WebCore::titleConstructor): (WebCore::frameConstructor): (WebCore::framesetConstructor): (WebCore::iframeConstructor): (WebCore::formConstructor): (WebCore::buttonConstructor): (WebCore::inputConstructor): (WebCore::isindexConstructor): (WebCore::fieldsetConstructor): (WebCore::keygenConstructor): (WebCore::labelConstructor): (WebCore::legendConstructor): (WebCore::optgroupConstructor): (WebCore::optionConstructor): (WebCore::selectConstructor): (WebCore::textareaConstructor): (WebCore::dlConstructor): (WebCore::ulConstructor): (WebCore::olConstructor): (WebCore::dirConstructor): (WebCore::menuConstructor): (WebCore::liConstructor): (WebCore::blockquoteConstructor): (WebCore::divConstructor): (WebCore::headingConstructor): (WebCore::hrConstructor): (WebCore::paragraphConstructor): (WebCore::preConstructor): (WebCore::basefontConstructor): (WebCore::fontConstructor): (WebCore::modConstructor): (WebCore::anchorConstructor): (WebCore::imageConstructor): (WebCore::mapConstructor): (WebCore::areaConstructor): (WebCore::canvasConstructor): (WebCore::appletConstructor): (WebCore::embedConstructor): (WebCore::objectConstructor): (WebCore::paramConstructor): (WebCore::scriptConstructor): (WebCore::tableConstructor): (WebCore::tableCaptionConstructor): (WebCore::tableColConstructor): (WebCore::tableRowConstructor): (WebCore::tableCellConstructor): (WebCore::tableSectionConstructor): (WebCore::brConstructor): (WebCore::quoteConstructor): (WebCore::marqueeConstructor): (WebCore::audioConstructor): (WebCore::videoConstructor): (WebCore::sourceConstructor): (WebCore::HTMLElementFactory::createHTMLElement):
  • html/HTMLElementFactory.h:
  • html/HTMLParser.cpp: (WebCore::HTMLParser::getNode):
11:21 AM Changeset in webkit [38713] by ap@webkit.org
  • 2 edits in trunk/WebCore

2008-11-24 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Alexey Proskuryakov.

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

Correct bad default constructor for Cairo FontPlatformData so that
the m_scaledFont member is initialized. Previously this would be
set to 0xbaadf00d, which would result in infinite loops while
attempting to deal with the font cache.

  • platform/graphics/win/FontPlatformData.h: (WebCore::FontPlatformData::FontPlatformData): Initialize m_scaledFont to 0
10:37 AM Changeset in webkit [38712] by Simon Fraser
  • 1 edit
    1 add in trunk/WebKitTools

2008-11-24 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

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

Add script that attempts to detect virtual methods
whose signatures differ only by constness (which can
indicate a programming error).

  • Scripts/detect-mismatched-virtual-const: Added.
10:21 AM Changeset in webkit [38711] by ap@webkit.org
  • 9 edits in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22455
Add support for Worker.terminate()

Test: fast/workers/worker-terminate.html

  • dom/Worker.idl:
  • dom/Worker.cpp:
  • dom/Worker.h: Added terminate().
  • dom/WorkerMessagingProxy.h: (WebCore::WorkerMessagingProxy::askedToTerminate):
  • dom/WorkerMessagingProxy.cpp: (WebCore::MessageWorkerTask::performTask): Don't dispatch messages if the worker was asked to terminate (this is not mentioned in draft spec, but makes sense anyway). (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): The proxy now remembers if it was asked to terminate in m_askedToTerminate member variable. Also, changed m_unconfirmedMessageCount to only track messages that were posted to worker thread, avoiding a leak if the script could not be loaded. (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): Return early if terminating. (WebCore::WorkerMessagingProxy::workerThreadCreated): Stop the thread if already asked for. (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): Even if worker context was destroyed, the worker object may still be alive now, so don't delete self in this case. (WebCore::WorkerMessagingProxy::terminate): Stop the thread if it was already created, or remember to stop it when it is created. (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal): Don't track activity if the thread asked to stop anyway. (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity): Ditto.
  • dom/WorkerThread.cpp:
  • dom/WorkerThread.h: Fixed a race condition in stop().
9:04 AM Changeset in webkit [38710] by zecke@webkit.org
  • 10 edits
    7 adds in trunk

[Gtk+] Implement TestNetscapePlugin for Gtk+ port.

LayoutTests:
2008-11-24 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Holger Freyther.

Some tests in plugins/ directory now pass.

  • platform/gtk/Skipped:

WebCore/ChangeLog:
2008-11-24 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Mark Rowe.

[Gtk+] Add configure option to enable Web Workers and enable it by default

Add --enable-workers to the buildsystem (used by build-webkit) add
the to be build files to the GNUmakefile.am and change build-webkit
to enable Web Workers by default.

  • GNUmakefile.am:

WebKit/gtk/ChangeLog
2008-11-24 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Holger Freyther.

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

Implement a semi-private function for adding a directory to
PluginDatabase's paths.

  • webkit/webkitprivate.h:
  • webkit/webkitwebsettings.cpp: (_WebKitWebSettingsPrivate::webkit_web_settings_add_extra_plugin_directory):

WebKitTools/ChangeLog
2008-11-24 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Holger Freyther.

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

[Gtk+] Implement TestNetscapePlugin for Gtk+ port and add it to the
build.

  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
  • DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.cpp:
  • DumpRenderTree/gtk/DumpRenderTree.cpp: (setDefaultsToConsistentStateValuesForTesting):
  • DumpRenderTree/gtk/TestNetscapePlugin/ForwardingHeaders/WebKit/npapi.h: Added.
  • DumpRenderTree/gtk/TestNetscapePlugin/ForwardingHeaders/WebKit/npfunctions.h: Added.
  • DumpRenderTree/gtk/TestNetscapePlugin/ForwardingHeaders/WebKit/npruntime.h: Added.
  • GNUmakefile.am:
6:42 AM Changeset in webkit [38709] by ap@webkit.org
  • 4 edits in trunk/LayoutTests

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=22428
xmlhttprequest-onProgress-open-should-zero-length.html fails intermittently

  • http/tests/xmlhttprequest/resources/big-response.php: Reduce the size of big response to make the test faster, but practically guarantee that the response will be delivered in many chunks.
  • http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length.html: Made the test more reliable by comparing final response position with known resource size.
6:40 AM Changeset in webkit [38708] by ap@webkit.org
  • 4 edits
    3 adds in trunk

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=22439
Won't load stylesheets with filenames less than 2 characters long in xhtml.

Test: http/tests/misc/single-character-pi-stylesheet.xhtml

  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet): Fix up the logic.
5:07 AM Changeset in webkit [38707] by zecke@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

The "WARNING" should not be there, remove it. There was no need to add a test case.

5:01 AM Changeset in webkit [38706] by zecke@webkit.org
  • 2 edits in trunk/LayoutTests

[Gtk+] We are passing all but one worker test. Enable them.

We fail on fast/workers/worker-location.html due some weird
issue with the bidi resolver "skipping" whitespace at the end
of the line.

4:56 AM Changeset in webkit [38705] by zecke@webkit.org
  • 6 edits in trunk

[Gtk+] Add configure option to enable Web Workers and enable it by default

Add --enable-workers to the buildsystem (used by build-webkit) add
the to be build files to the GNUmakefile.am and change build-webkit
to enable Web Workers by default.

3:54 AM Changeset in webkit [38704] by ap@webkit.org
  • 2 edits in trunk/WebCore

Build fix (for Windows Cairo port?)

  • page/DOMWindow.idl: Ese ENABLE_CHANNEL_MESSAGING instead of ENABLE(CHANNEL_MESSAGING), as the ENABLE macro is not available in idls.
3:12 AM Changeset in webkit [38703] by barraclough@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

2008-11-24 Gavin Barraclough <barraclough@apple.com>

Rubber stamped by Mark Rowe.

Add test cases to ensure the PIC trampolines for prototype and prototype chain
accesses properly check for JSImmediate values, rather than segfaulting.

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

  • fast/js/pic/cached-prototype-then-immediate-expected.txt: Added.
  • fast/js/pic/cached-prototype-then-immediate.html: Added.
2:59 AM Changeset in webkit [38702] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Let gdb-safari accept the --debug and --release options once more.

Reviewed by Alexey Proskuryakov.

  • Scripts/gdb-safari:
2:28 AM Changeset in webkit [38701] by barraclough@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

tyop fix in jsc Changelog

2:14 AM Changeset in webkit [38700] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-24 Gavin Barraclough <barraclough@apple.com>

Reviewed by Camron Zwarich.

Implement repatching for get by id chain.
Previously the access is performed in a function stufb, in the reptach form
the trampoline is not called to; instead the hot patch is relinkde to jump
directly to the trampoline, if it fails it will jump to the slow case.

https://bugs.webkit.org/show_bug.cgi?id=22449
3% progression on deltablue.

  • jit/JIT.cpp: (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdChain):
12:09 AM Changeset in webkit [38699] by Simon Hausmann
  • 11 edits in trunk/JavaScriptCore

2008-11-24 Joerg Bornemann <joerg.bornemann@trolltech.com>

Reviewed by Simon Hausmann.

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

Various small compilation fixes to make the Qt port of WebKit
compile on Windows CE.

  • config.h: Don't set _CRT_RAND_S for CE, it's not available.
  • jsc.cpp: Disabled use of debugger includes for CE. It does not have the debugging functions.
  • runtime/DateMath.cpp: Use localtime() on Windows CE.
  • wtf/Assertions.cpp: Compile on Windows CE without debugger.
  • wtf/Assertions.h: Include windows.h before defining ASSERT.
  • wtf/MathExtras.h: Include stdlib.h instead of xmath.h.
  • wtf/Platform.h: Disable ERRNO_H and detect endianess based on the Qt endianess. On Qt for Windows CE the endianess is defined by the vendor specific build spec.
  • wtf/Threading.h: Use the volatile-less atomic functions.
  • wtf/dtoa.cpp: Compile without errno.
  • wtf/win/MainThreadWin.cpp: Don't include windows.h on CE after Assertions.h due to the redefinition of ASSERT.

Nov 23, 2008:

10:04 PM Changeset in webkit [38698] by darin@chromium.org
  • 3 edits in trunk/WebCore

2008-11-22 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22421
Added ScriptValue to Visual Studio and XCode projects.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
10:01 PM Changeset in webkit [38697] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-22 Gavin Barraclough <barraclough@apple.com>

Reviewed by Camron Zwarich.

Replace accidentally deleted immediate check from get by id chain trampoline.
https://bugs.webkit.org/show_bug.cgi?id=22413

  • jit/JIT.cpp: (JSC::JIT::privateCompileGetByIdChain):
2:19 PM Changeset in webkit [38696] by zecke@webkit.org
  • 1 edit
    5 adds in trunk/WebKit/gtk

Add gtk-doc configuration/source for the WebKit/Gtk+ Reference Manual

These files will be used by gtk-doc to generate the documentation. They
contain information how to group the symbols of our API, which objects
to inspect during the generation of the manual and how to display the
manual.

2:18 PM Changeset in webkit [38695] by zecke@webkit.org
  • 9 edits in trunk/WebKit/gtk

Make gtk-doc happy with the existing API documentation

  • Mark the *Private pointers in the struct private
  • Use Returns: where gtk-doc wants us to
  • Fix the parameters to make gtk-doc happy
  • Fix signal references
12:21 AM Changeset in webkit [38694] by jmalonzo@webkit.org
  • 2 edits in trunk/WebKitTools

2008-11-23 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Holger Freyther. Landed by Jan Alonzo.

Get SVG tests tested on GTK port.

  • Scripts/webkitdirs.pm:

Nov 22, 2008:

10:47 AM Changeset in webkit [38693] by Nikolas Zimmermann
  • 2 edits
    4 adds in trunk/WebCore

Reviewed by Holger Freyther.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=22426

Add WMLInstrinsicEvent/EventHandler implementation. Code not yet used.

8:37 AM Changeset in webkit [38692] by Nikolas Zimmermann
  • 5 edits
    8 adds in trunk/WebCore

Reviewed by Holger Freyther.

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

Add <go> stub implementation. Add complete <prev>/<refresh> and <setvar> implementation.
Activate code handling <setvar> registration in WMLTaskElement.

7:39 AM Changeset in webkit [38691] by Nikolas Zimmermann
  • 3 edits in trunk/WebCore

Not reviewed. Forgot to include WMLPageState.* in the last commit.

Nov 21, 2008:

11:46 PM Changeset in webkit [38690] by ap@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

Reviewed by Geoff Garen.

https://bugs.webkit.org/show_bug.cgi?id=22400
Add a stress test for concurrent JS execution

  • fast/workers/resources/stress-js-execution.js: Added.
  • fast/workers/stress-js-execution-expected.txt: Added.
  • fast/workers/stress-js-execution.html: Added. Tests that the basics don't cause a crash.
11:42 PM Changeset in webkit [38689] by ap@webkit.org
  • 6 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22397
Worker threads are not destroyed if running a JS loop

Since the event loop is not ever entered again in this case, the fix necessarily involves
some shared data hackery.

  • dom/WorkerThread.cpp: (WebCore::WorkerThread::stop):
  • dom/WorkerThread.h: Added a stop() method, which asks the thread to exit as soon as possible. In the future, it may need to abort other kinds of synchronous processing, such as importScripts or XHR.
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::WorkerScriptController): (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::forbidExecution):
  • bindings/js/WorkerScriptController.h: Added a forbidExecution() method, which interrupts currently running JS, and makes any future calls to evaluate() return immediately.
  • dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed): Call WorkerThread::stop().
7:34 PM Changeset in webkit [38688] by barraclough@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-11-21 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Add (really) polymorphic caching for get by id self.
Very similar to caching of prototype accesses, described below.

Oh, also, probably shouldn't have been leaking those structure list objects.


4% preogression on deltablue.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): (JSC::CodeBlock::derefStructures): (JSC::PrototypeStructureList::derefStructures):
  • bytecode/Instruction.h:
  • bytecode/Opcode.h:
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): (JSC::Interpreter::cti_op_get_by_id_self_fail):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileGetByIdSelfList): (JSC::JIT::patchGetByIdSelf):
  • jit/JIT.h: (JSC::JIT::compileGetByIdSelfList):
7:24 PM Changeset in webkit [38687] by kevino@webkit.org
  • 8 edits
    2 adds in trunk/WebKit/wx

Reviewed by Kevin Ollivier.

Maintain an EditCommand stack in WebFramePrivate, and expose Undo and
Redo in wxWebView.

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

7:21 PM Changeset in webkit [38686] by kevino@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

forgot to update the date when preparing the patch.

7:08 PM Changeset in webkit [38685] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Kevin Ollivier.

Improve wx image drawing performance considerably when using wxGraphicsContext
by avoiding unnecessary copies and drawing.

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

6:27 PM Changeset in webkit [38684] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Kevin Ollivier.

Implementation of AffineTransform::mapRect for wx.

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

5:50 PM Changeset in webkit [38683] by justin.garcia@apple.com
  • 14 edits
    1 add
    9 deletes in trunk

WebCore:

2008-11-21 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text


Change link editing behavior to match TextEdit and MS Word when editing before and after
a link (Pages has two caret positions at link boundaries, Thunderbird and FF behave like we
used to, so it's difficult to get out of link editing mode):
When inserting before or after a link, always insert content outside of the link. This
makes it impossible to get stuck in link editing mode, while making it slightly more
difficult to edit link labels. WebKit editors that care about this can add UI for editing
link labels, like GMail and GoogleDocs have done. We never actually had any bugs complaining
about how it was difficult to edit link labels at the start/end, the code was just introduced
with another bug fix without much thought.


Don't remember removed links anymore, no other editor does this and it made it
difficult/impossible to get out of link editing mode. This code was added to fix
<rdar://problem/4069359>, which is fixed instead by removing the styles from an
enclosing anchor element from those styles that we remember when we delete content.

  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
  • editing/CompositeEditCommand.h:
  • editing/DeleteSelectionCommand.cpp: (WebCore::removeEnclosingAnchorStyle): (WebCore::DeleteSelectionCommand::saveTypingStyleState): (WebCore::DeleteSelectionCommand::doApply):
  • editing/DeleteSelectionCommand.h:
  • editing/EditCommand.cpp: (WebCore::EditCommand::apply):
  • editing/Editor.cpp: (WebCore::Editor::appliedEditing):
  • editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::prepareForTextInsertion): (WebCore::InsertTextCommand::input):
  • editing/RemoveFormatCommand.cpp: (WebCore::RemoveFormatCommand::doApply):
  • editing/SelectionController.cpp: (WebCore::SelectionController::setSelection):
  • editing/SelectionController.h:

LayoutTests:

2008-11-21 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.


<rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text


Removed tests for behaviors that we're no longer interested in:

  • editing/deleting/delete-link-1.html: Removed.
  • platform/mac/editing/deleting/delete-link-1-expected.checksum: Removed.
  • platform/mac/editing/deleting/delete-link-1-expected.png: Removed.
  • platform/mac/editing/deleting/delete-link-1-expected.txt: Removed.
  • editing/execCommand/19653-4-expected.txt: Removed.
  • editing/execCommand/19653-4.html: Removed.


Reflects new behavior (don't remember removed anchors):

  • platform/mac/editing/deleting/5168598-expected.txt:


Reflects new behavior. Also made this test cross-platform:

  • editing/inserting/insert-before-link-1-expected.txt: Added.
  • editing/inserting/insert-before-link-1.html:
  • platform/mac/editing/inserting/insert-before-link-1-expected.checksum: Removed.
  • platform/mac/editing/inserting/insert-before-link-1-expected.png: Removed.
  • platform/mac/editing/inserting/insert-before-link-1-expected.txt: Removed.
5:48 PM Changeset in webkit [38682] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-21 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed many crashes seen 'round the world (but only in release builds).


Update outputParameter offset to reflect slight re-ordering of push
instructions in r38669.

  • wrec/WRECGenerator.cpp:
5:38 PM Changeset in webkit [38681] by alice.liu@apple.com
  • 2 edits in trunk/WebCore

2008-11-21 Alice Liu <alice.liu@apple.com>

Rubber-stamped by Dan Bernstein.

fixed <rdar://6340771> crashing on print preview

  • platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::GraphicsContext::drawWindowsBitmap):
4:11 PM Changeset in webkit [38680] by darin@chromium.org
  • 5 edits
    1 add in trunk/WebCore

2008-11-21 Darin Fisher <darin@chromium.org>

Reviewed by Geoffrey Garen.

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

Abstract away JSC
usage in WebCore/xml
  • bindings/js/ScriptString.h: Added. (WebCore::ScriptString::ScriptString): (WebCore::ScriptString::operator JSC::UString): (WebCore::ScriptString::isNull): (WebCore::ScriptString::size): (WebCore::ScriptString::operator=): (WebCore::ScriptString::operator+=):
  • inspector/InspectorController.cpp: (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): (WebCore::InspectorResource::setXMLHttpRequestProperties): (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
  • inspector/InspectorController.h:
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseText): (WebCore::XMLHttpRequest::clearResponse): (WebCore::XMLHttpRequest::dropProtection): (WebCore::XMLHttpRequest::didFinishLoading): (WebCore::XMLHttpRequest::didReceiveData):
  • xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::setLastSendURL):
2:54 PM Changeset in webkit [38679] by weinig@apple.com
  • 3 edits in trunk/WebCore

2008-11-21 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Destroy script decoded data on a zero-delay timer after
decoding. This means we now have no decoded script data
at the end of Membuster.

  • loader/CachedScript.cpp: (WebCore::CachedScript::CachedScript): (WebCore::CachedScript::allClientsRemoved): (WebCore::CachedScript::script): (WebCore::CachedScript::decodedDataDeletionTimerFired):
  • loader/CachedScript.h:
2:49 PM Changeset in webkit [38678] by Simon Fraser
  • 9 edits
    4 adds in trunk

2008-11-21 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

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

RenderBox::absoluteClippedOverflowRect() needs to inflate the rect by
maximalOutlineSize(), since a child might have an outline which projects
outside the parent overflowRect().

We also need to ensure that maximalOutlineSize() is updated early in styleDidChange,
so that it is valid for these repaints.

Test: fast/repaint/outline-child-repaint.html

  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::styleDidChange): (WebCore::RenderBox::absoluteClippedOverflowRect):
2:03 PM Changeset in webkit [38677] by jmalonzo@webkit.org
  • 4 edits in trunk/WebCore

2008-11-21 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk, Qt, and Wx build fix.

Add LinkHash.cpp in the build scripts.
Add LinkHash.h to Gtk's build script.

LinkHash.cpp/h was introduced in r38661.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCoreSources.bkl:
1:40 PM Changeset in webkit [38676] by weinig@apple.com
  • 3 edits in trunk/WebCore

2008-11-21 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Third step in https://bugs.webkit.org/show_bug.cgi?id=22394
Be more eager in destroying script decoded data

Destroy the decoded data when all clients are removed from a CachedScript.

  • loader/CachedScript.cpp: (WebCore::CachedScript::allClientsRemoved):
  • loader/CachedScript.h: (WebCore::CachedScript::allClientsRemoved):
1:34 PM Changeset in webkit [38675] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-11-21 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


A little more RegExp refactoring.


Deployed a helper function for reading the next character. Used the "link
vector of jumps" helper in a place I missed before.

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateLoadCharacter): (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClass): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary):
  • wrec/WRECGenerator.h:
1:26 PM Changeset in webkit [38674] by cwzwarich@webkit.org
  • 3 edits in trunk/LayoutTests

2008-11-21 Cameron Zwarich <zwarich@apple.com>

Reviewed by Sam Weinig.

Add a test for <rdar://problem/4268912>, which was fixed in r13294 (!!).

  • fast/js/resources/string-sort.js:
  • fast/js/string-sort-expected.txt:
1:20 PM Changeset in webkit [38673] by ap@webkit.org
  • 6 edits in trunk/JavaScriptCore

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=22402
Replace abort() with CRASH()

  • wtf/Assertions.h: Added a different method to crash, which should work even is 0xbbadbeef is a valid memory address.
  • runtime/Collector.cpp:
  • wtf/FastMalloc.cpp:
  • wtf/FastMalloc.h:
  • wtf/TCSpinLock.h: Replace abort() with CRASH().
12:09 PM Changeset in webkit [38672] by ap@webkit.org
  • 6 edits in trunk/JavaScriptCore

Reverted fix for bug 22042 (Replace abort() with CRASH()), because it was breaking
FOR_EACH_OPCODE_ID macro somehow, making Safari crash.

12:01 PM Changeset in webkit [38671] by dino@apple.com
  • 9 edits in trunk

2008-11-21 Pierre-Olivier Latour <pol@apple.com>

WebKit/mac:

Reviewed by Dan Bernstein.

WebKit should be using Device RGB colorspace everywhere for
consistency.

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

  • WebView/WebHTMLView.mm: (-[WebHTMLView _dragImageForURL:withLabel:]): (-[WebHTMLView _colorAsString:]):

WebCore:

Reviewed by Dan Bernstein.

WebKit should be using Device RGB colorspace everywhere for
consistency.

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

  • page/mac/AccessibilityObjectWrapper.mm: (CreateCGColorIfDifferent):
  • platform/graphics/mac/ColorMac.h:
  • platform/graphics/mac/ColorMac.mm: (WebCore::nsColor): (+[WebCoreControlTintObserver controlTintDidChange]):
  • rendering/RenderThemeMac.mm: (WebCore::convertNSColorToColor): (WebCore::menuBackgroundColor):

LayoutTests:

Reviewed by Dan Bernstein.

WebKit should be using Device RGB colorspace everywhere for
consistency.

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

  • platform/mac/fast/text/attributed-substring-from-range-001-expected.txt:
11:32 AM Changeset in webkit [38670] by jchaffraix@webkit.org
  • 4 edits in trunk/WebCore

2008-11-20 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 22388: Add JSInterfaceName to the .in files
https://bugs.webkit.org/show_bug.cgi?id=22388

Add JSInterfaceName that is similar to interfaceName but
for the JS wrappers. JSInterfaceName is always equal to interfaceName
unless explicitly set.

  • dom/make_names.pl:
  • html/HTMLTagNames.in:
  • svg/svgtags.in:
11:31 AM Changeset in webkit [38669] by ggaren@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-11-21 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


A little more RegExp refactoring.


Moved all assembly from WREC.cpp into WRECGenerator helper functions.
This should help with portability and readability.


Removed ASSERTs after calls to executableCopy(), and changed
executableCopy() to ASSERT instead.

  • assembler/X86Assembler.h: (JSC::X86Assembler::executableCopy):
  • jit/JIT.cpp: (JSC::JIT::privateCompile): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::privateCompileCTIMachineTrampolines): (JSC::JIT::privateCompilePatchGetArrayLength):
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter): (JSC::WREC::Generator::generateReturnSuccess): (JSC::WREC::Generator::generateSaveIndex): (JSC::WREC::Generator::generateIncrementIndex): (JSC::WREC::Generator::generateLoopIfNotEndOfInput): (JSC::WREC::Generator::generateReturnFailure):
  • wrec/WRECGenerator.h:
  • wrec/WRECParser.h: (JSC::WREC::Parser::ignoreCase): (JSC::WREC::Parser::generator):
11:27 AM Changeset in webkit [38668] by ap@webkit.org
  • 2 edits in trunk/WebKit/win

2008-11-21 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Alexey Proskuryakov.

Debug WebKit crashes on launch because of threading not being initialized early enough.

  • WebKitClassFactory.cpp: (WebKitClassFactory::WebKitClassFactory): Call JSC::InitializeThreading().
11:25 AM Changeset in webkit [38667] by dino@apple.com
  • 1 edit
    4 adds in trunk/LayoutTests

2008-11-21 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Dan Bernstein.

Add missing reference images for tests added as part of
https://bugs.webkit.org/show_bug.cgi?id=21261

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

  • platform/mac/animations/animation-drt-api-expected.checksum: Added.
  • platform/mac/animations/animation-drt-api-expected.png: Added.
  • platform/mac/transitions/transition-drt-api-expected.checksum: Added.
  • platform/mac/transitions/transition-drt-api-expected.png: Added.
11:07 AM Changeset in webkit [38666] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Build fix.

  • wtf/Assertions.h: Use ::abort for C++ code.
10:49 AM Changeset in webkit [38665] by ap@webkit.org
  • 6 edits in trunk/JavaScriptCore

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=22402
Replace abort() with CRASH()

  • wtf/Assertions.h: Added abort() after an attempt to crash for extra safety.
  • runtime/Collector.cpp:
  • wtf/FastMalloc.cpp:
  • wtf/FastMalloc.h:
  • wtf/TCSpinLock.h: Replace abort() with CRASH().
10:44 AM Changeset in webkit [38664] by weinig@apple.com
  • 7 edits
    1 add in trunk/WebCore

2008-11-21 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Second step in https://bugs.webkit.org/show_bug.cgi?id=22394
Be more eager in destroying script decoded data

Use a new CachedScriptSourceProvider to keep CachedScripts as
CachedScripts, even down into JSC. This has the added benefit
of showing the CachedScripts as live in the Caches window.

  • GNUmakefile.am:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/CachedScriptSourceProvider.h: Added. (WebCore::CachedScriptSourceProvider::create): (WebCore::CachedScriptSourceProvider::~CachedScriptSourceProvider): (WebCore::CachedScriptSourceProvider::getRange): (WebCore::CachedScriptSourceProvider::data): (WebCore::CachedScriptSourceProvider::length): (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider): (WebCore::makeSource):
  • dom/ScriptElement.cpp: (WebCore::ScriptElementData::notifyFinished):
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::notifyFinished):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::notifyFinished):
10:22 AM Changeset in webkit [38663] by brettw@chromium.org
  • 3 edits in trunk/WebCore

Fix debug-only build bustage due to a typo in an assert, and add new
files to the Windows build.

10:22 AM Changeset in webkit [38662] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-21 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed wrec => generator.

  • wrec/WRECFunctors.cpp: (JSC::WREC::GeneratePatternCharacterFunctor::generateAtom): (JSC::WREC::GeneratePatternCharacterFunctor::backtrack): (JSC::WREC::GenerateCharacterClassFunctor::generateAtom): (JSC::WREC::GenerateCharacterClassFunctor::backtrack): (JSC::WREC::GenerateBackreferenceFunctor::generateAtom): (JSC::WREC::GenerateBackreferenceFunctor::backtrack): (JSC::WREC::GenerateParenthesesNonGreedyFunctor::generateAtom):
9:07 AM Changeset in webkit [38661] by brettw@chromium.org
  • 10 edits
    2 adds in trunk/WebCore

Reviewed by Eric Seidel.

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

Factor out visited link hashing and types into a new file, LinkHash.
This also changes the hash type to 64 bits, but does not actually use
the extra bits yet.

8:47 AM Changeset in webkit [38660] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

Reviewed by Alexey Proskuryakov.

No need to use getElementsByTagNameNS() in WML documents. Revert to using getElementByTagName() again.

7:25 AM Changeset in webkit [38659] by Nikolas Zimmermann
  • 3 edits in trunk/WebCore

Reviewed by Alexey Proskuryakov.

Fix some coding style/formatting issues in WMLAElement.

7:20 AM Changeset in webkit [38658] by Nikolas Zimmermann
  • 5 edits
    6 adds in trunk/WebCore

Reviewed by Alexey Proskuryakov.

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

Implement <anchor> support for WML, add WMLVariables file containing helper functions
for variable support, and a WMLTaskElement base class for WMLPrev/Go/RefreshElement.

6:30 AM Changeset in webkit [38657] by jchaffraix@webkit.org
  • 2 edits in trunk/WebCore

2008-11-21 Julien Chaffraix <jchaffraix@pleyo.com>

Rubber-stamped by Alexey Proskuryakov.

Build fix when building without WORKERS on non-POSIX, non-WINDOWS
machine.

Spotted by Mario Bensi.

  • platform/text/TextCodecICU.cpp:
1:39 AM Changeset in webkit [38656] by ap@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

Fix ChangeLog typos.

Nov 20, 2008:

11:16 PM Changeset in webkit [38655] by weinig@apple.com
  • 2 edits in trunk/WebKit/qt

2008-11-20 Sam Weinig <sam@webkit.org>

Fix Qt build.

  • Api/qwebframe.cpp: (QWebFrame::evaluateJavaScript):
9:51 PM Changeset in webkit [38654] by weinig@apple.com
  • 16 edits in trunk/WebCore

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

First step in https://bugs.webkit.org/show_bug.cgi?id=22394
Be more eager in destroying script decoded data

Pass data to be used in script execution around as JSC::SourceCode instead
of a source, url, and starting line.

  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate):
  • bindings/js/ScriptController.h:
  • bindings/js/StringSourceProvider.h: (WebCore::makeSource):
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
  • bindings/js/WorkerScriptController.h:
  • dom/ScriptElement.cpp: (WebCore::ScriptElement::insertedIntoDocument): (WebCore::ScriptElement::childrenChanged): (WebCore::ScriptElementData::evaluateScript): (WebCore::ScriptElementData::notifyFinished):
  • dom/ScriptElement.h:
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::notifyFinished):
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::endElementNs):
  • dom/XMLTokenizerQt.cpp: (WebCore::XMLTokenizer::parseEndElement):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::scriptHandler): (WebCore::HTMLTokenizer::scriptExecution): (WebCore::HTMLTokenizer::notifyFinished):
  • html/HTMLTokenizer.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::executeScript):
  • loader/FrameLoader.h:
9:35 PM Changeset in webkit [38653] by weinig@apple.com
  • 3 edits in trunk/WebCore

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22392
REGRESION: XMLHttpRequest.responseText does unnecessary trip though WebCore::String

  • Use jsOwnedStringOrNull to avoid conversion to WebCore::String.
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::responseText):
  • xml/XMLHttpRequest.idl:
9:04 PM Changeset in webkit [38652] by barraclough@apple.com
  • 8 edits in trunk/JavaScriptCore

2008-11-19 Gavin Barraclough <barraclough@apple.com>

Reviewed by Darin Adler.

Add support for (really) polymorphic caching of prototype accesses.


If a cached prototype access misses, cti_op_get_by_id_proto_list is called.
When this occurs the Structure pointers from the instruction stream are copied
off into a new ProtoStubInfo object. A second prototype access trampoline is
generated, and chained onto the first. Subsequent missed call to
cti_op_get_by_id_proto_list_append, which append futher new trampolines, up to
PROTOTYPE_LIST_CACHE_SIZE (currently 4). If any of the misses result in an
access other than to a direct prototype property, list formation is halted (or
for the initial miss, does not take place at all).

Separate fail case functions are provided for each access since this contributes
to the performance progression (enables better processor branch prediction).

Overall this is a near 5% progression on v8, with around 10% wins on richards
and deltablue.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): (JSC::CodeBlock::derefStructures):
  • bytecode/Instruction.h: (JSC::ProtoStructureList::ProtoStubInfo::set): (JSC::ProtoStructureList::ProtoStructureList): (JSC::Instruction::Instruction): (JSC::Instruction::):
  • bytecode/Opcode.h:
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_put_by_id_fail): (JSC::Interpreter::cti_op_get_by_id_self_fail): (JSC::Interpreter::cti_op_get_by_id_proto_list): (JSC::Interpreter::cti_op_get_by_id_proto_list_append): (JSC::Interpreter::cti_op_get_by_id_proto_list_full): (JSC::Interpreter::cti_op_get_by_id_proto_fail): (JSC::Interpreter::cti_op_get_by_id_chain_fail): (JSC::Interpreter::cti_op_get_by_id_array_fail): (JSC::Interpreter::cti_op_get_by_id_string_fail):
  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompileCTIMachineTrampolines): (JSC::JIT::privateCompilePatchGetArrayLength):
  • jit/JIT.h: (JSC::JIT::compileGetByIdProtoList):
5:57 PM Changeset in webkit [38651] by Simon Fraser
  • 3 edits
    4 adds in trunk

2008-11-20 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

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

When an non-layer object gained a transform, it would only repaint
the bounds of the new layer, which could result in redraw artifacts
if the new layer was smaller. So if we're gaining a transform, we
repaint.

Test: fast/repaint/change-transform.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange):
5:54 PM Changeset in webkit [38650] by adele@apple.com
  • 2 edits in trunk/WebCore

2008-11-20 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for <rdar://problem/6111436> Support upload progress events on Windows

  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::didSendBodyData): Added. (WebCore::ResourceHandle::start): Hook up didSendBodyData callback.
5:53 PM Changeset in webkit [38649] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-20 Sam Weinig <sam@webkit.org>

Try and fix the tiger build.

  • parser/Grammar.y:
5:37 PM Changeset in webkit [38648] by justin.garcia@apple.com
  • 7 edits
    6 adds in trunk

WebCore:

2008-11-20 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/2610675> Blank line that is quoted can't be deleted


If the caret is in an empty quoted paragraph, and either there is nothing before that
paragraph, or what is before is unquoted, and the user presses delete, unquote that
paragraph.

  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Added. Removes the line break that holds open an empty paragraph and then attempts to prune the blockquote(s) that held that line break in case they have been emptied out. Places a line break to create in empty unquoted paragraph in place of the quoted one that was removed.
  • editing/CompositeEditCommand.h:
  • editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyBlockquotedParagraph.
  • editing/htmlediting.cpp: (WebCore::highestEnclosingNodeOfType): Added.
  • editing/htmlediting.h:

LayoutTests:

2008-11-20 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.


<rdar://problem/2610675> Blank line that is quoted can't be deleted

  • editing/deleting/2610675-1-expected.txt: Added.
  • editing/deleting/2610675-1.html: Added.
  • editing/deleting/2610675-2-expected.txt: Added.
  • editing/deleting/2610675-2.html: Added.
  • editing/deleting/2610675-3-expected.txt: Added.
  • editing/deleting/2610675-3.html: Added.
5:10 PM Changeset in webkit [38647] by eric@webkit.org
  • 3 edits in trunk/JavaScriptCore

Reviewed by Darin Adler.

Make JavaScriptCore Chromium build under Windows (cmd only, cygwin almost works)
https://bugs.webkit.org/show_bug.cgi?id=22347

  • JavaScriptCore.scons:
  • parser/Parser.cpp: Add using std::auto_ptr since we use auto_ptr
5:06 PM Changeset in webkit [38646] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix build.


Reviewed by Sam Weinig.

  • parser/Parser.cpp: (JSC::Parser::reparse):
4:48 PM Changeset in webkit [38645] by Simon Fraser
  • 3 edits
    2 adds in trunk

2008-11-20 Dean Jackson <dino@apple.com>

Reviewed by Antti Koivisto

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

Make transition shorthand property accept transition-delay.

Test: transitions/transition-shorthand-delay.html

  • css/CSSParser.cpp: (WebCore::CSSParser::parseTransitionShorthand):
4:44 PM Changeset in webkit [38644] by Simon Fraser
  • 3 edits
    2 adds in trunk

2008-11-20 Dean Jackson <dino@apple.com>

Reviewed by Antti Koivisto

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

Make sure pauseTransition API takes transition delay into account.

Test: transitions/transition-drt-api-delay.html

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::pauseAtTime):
4:35 PM Changeset in webkit [38643] by cwzwarich@webkit.org
  • 5 edits in trunk/LayoutTests

2008-11-20 Cameron Zwarich <zwarich@apple.com>

Reviewed by Sam Weinig.

Add some tests for issues found while developing reparsing of function
bodies. Also modify existing tests to be more robust in the face of
possible changes to parsing.

  • fast/js/arguments-expected.txt:
  • fast/js/function-dot-arguments-expected.txt:
  • fast/js/resources/arguments.js:
  • fast/js/resources/function-dot-arguments.js:
4:26 PM Changeset in webkit [38642] by Simon Fraser
  • 7 edits
    4 adds in trunk

2008-11-20 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

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

Implement getComputedStyle for animation properties. Remove individual
computed values for transform-origin-x, transform-origin-y, and just
return transform-origin instead. Return "none" for default animation-name,
and fix the initial value.

Tests: animations/computed-style.html

transforms/computed-style-origin.html

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::getTimingFunctionValue): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • rendering/style/RenderStyle.h: (WebCore::InheritedFlags::initialAnimationName):
4:23 PM Changeset in webkit [38641] by ggaren@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-11-20 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

A little more RegExp refactoring.


Created a helper function in the assembler for linking a vector of
JmpSrc to a location, and deployed it in a bunch of places.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/X86Assembler.h: (JSC::X86Assembler::link):
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateParentheses): (JSC::WREC::Generator::generateParenthesesResetTrampoline): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary): (JSC::WREC::Generator::terminateAlternative): (JSC::WREC::Generator::terminateDisjunction):
  • wrec/WRECParser.cpp:
  • wrec/WRECParser.h: (JSC::WREC::Parser::consumeHex):
3:51 PM Changeset in webkit [38640] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22371
Add a test for accessing form element items by index.

  • fast/dom/HTMLFormElement/htmlformelement-indexed-getter-expected.txt: Added.
  • fast/dom/HTMLFormElement/htmlformelement-indexed-getter.html: Added.
3:47 PM Changeset in webkit [38639] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?22370
Add a test to check detectability of HTMLCollections.

  • fast/dom/htmlcollection-detectability-expected.txt: Added.
  • fast/dom/htmlcollection-detectability.html: Added.
3:33 PM Changeset in webkit [38638] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-11-20 Sam Weinig <sam@webkit.org>

Fix non-mac builds.

  • parser/Lexer.cpp:
  • parser/Parser.cpp:
3:31 PM Changeset in webkit [38637] by pam@chromium.org
  • 3 edits in trunk/LayoutTests

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22369
Add test cases covering more basic operations.

  • fast/js/function-dot-arguments-expected.txt:
  • fast/js/resources/function-dot-arguments.js: (basicTest): Added (lengthTest): Added
3:27 PM Changeset in webkit [38636] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22363
Add a test for DOM1 and DOM2 versions of add() on a select control.

  • fast/dom/dom-add-optionelement-expected.txt: Added.
  • fast/dom/dom-add-optionelement.html: Added.
3:23 PM Changeset in webkit [38635] by weinig@apple.com
  • 12 edits in trunk/JavaScriptCore

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Patch for https://bugs.webkit.org/show_bug.cgi?id=22385
<rdar://problem/6390179>
Lazily reparse FunctionBodyNodes on first execution.

  • Saves 57MB on Membuster head.
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): Remove vector shrinking since this is now handled by destroying the ScopeNodeData after generation.
  • parser/Grammar.y: Add alternate NoNode version of the grammar that does not create nodes. This is used to lazily create FunctionBodyNodes on first execution.
  • parser/Lexer.cpp: (JSC::Lexer::setCode): Fix bug where on reparse, the Lexer was confused about what position and length meant. Position is the current position in the original data buffer (important for getting correct line/column information) and length the end offset in the original buffer.
  • parser/Lexer.h: (JSC::Lexer::sourceCode): Positions are relative to the beginning of the buffer.
  • parser/Nodes.cpp: (JSC::ScopeNodeData::ScopeNodeData): Move initialization of ScopeNode data here. (JSC::ScopeNode::ScopeNode): Add constructor that only sets the JSGlobalData for FunctionBodyNode stubs. (JSC::ScopeNode::~ScopeNode): Release m_children now that we don't inherit from BlockNode. (JSC::ScopeNode::releaseNodes): Ditto. (JSC::EvalNode::generateBytecode): Only shrink m_children, as we need to keep around the rest of the data. (JSC::FunctionBodyNode::FunctionBodyNode): Add constructor that only sets the JSGlobalData. (JSC::FunctionBodyNode::create): Ditto. (JSC::FunctionBodyNode::generateBytecode): If we don't have the data, do a reparse to construct it. Then after generation, destroy the data. (JSC::ProgramNode::generateBytecode): After generation, destroy the AST data.
  • parser/Nodes.h: (JSC::ExpressionNode::): Add isFuncExprNode for FunctionConstructor. (JSC::StatementNode::): Add isExprStatementNode for FunctionConstructor. (JSC::ExprStatementNode::): Ditto. (JSC::ExprStatementNode::expr): Add accessor for FunctionConstructor. (JSC::FuncExprNode::): Add isFuncExprNode for FunctionConstructor

(JSC::ScopeNode::adoptData): Adopts a ScopeNodeData.
(JSC::ScopeNode::data): Accessor for ScopeNodeData.
(JSC::ScopeNode::destroyData): Deletes the ScopeNodeData.
(JSC::ScopeNode::setFeatures): Added.
(JSC::ScopeNode::varStack): Added assert.
(JSC::ScopeNode::functionStack): Ditto.
(JSC::ScopeNode::children): Ditto.
(JSC::ScopeNode::neededConstants): Ditto.
Factor m_varStack, m_functionStack, m_children and m_numConstants into ScopeNodeData.

  • parser/Parser.cpp: (JSC::Parser::reparse): Reparse the SourceCode in the FunctionBodyNode and set set up the ScopeNodeData for it.
  • parser/Parser.h:
  • parser/SourceCode.h: (JSC::SourceCode::endOffset): Added for use in the lexer.
  • runtime/FunctionConstructor.cpp: (JSC::getFunctionBody): Assuming a ProgramNode with one FunctionExpression in it, get the FunctionBodyNode. Any issues signifies a parse failure in constructFunction. (JSC::constructFunction): Make parsing functions in the form new Function(""), easier by concatenating the strings together (with some glue) and parsing the function expression as a ProgramNode from which we can receive the FunctionBodyNode. This has the added benefit of not having special parsing code for the arguments and lazily constructing the FunctionBodyNode's AST on first execution.
  • runtime/Identifier.h: (JSC::operator!=): Added.
3:23 PM Changeset in webkit [38634] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22359
Add test for document.write() with multiple parameters.

  • fast/dom/document_write_params-expected.txt: Added.
  • fast/dom/document_write_params.html: Added.
3:19 PM Changeset in webkit [38633] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22387
Add a test for HTMLOptionsCollection indexed getter and setter.

  • fast/dom/HTMLOptionElement/collection-setter-getter-expected.txt: Added.
  • fast/dom/HTMLOptionElement/collection-setter-getter.html: Added.
2:27 PM Changeset in webkit [38632] by weinig@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Speedup the lexer to offset coming re-parsing patch.

  • .6% progression on Sunspider.
  • bytecompiler/SegmentedVector.h: (JSC::SegmentedVector::shrink): Fixed bug where m_size would not be set when shrinking to 0.
  • parser/Lexer.cpp: (JSC::Lexer::Lexer): (JSC::Lexer::isIdentStart): Use isASCIIAlpha and isASCII to avoid going into ICU in the common cases. (JSC::Lexer::isIdentPart): Use isASCIIAlphanumeric and isASCII to avoid going into ICU in the common cases (JSC::isDecimalDigit): Use version in ASCIICType.h. Inlining it was a regression. (JSC::Lexer::isHexDigit): Ditto. (JSC::Lexer::isOctalDigit): Ditto. (JSC::Lexer::clear): Resize the m_identifiers SegmentedVector to initial capacity
  • parser/Lexer.h: Remove unused m_strings vector. Make m_identifiers a SegmentedVector<Identifier> to avoid allocating a new Identifier* for each identifier found. The SegmentedVector is need so we can passes references to the Identifier to the parser, which remain valid even when the vector is resized. (JSC::Lexer::makeIdentifier): Inline and return a reference to the added Identifier.
2:02 PM Changeset in webkit [38631] by justin.garcia@apple.com
  • 11 edits in trunk

WebCore:

2008-11-20 Justin Garcia <justin.garcia@apple.com>

Reviewed by Beth Dakin.


Preparation for:
<rdar://problem/2610675> Blank line that is quoted can't be deleted


To fix this we need to make changes to the code that creates selections to delete
when the user does a backward or forward delete with a caret selection. For certain
caret positions, we now want to remove something other than the standard "caret extended
backward/forward by one unit". The problem is that there were two pieces of code
responsible for doing this, one in Editor::deleteWithDirection, and another inside
TypingCommand::deleteKeyPressed. The code in deleteWithDirection is a recent
addition (r19172), and adding it there caused regressions because it prevented the
code in deleteKeyPressed from ever running. The regressions were never caught because
JS deletion uses deleteKeyPressed while manual deletion uses deleteWithDirection.


This patch removes selection creation code from deleteWithDirection so that deleteKeyPressed
can handle it. That required moving code to handle the kill ring down into deleteKeyPressed.


Follow up patches will fix <rdar://problem/2610675>, and attempt to eliminate the rest of the
discrepancies between the behavior of JS deletions and manual deletions, so that we
have better test coverage.

  • editing/Editor.cpp: (WebCore::Editor::deleteWithDirection): Early return if m_frame->document() is null, instead of checking for that periodically throughout the function. There's really nothing to be done if it's null anyway. Move kill ring code down into deleteKeyPressed.
  • editing/Editor.h:
  • editing/TypingCommand.cpp: (WebCore::TypingCommand::TypingCommand): (WebCore::TypingCommand::deleteKeyPressed): (WebCore::TypingCommand::forwardDeleteKeyPressed): (WebCore::TypingCommand::doApply):
  • editing/TypingCommand.h: (WebCore::TypingCommand::create):

LayoutTests:

2008-11-20 Justin Garcia <justin.garcia@apple.com>

Reviewed by Beth Dakin.


<rdar://problem/2610675> Blank line that is quoted can't be deleted


The old selection modification code for caret case deletions set the selection
about to be deleted on the frame, instead of just setting the endingSelection.

  • platform/mac/editing/deleting/delete-by-word-001-expected.txt:
  • platform/mac/editing/deleting/delete-by-word-002-expected.txt:
  • platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.txt:
  • platform/mac/editing/pasteboard/emacs-ctrl-a-k-y-expected.txt:
  • platform/mac/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt:
1:51 PM Changeset in webkit [38630] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Add isASCII to ASCIICType. Use coming soon!

  • wtf/ASCIICType.h: (WTF::isASCII):
1:41 PM Changeset in webkit [38629] by Darin Adler
  • 7 edits in trunk

WebCore:

2008-11-20 Darin Adler <Darin Adler>

Earlier version reviewed by Justin Garcia.

  • fix <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
  • editing/Editor.cpp: (WebCore::Editor::handleKeyboardEvent): Remove isContentEditable check -- keyboard events can be handled even when the selection is not in an editable area. (WebCore::Editor::handleInputMethodKeydown): Ditto.
  • editing/EditorCommand.cpp: Changed the enabled rule for operations that change the selection to allow use when there's a selection even if it's not in an editable area. This includes commands like shift-arrow keys to extend the slection, but not commands like arrow keys to move the insertion point.

WebKit/mac:

2008-11-20 Darin Adler <Darin Adler>

Earlier version reviewed by Justin Garcia.

  • part of fix for <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode Also resolves <rdar://problem/5000134>.
  • WebView/WebHTMLView.mm: Removed some unused code, and made the Tiger workaround for bug 3789278 be Tiger-only. (-[WebHTMLView resignFirstResponder]): Removed code setting unused resigningFirstResponder flag. (-[WebHTMLView _wantsKeyDownForEvent:]): Added. Returns YES. (-[WebHTMLView insertText:]): Don't try to insert text if the selection is not editable. We used to prevent even processing the input, but that's not practical since some commands need to work even in non-editable regions.

LayoutTests:

2008-11-20 Darin Adler <Darin Adler>

  • update test result for <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
  • editing/selection/selection-actions.html: Removed the actions that are supposed to modify selections now.
1:25 PM Changeset in webkit [38628] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Add OwnPtr constructor and OwnPtr::adopt that take an auto_ptr.

  • wtf/OwnPtr.h: (WTF::OwnPtr::OwnPtr): (WTF::OwnPtr::adopt):
12:52 PM Changeset in webkit [38627] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

2008-11-20 Anders Carlsson <andersca@apple.com>

Reviewed by Jon Honeycutt.

Move some frame/page checking code down to the base class.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView start]):
  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView _createPlugin]):
12:36 PM Changeset in webkit [38626] by ap@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22380
Fix WorkerContext refcounting

  • dom/WorkerContext.cpp: (WebCore::WorkerContext::WorkerContext):
  • dom/WorkerContext.h: (WebCore::WorkerContext::script): (WebCore::WorkerContext::clearScript): Added a method to manually destroy WorkerSctriptController.
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): Destroy WorkerScriptController to release any references to WorkerContext.
11:40 AM Changeset in webkit [38625] by jchaffraix@webkit.org
  • 3 edits in trunk/WebCore

2008-11-19 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Last part of bug 21106: .in format discussed changes
https://bugs.webkit.org/show_bug.cgi?id=21106

  • Renamed isAudioHack to wrapperOnlyIfMediaIsAvailable as requested.
  • Cleaned up additionnal function parameters that were unneeded.
  • dom/make_names.pl:
  • html/HTMLTagNames.in:
10:52 AM Changeset in webkit [38624] by cwzwarich@webkit.org
  • 3 edits in trunk/LayoutTests

2008-11-20 Cameron Zwarich <zwarich@apple.com>

Reviewed by Geoff Garen.

Add tests for bug 22148: nytime.com page crashes browser during load
<https://bugs.webkit.org/show_bug.cgi?id=22148>

This bug was unknowingly fixed in r38322 by a rewrite of the recursion
limit code.

  • fast/js/deep-recursion-test-expected.txt:
  • fast/js/deep-recursion-test.html:
10:18 AM Changeset in webkit [38623] by ap@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22383
Worker tests spill error messages over to consequent tests

  • dom/Worker.cpp: (WebCore::Worker::Worker): Raise an exception immediately if URL is empty. Dcoument::completeURL() returns document URL in this case, and there is no sense in starting a thread and trying to parse document source as JavaScript.
  • bindings/js/JSWorkerConstructor.cpp: (WebCore::constructWorker): Return quickly if toString() raised an exception.
10:11 AM Changeset in webkit [38622] by ap@webkit.org
  • 7 edits in trunk/JavaScriptCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22364
Crashes seen on Tiger buildbots due to worker threads exhausting pthread keys

  • runtime/Collector.cpp: (JSC::Heap::Heap): (JSC::Heap::destroy): (JSC::Heap::makeUsableFromMultipleThreads): (JSC::Heap::registerThread):
  • runtime/Collector.h: Pthread key for tracking threads is only created on request now, because this is a limited resource, and thread tracking is not needed for worker heaps, or for WebCore heap.
  • API/JSContextRef.cpp: (JSGlobalContextCreateInGroup): Call makeUsableFromMultipleThreads().
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::sharedInstance): Ditto.
  • runtime/JSGlobalData.h: (JSC::JSGlobalData::makeUsableFromMultipleThreads): Just forward the call to Heap, which clients need not know about, ideally.
9:38 AM Changeset in webkit [38621] by ggaren@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-11-20 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


A little more WREC refactoring.


Removed the "Register" suffix from register names in WREC, and renamed:

currentPosition => index
currentValue => character
quantifierCount => repeatCount


Added a top-level parsePattern function to the WREC parser, which
allowed me to remove the error() and atEndOfPattern() accessors.


Factored out an MSVC customization into a constant.


Renamed nextLabel => beginPattern.

  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateBacktrack1): (JSC::WREC::Generator::generateBacktrackBackreference): (JSC::WREC::Generator::generateBackreferenceQuantifier): (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClassInvertedRange): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateCharacterClass): (JSC::WREC::Generator::generateParentheses): (JSC::WREC::Generator::generateParenthesesResetTrampoline): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary): (JSC::WREC::Generator::generateBackreference): (JSC::WREC::Generator::generateDisjunction): (JSC::WREC::Generator::terminateDisjunction):
  • wrec/WRECGenerator.h:
  • wrec/WRECParser.h: (JSC::WREC::Parser::parsePattern):
8:43 AM Changeset in webkit [38620] by Simon Fraser
  • 8 edits
    4 adds in trunk

2008-11-19 Simon Fraser <Simon Fraser>

Reviewed by Adele Peterson.

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

Fix the painting and event handling in transformed search fields.
When painting the cancel and results button parts, get the rect from AppKit
relative to the input bounds (rather than in absolute coords), then convert
it into the coords of the part's renderer (which is the one that is painting).
To do this we need to compute an offset relative to some container, so expose
a method on RenderObject for that.

Also fix the location at which the search popup shows up to take transforms
into account, and fix the math that is used to figure out if the search
results button, or the cancel button should get the mouse events.

Test: fast/forms/search-transformed.html

  • rendering/RenderBox.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::offsetFromContainer):
  • rendering/RenderObject.h:
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::forwardEvent): (WebCore::RenderTextControl::showPopup):
  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::convertToPaintingRect): (WebCore::RenderThemeMac::paintSearchFieldCancelButton): (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
5:50 AM Changeset in webkit [38619] by Simon Hausmann
  • 1 edit in trunk/WebCore/platform/text/RegularExpression.cpp

Fix the previous submit and re-add accidential pcre/pcre.h inclusion

5:44 AM Changeset in webkit [38618] by Simon Hausmann
  • 13 edits in trunk

2008-11-20 Joerg Bornemann <joerg.bornemann@trolltech.com>

Reviewed by Simon Hausmann.

Steps towards making the the Qt port of WebKit compile on Windows CE

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

2:47 AM Changeset in webkit [38617] by Antti Koivisto
  • 7 edits in trunk/WebCore

2008-11-20 Antti Koivisto <Antti Koivisto>

Reviewed by Maciej Stachowiak.

https://bugs.webkit.org/show_bug.cgi?id=22379
Make CSSOM use less memory


  • Shrink CSSProperty by half by using bitfields.
  • Get rid of m_strictParsing field in StyleBase by moving it up to CSSStyleSheet and CSSMutableStyleDeclaration. This reduces size of many highly popular objects.
  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): (WebCore::CSSMutableStyleDeclaration::operator=):
  • css/CSSMutableStyleDeclaration.h: (WebCore::CSSMutableStyleDeclaration::setStrictParsing): (WebCore::CSSMutableStyleDeclaration::useStrictParsing):
  • css/CSSProperty.h:
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::CSSStyleSheet):
  • css/CSSStyleSheet.h: (WebCore::CSSStyleSheet::setStrictParsing): (WebCore::CSSStyleSheet::useStrictParsing):
  • css/StyleBase.h: (WebCore::StyleBase::useStrictParsing): (WebCore::StyleBase::StyleBase):

Nov 19, 2008:

8:46 PM Changeset in webkit [38616] by darin@chromium.org
  • 2 edits in trunk/WebKit/qt

2008-11-19 Darin Fisher <darin@chromium.org>

Fix bustage.

https://bugs.webkit.org/show_bug.cgi?id=22373
Ports busted by addition of ScriptValue.{h,cpp}

  • Api/qwebframe.cpp: (QWebFrame::evaluateJavaScript):
7:31 PM Changeset in webkit [38615] by darin@chromium.org
  • 2 edits in trunk/WebKit/qt

2008-11-19 Darin Fisher <darin@chromium.org>

Fix bustage.

https://bugs.webkit.org/show_bug.cgi?id=22373
Ports busted by addition of ScriptValue.{h,cpp}

  • Api/qwebframe.cpp:
7:27 PM Changeset in webkit [38614] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-11-19 Darin Fisher <darin@chromium.org>

Fix bustage.

https://bugs.webkit.org/show_bug.cgi?id=22373
Ports busted by addition of ScriptValue.{h,cpp}


  • plugins/PluginView.cpp: (WebCore::PluginView::performRequest):
7:19 PM Changeset in webkit [38613] by darin@chromium.org
  • 8 edits in trunk

2008-11-19 Darin Fisher <darin@chromium.org>

Bustage fix.

https://bugs.webkit.org/show_bug.cgi?id=22373
Ports busted by addition of ScriptValue.{h,cpp}

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCoreSources.bkl:
  • dom/XMLTokenizerQt.cpp:
  • plugins/PluginView.cpp:
6:44 PM Changeset in webkit [38612] by Simon Fraser
  • 4 edits
    2 adds in trunk

Reviewed by Antti Koivisto

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

Fix hit testing in controls on transformed video elements
by replacing absoluteBoundingBoxRect().contains() with
code that maps the point into local coords, taking
transforms into account.

Test: media/video-controls-transformed.html

  • platform/graphics/MediaPlayer.h:
  • rendering/RenderMedia.cpp: (WebCore::rendererContainsPoint): (WebCore::RenderMedia::forwardEvent):
6:33 PM Changeset in webkit [38611] by andersca@apple.com
  • 3 edits
    1 copy
    1 add in trunk

WebKit/mac:

2008-11-19 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Test: plugins/netscape-plugin-setwindow-size-2.html


Fix bug where NPP_SetWindow wasn't getting called for some plug-ins.


  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView updateAndSetWindow]): Don't bail if the drawing model is not the CA drawing model. Remove some code that was doing the wrong thing.

LayoutTests:

2008-11-19 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Add NPP_SetWindow test.


  • plugins/netscape-plugin-setwindow-size-2-expected.txt: Added.
  • plugins/netscape-plugin-setwindow-size-2.html: Copied from plugins/netscape-plugin-setwindow-size.html.
6:05 PM Changeset in webkit [38610] by darin@chromium.org
  • 19 edits
    2 adds in trunk

2008-11-18 Darin Fisher <darin@chromium.org>

Reviewed by Geoff Garen.

https://bugs.webkit.org/show_bug.cgi?id=22345
Define ScriptValue as a thin container for a JSC::Value*.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ScheduledAction.cpp:
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptValue.cpp: Added. (WebCore::ScriptValue::getString):
  • bindings/js/ScriptValue.h: Added. (WebCore::ScriptValue::ScriptValue): (WebCore::ScriptValue::jsValue):
  • dom/ScriptElement.cpp:
  • dom/XMLTokenizer.cpp:
  • dom/XMLTokenizerLibxml2.cpp:
  • html/HTMLTokenizer.cpp:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::executeIfJavaScriptURL): (WebCore::FrameLoader::executeScript):
  • loader/FrameLoader.h:
5:53 PM Changeset in webkit [38609] by wsiegrist@apple.com
  • 1 edit in trunk/BugsSite/data/params

2008-11-19 William Siegrist <wsiegrist@apple.com>

Reviewed by David Kilzer

Sync config changes made to bugzilla on the server

5:33 PM Changeset in webkit [38608] by Beth Dakin
  • 2 edits in trunk/WebCore

2008-11-19 Beth Dakin <Beth Dakin>

Reviewed by Justin Garcia.

Fix for <rdar://problem/5472507> Remove color property when a user
sets color to black

This patch prevents us from inserting font nodes during the
ApplyStyleCommand if they will not change the computed style of an
element.

  • editing/ApplyStyleCommand.cpp: (WebCore::fontColorChangesComputedStyle): (WebCore::fontSizeChangesComputedStyle): (WebCore::fontFaceChangesComputedStyle): (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
5:30 PM Changeset in webkit [38607] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-11-19 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

<rdar://problem/6383762> WebKit r38340 crash on key press in plugin


Set the value to 0 before calling NPP_GetValue, in case the plug-in returns NPERR_NO_ERROR but does not
update the value.


  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView createPlugin]):
4:45 PM Changeset in webkit [38606] by adele@apple.com
  • 2 edits in trunk/WebKit/win

2008-11-19 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

For transparent views, clear the dirty rect instead of painting it white.


  • WebView.cpp: (WebView::paintIntoBackingStore):
2:11 PM Changeset in webkit [38605] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-11-19 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Make sure to copy the MIME type.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
1:59 PM Changeset in webkit [38604] by ggaren@apple.com
  • 4 edits in trunk/WebKit/mac

2008-11-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


First step toward fixing <rdar://problem/6263293> WebScriptDebugDelegate
should use intptr_t for sourceId, not int


Added a conditional typedef (currently disabled) to switch sourceId to
intptr_t in non-Tiger, non-Leopard builds.

  • DefaultDelegates/WebDefaultScriptDebugDelegate.m: (-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]): (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]): (-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]): (-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]): (-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]): (-[WebDefaultScriptDebugDelegate webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
  • WebView/WebScriptDebugDelegate.h:
  • WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): (WebScriptDebugger::callEvent): (WebScriptDebugger::atStatement): (WebScriptDebugger::returnEvent): (WebScriptDebugger::exception):
1:08 PM Changeset in webkit [38603] by ggaren@apple.com
  • 6 edits
    2 adds in trunk

JavaScriptCore:

2008-11-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


https://bugs.webkit.org/show_bug.cgi?id=22361
A little more RegExp refactoring.


Consistently named variables holding the starting position at which
regexp matching should begin to "startOffset".


A few more "regExpObject" => "regExpConstructor" changes.


Refactored RegExpObject::match for clarity, and replaced a slow "get"
of the "global" property with a fast access to the global bit.


Made the error message you see when RegExpObject::match has no input a
little more informative, as in Firefox.

  • runtime/RegExp.cpp: (JSC::RegExp::match):
  • runtime/RegExp.h:
  • runtime/RegExpObject.cpp: (JSC::RegExpObject::match):
  • runtime/StringPrototype.cpp: (JSC::stringProtoFuncReplace): (JSC::stringProtoFuncMatch): (JSC::stringProtoFuncSearch):

LayoutTests:

2008-11-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


Test for https://bugs.webkit.org/show_bug.cgi?id=22361
A little more RegExp refactoring

  • fast/js/regexp-test-null-string.html: Added.
  • fast/js/regexp-test-null-expected.txt: Added.
1:07 PM Changeset in webkit [38602] by Simon Fraser
  • 5 edits in trunk/WebCore

2008-11-19 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

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

Need to educate style sharing about autofill, so that style does not
get shared between input elements that are autofilled, and those
that are not. Setting autofill should also do a setChanged on the node.

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::canShareStyleWithElement): (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  • dom/Node.h: (WebCore::Node::isAutofilled):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setAutofilled):
  • html/HTMLInputElement.h: (WebCore::HTMLInputElement::isAutofilled):
12:44 PM Changeset in webkit [38601] by brettw@chromium.org
  • 2 edits in trunk/WebCore

Reviewed by Antti Koivisto.

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

Clear the subresource loader client when the client is removed in
response to a 304 (not modified). This prevents an inconsistent state
where the loader thinks it's active and the loader::Host doesn't.

11:16 AM Changeset in webkit [38600] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-11-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


A little more refactoring.


Removed the "emit" and "emitUnlinked" prefixes from the assembler.


Moved the JmpSrc and JmpDst class definitions to the top of the X86
assembler class, in accordance with WebKit style guidelines.

  • assembler/X86Assembler.h: (JSC::X86Assembler::JmpSrc::JmpSrc): (JSC::X86Assembler::JmpDst::JmpDst): (JSC::X86Assembler::int3): (JSC::X86Assembler::pushl_m): (JSC::X86Assembler::popl_m): (JSC::X86Assembler::movl_rr): (JSC::X86Assembler::addl_rr): (JSC::X86Assembler::addl_i8r): (JSC::X86Assembler::addl_i8m): (JSC::X86Assembler::addl_i32r): (JSC::X86Assembler::addl_mr): (JSC::X86Assembler::andl_rr): (JSC::X86Assembler::andl_i32r): (JSC::X86Assembler::cmpl_i8r): (JSC::X86Assembler::cmpl_rr): (JSC::X86Assembler::cmpl_rm): (JSC::X86Assembler::cmpl_mr): (JSC::X86Assembler::cmpl_i32r): (JSC::X86Assembler::cmpl_i32m): (JSC::X86Assembler::cmpl_i8m): (JSC::X86Assembler::cmpw_rm): (JSC::X86Assembler::orl_rr): (JSC::X86Assembler::orl_mr): (JSC::X86Assembler::orl_i32r): (JSC::X86Assembler::subl_rr): (JSC::X86Assembler::subl_i8r): (JSC::X86Assembler::subl_i8m): (JSC::X86Assembler::subl_i32r): (JSC::X86Assembler::subl_mr): (JSC::X86Assembler::testl_i32r): (JSC::X86Assembler::testl_i32m): (JSC::X86Assembler::testl_rr): (JSC::X86Assembler::xorl_i8r): (JSC::X86Assembler::xorl_rr): (JSC::X86Assembler::sarl_i8r): (JSC::X86Assembler::sarl_CLr): (JSC::X86Assembler::shl_i8r): (JSC::X86Assembler::shll_CLr): (JSC::X86Assembler::imull_rr): (JSC::X86Assembler::imull_i32r): (JSC::X86Assembler::idivl_r): (JSC::X86Assembler::negl_r): (JSC::X86Assembler::movl_mr): (JSC::X86Assembler::movzbl_rr): (JSC::X86Assembler::movzwl_mr): (JSC::X86Assembler::movl_rm): (JSC::X86Assembler::movl_i32r): (JSC::X86Assembler::movl_i32m): (JSC::X86Assembler::leal_mr): (JSC::X86Assembler::jmp_r): (JSC::X86Assembler::jmp_m): (JSC::X86Assembler::movsd_mr): (JSC::X86Assembler::xorpd_mr): (JSC::X86Assembler::movsd_rm): (JSC::X86Assembler::movd_rr): (JSC::X86Assembler::cvtsi2sd_rr): (JSC::X86Assembler::cvttsd2si_rr): (JSC::X86Assembler::addsd_mr): (JSC::X86Assembler::subsd_mr): (JSC::X86Assembler::mulsd_mr): (JSC::X86Assembler::addsd_rr): (JSC::X86Assembler::subsd_rr): (JSC::X86Assembler::mulsd_rr): (JSC::X86Assembler::ucomis_rr): (JSC::X86Assembler::pextrw_irr): (JSC::X86Assembler::call): (JSC::X86Assembler::jmp): (JSC::X86Assembler::jne): (JSC::X86Assembler::jnz): (JSC::X86Assembler::je): (JSC::X86Assembler::jl): (JSC::X86Assembler::jb): (JSC::X86Assembler::jle): (JSC::X86Assembler::jbe): (JSC::X86Assembler::jge): (JSC::X86Assembler::jg): (JSC::X86Assembler::ja): (JSC::X86Assembler::jae): (JSC::X86Assembler::jo): (JSC::X86Assembler::jp): (JSC::X86Assembler::js): (JSC::X86Assembler::predictNotTaken): (JSC::X86Assembler::convertToFastCall): (JSC::X86Assembler::restoreArgumentReference): (JSC::X86Assembler::restoreArgumentReferenceForTrampoline): (JSC::X86Assembler::modRm_rr): (JSC::X86Assembler::modRm_rr_Unchecked): (JSC::X86Assembler::modRm_rm): (JSC::X86Assembler::modRm_rm_Unchecked): (JSC::X86Assembler::modRm_rmsib): (JSC::X86Assembler::modRm_opr): (JSC::X86Assembler::modRm_opr_Unchecked): (JSC::X86Assembler::modRm_opm): (JSC::X86Assembler::modRm_opm_Unchecked): (JSC::X86Assembler::modRm_opmsib):
  • jit/JIT.cpp: (JSC::JIT::emitNakedCall): (JSC::JIT::emitNakedFastCall): (JSC::JIT::emitCTICall): (JSC::JIT::emitJumpSlowCaseIfNotJSCell): (JSC::JIT::emitJumpSlowCaseIfNotImmNum): (JSC::JIT::emitFastArithDeTagImmediateJumpIfZero): (JSC::JIT::emitFastArithIntToImmOrSlowCase): (JSC::JIT::emitArithIntToImmWithJump): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpStrictEq): (JSC::JIT::emitSlowScriptCheck): (JSC::JIT::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::JIT::compileBinaryArithOp): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::privateCompileCTIMachineTrampolines): (JSC::JIT::privateCompilePatchGetArrayLength):
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateBackreferenceQuantifier): (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClassInvertedRange): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateCharacterClass): (JSC::WREC::Generator::generateParentheses): (JSC::WREC::Generator::generateParenthesesNonGreedy): (JSC::WREC::Generator::generateParenthesesResetTrampoline): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary): (JSC::WREC::Generator::generateBackreference): (JSC::WREC::Generator::generateDisjunction):
10:28 AM Changeset in webkit [38599] by ap@webkit.org
  • 4 edits
    2 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22355
Systematize code for replacing global constructors

Test: fast/workers/worker-replace-global-constructor.html

  • bindings/js/JSDOMWindowBase.cpp: (setJSDOMWindowBaseEvent): Changed to put the value as property, matching what generated code for global constructor setters does. (setJSDOMWindowBaseAudio): Ditto. (setJSDOMWindowBaseImage): Ditto. (setJSDOMWindowBaseMessageChannel): Ditto. (setJSDOMWindowBaseOption): Ditto. (setJSDOMWindowBaseWorker): Ditto. (setJSDOMWindowBaseXMLHttpRequest): Ditto. (setJSDOMWindowBaseXSLTProcessor): Ditto. (WebCore::JSDOMWindowBase::put): Removed special cases for global constructors.
  • bindings/js/JSWorkerContext.cpp: (WebCore::JSWorkerContext::getOwnPropertySlot): Look up overrides before own properties, as it is done for Window. (WebCore::setJSWorkerContextMessageEvent): Implemented in the same way as Window global constructors are. (WebCore::setJSWorkerContextWorkerLocation): Ditto.
10:09 AM Changeset in webkit [38598] by bolsinga@apple.com
  • 2 edits in trunk/WebKitTools

2008-11-19 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

All static C++ objects that create atexit calls are gone. Update script
to indicate how to fix the problem should a new one appear.


  • Scripts/check-for-exit-time-destructors:
9:57 AM Changeset in webkit [38597] by ap@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22341
Text codecs should not use static data without locking

  • platform/text/TextCodecICU.cpp:
  • platform/text/mac/TextCodecMac.cpp: Made cached converters per-thread.
  • platform/text/TextEncodingRegistry.cpp: (WebCore::encodingRegistryMutex): Added a mutex for codec maps access. (WebCore::addToTextCodecMap): Don't use TextEncoding just to cacnonicalize the name, as it causes a dedalock due to a recursive call into registry. (WebCore::buildBaseTextCodecMaps): Added assertions. (WebCore::newTextCodec): Take a lock to avoid concurrent access to codec maps. (WebCore::atomicCanonicalTextEncodingName): Ditto. (WebCore::noExtendedTextEncodingNameUsed): Added a comment, explaining why locking is not necessary here.
9:57 AM Changeset in webkit [38596] by ap@webkit.org
  • 2 edits in trunk/WebCore

Touch WebCorePrefix.h to force a rebuild, needed because of changed feature defines.

  • WebCorePrefix.h:
9:42 AM Changeset in webkit [38595] by ap@webkit.org
  • 25 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22310
Worker exceptions should be printed to console

  • dom/Document.cpp: (WebCore::Document::reportException):
  • dom/Document.h:
  • dom/ScriptExecutionContext.h:
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::reportException):
  • dom/WorkerContext.h: Added a reportException() method on ScriptExecutionContext. It forwards the exception info up until it finds a Document context, and then it prints it to console.
  • bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent): Don't talk to Console directly, use ScriptExecutionContext::reportException. Also, fixed a bug where Document::updateDocumentsRendering() could be called from workers. (WebCore::JSLazyEventListener::parseCode): Moved variable declaration inside if block for clarity.
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): Report exceptions to ScriptExecutionContext.
  • dom/WorkerMessagingProxy.cpp: (WebCore::MessageWorkerTask::performTask): (WebCore::WorkerExceptionTask::create): (WebCore::WorkerExceptionTask::WorkerExceptionTask): (WebCore::WorkerExceptionTask::performTask): (WebCore::WorkerMessagingProxy::postWorkerException):
  • dom/WorkerMessagingProxy.h: Added a task for posting exception information.
  • bindings/js/JSDOMBinding.cpp: (WebCore::reportException): (WebCore::reportCurrentException):
  • bindings/js/JSDOMBinding.h: Added helper methods for reporting exceptions via ScriptExecutionContext.
  • page/Console.cpp:
  • page/Console.h: Removed methods for directly reporting exceptions to console.
  • bindings/js/JSCustomPositionCallback.cpp: (WebCore::JSCustomPositionCallback::handleEvent):
  • bindings/js/JSCustomPositionErrorCallback.cpp: (WebCore::JSCustomPositionErrorCallback::handleEvent):
  • bindings/js/JSCustomSQLStatementCallback.cpp: (WebCore::JSCustomSQLStatementCallback::handleEvent):
  • bindings/js/JSCustomSQLStatementErrorCallback.cpp: (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  • bindings/js/JSCustomSQLTransactionCallback.cpp: (WebCore::JSCustomSQLTransactionCallback::handleEvent):
  • bindings/js/JSCustomSQLTransactionErrorCallback.cpp: (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
  • bindings/js/JSCustomVoidCallback.cpp: (WebCore::JSCustomVoidCallback::handleEvent):
  • bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate):
  • bindings/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): Switch to JSDOMBinding methods for reporting exceptions.
8:19 AM Changeset in webkit [38594] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-11-19 Simon Hausmann <Simon Hausmann>

Sun CC build fix, removed trailing comman for last enum value.

4:17 AM Changeset in webkit [38593] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-11-19 Simon Hausmann <Simon Hausmann>

Fix the Qt build, remove file referenced in the qrc file that does not
exist and is not needed.

1:06 AM Changeset in webkit [38592] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Expand the workaround for Apple GCC compiler bug <rdar://problem/6354696> to all versions of GCC 4.0.1.
It has been observed with builds 5465 (Xcode 3.0) and 5484 (Xcode 3.1), and there is no evidence
that it has been fixed in newer builds of GCC 4.0.1.

This addresses <https://bugs.webkit.org/show_bug.cgi?id=22351> (WebKit nightly crashes on launch on 10.4.11).

Reviewed by Alexey Proskuryakov.

  • wtf/StdLibExtras.h:

Nov 18, 2008:

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

Reviewed by Mark Rowe.

  • platform/ContextMenuItem.h: (WebCore::ContextMenuAction): Reorder this enum to keep it in sync with the one in WebUIDelegate.h.
8:04 PM Changeset in webkit [38590] by cwzwarich@webkit.org
  • 3 edits
    3 adds in trunk

2008-11-18 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak and Geoff Garen.

Bug 22287: ASSERTION FAILED: Not enough jumps linked in slow case codegen in CTI::privateCompileSlowCases())
<https://bugs.webkit.org/show_bug.cgi?id=22287>

Fix a typo in the number cell reuse code where the first and second
operands are sometimes confused.

JavaScriptcore:

  • jit/JIT.cpp: (JSC::JIT::compileBinaryArithOpSlowCase):

LayoutTests:

  • fast/js/number-cell-reuse-expected.txt: Added.
  • fast/js/number-cell-reuse.html: Added.
  • fast/js/resources/number-cell-reuse.js: Added.
5:58 PM Changeset in webkit [38589] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-11-18 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22346
PlatformString should also include HashSet.h for non-JSC builds

  • platform/text/PlatformString.h:
5:22 PM Changeset in webkit [38588] by adele@apple.com
  • 2 edits in trunk/WebKit/win

2008-11-18 Adele Peterson <adele@apple.com>

Reverting last change. I just realized it causes the view to never get cleared out.

  • WebView.cpp: (WebView::paintIntoBackingStore):
5:11 PM Changeset in webkit [38587] by adele@apple.com
  • 2 edits in trunk/WebKit/win

2008-11-18 Adele Peterson <adele@apple.com>

Reviewed by John Sullivan.

Don't fill the view with white if its transparent.


  • WebView.cpp: (WebView::paintIntoBackingStore):
4:57 PM Changeset in webkit [38586] by mitz@apple.com
  • 2 edits in trunk/WebKit/mac

Reviewed by Mark Rowe.

  • WebView/WebUIDelegatePrivate.h: Reorder new enum values after existing ones.
4:46 PM Changeset in webkit [38585] by zecke@webkit.org
  • 2 edits in trunk/LayoutTests

2008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>

Rubber-stamped by Mark Rowe.

Skip some more tests to make the Gtk+ build bot pass. We will
have to investigate why some tests only fail on the build bot.

  • platform/gtk/Skipped:
4:25 PM Changeset in webkit [38584] by adele@apple.com
  • 2 edits in trunk/WebCore

2008-11-18 Adele Peterson <adele@apple.com>

Reviewed by Holger Hans Peter Freyther.

Flip check added in recent refactoring so the background gets updated when the background color is valid, not invalid.

  • loader/FrameLoaderClient.cpp: (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
4:05 PM Changeset in webkit [38583] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

2008-11-18 Sam Weinig <sam@webkit.org>

Fix incorrect result.

  • fast/dom/Window/window-properties-expected.txt:
3:52 PM Changeset in webkit [38582] by darin@chromium.org
  • 2 edits in trunk/WebCore

Reverting r38574 since it caused some layout test failures.

3:51 PM Changeset in webkit [38581] by Nikolas Zimmermann
  • 2 edits in trunk/LayoutTests

Not reviewed. Checked in wrong result in last commit.

3:39 PM Changeset in webkit [38580] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-11-18 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=22343
Remove unused runtime/Collector, JSLock includes in Page.cpp

  • page/Page.cpp:
3:30 PM Changeset in webkit [38579] by adachan@apple.com
  • 2 edits in trunk/WebCore

Bug 22344: Make select popup window opaque
https://bugs.webkit.org/show_bug.cgi?id=22344

Reviewed by Steve Falkenburg.

  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::show):
3:16 PM Changeset in webkit [38578] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-11-18 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=22342
Remove unused JSLock.h include

  • dom/Document.cpp:
2:15 PM Changeset in webkit [38577] by Nikolas Zimmermann
  • 14 edits
    93 adds in trunk

Reviewed by Sam Weinig.

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

Add WMLBRElement, correcting <br/> behaviour in WML.
Enable entity replacment for WML documents.
Handle WML specific <p> 'mode' attribute.

Generate layout tests results for fast/wml.

Tests cases that pass now:
fast/wml/br-element-in-table.wml
fast/wml/br-element-in-text.wml
fast/wml/case-sensitivity.wml
fast/wml/cdata-section.wml
fast/wml/comment.wml
fast/wml/entity.wml
fast/wml/p-align.wml
fast/wml/p-mode.wml
fast/wml/text-emphasis.wml
fast/wml/validate-dtd.wml

2:04 PM Changeset in webkit [38576] by mitz@apple.com
  • 2 edits in trunk/JavaScriptCore
  • try to fix the Windows build
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute):
1:52 PM Changeset in webkit [38575] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-11-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Minor RegExp cleanup.


SunSpider says no change.

  • runtime/RegExpObject.cpp: (JSC::RegExpObject::match): Renamed "regExpObj" to "regExpConstructor".
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp): Instead of checking for a NULL output vector, ASSERT that the output vector is not NULL. (The rest of WREC is not safe to use with a NULL output vector, and we probably don't want to spend the time and/or performance to make it safe.)
1:21 PM Changeset in webkit [38574] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-11-18 Aaron Boodman aa@chromium.org

Reviewed by Maciej Stachowiak.

https://bugs.webkit.org/show_bug.cgi?id=22301
Always call dispatchDidFinishDocumentLoad before Window's onload event.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedParsing):
12:38 PM Changeset in webkit [38573] by ggaren@apple.com
  • 2 edits in trunk/LayoutTests

2008-11-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Alexey Proskuryakov.


Updated layout test result for addition of window.Worker.

  • fast/js/global-constructors-expected.txt:
12:07 PM Changeset in webkit [38572] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-11-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


A little more renaming and refactoring.


VM_CHECK_EXCEPTION() => CHECK_FOR_EXCEPTION().
NEXT_INSTRUCTION => NEXT_INSTRUCTION().

Removed the "Error_" and "TempError_" prefixes from WREC error types.

Refactored the WREC parser so it doesn't need a "setError" function,
and changed "isEndOfPattern" and its use -- they read kind of backwards
before.


Changed our "TODO:" error messages at least to say something, since you
can't say "TODO:" in shipping software.

  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): (JSC::Interpreter::cti_op_convert_this): (JSC::Interpreter::cti_op_add): (JSC::Interpreter::cti_op_pre_inc): (JSC::Interpreter::cti_op_loop_if_less): (JSC::Interpreter::cti_op_loop_if_lesseq): (JSC::Interpreter::cti_op_put_by_id): (JSC::Interpreter::cti_op_put_by_id_second): (JSC::Interpreter::cti_op_put_by_id_generic): (JSC::Interpreter::cti_op_put_by_id_fail): (JSC::Interpreter::cti_op_get_by_id): (JSC::Interpreter::cti_op_get_by_id_second): (JSC::Interpreter::cti_op_get_by_id_generic): (JSC::Interpreter::cti_op_get_by_id_fail): (JSC::Interpreter::cti_op_instanceof): (JSC::Interpreter::cti_op_del_by_id): (JSC::Interpreter::cti_op_mul): (JSC::Interpreter::cti_op_call_NotJSFunction): (JSC::Interpreter::cti_op_resolve): (JSC::Interpreter::cti_op_construct_NotJSConstruct): (JSC::Interpreter::cti_op_get_by_val): (JSC::Interpreter::cti_op_resolve_func): (JSC::Interpreter::cti_op_sub): (JSC::Interpreter::cti_op_put_by_val): (JSC::Interpreter::cti_op_put_by_val_array): (JSC::Interpreter::cti_op_lesseq): (JSC::Interpreter::cti_op_loop_if_true): (JSC::Interpreter::cti_op_negate): (JSC::Interpreter::cti_op_resolve_skip): (JSC::Interpreter::cti_op_resolve_global): (JSC::Interpreter::cti_op_div): (JSC::Interpreter::cti_op_pre_dec): (JSC::Interpreter::cti_op_jless): (JSC::Interpreter::cti_op_not): (JSC::Interpreter::cti_op_jtrue): (JSC::Interpreter::cti_op_post_inc): (JSC::Interpreter::cti_op_eq): (JSC::Interpreter::cti_op_lshift): (JSC::Interpreter::cti_op_bitand): (JSC::Interpreter::cti_op_rshift): (JSC::Interpreter::cti_op_bitnot): (JSC::Interpreter::cti_op_resolve_with_base): (JSC::Interpreter::cti_op_mod): (JSC::Interpreter::cti_op_less): (JSC::Interpreter::cti_op_neq): (JSC::Interpreter::cti_op_post_dec): (JSC::Interpreter::cti_op_urshift): (JSC::Interpreter::cti_op_bitxor): (JSC::Interpreter::cti_op_bitor): (JSC::Interpreter::cti_op_push_scope): (JSC::Interpreter::cti_op_to_jsnumber): (JSC::Interpreter::cti_op_in): (JSC::Interpreter::cti_op_del_by_val):
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WRECParser.cpp: (JSC::WREC::Parser::parseGreedyQuantifier): (JSC::WREC::Parser::parseParentheses): (JSC::WREC::Parser::parseCharacterClass): (JSC::WREC::Parser::parseEscape):
  • wrec/WRECParser.h: (JSC::WREC::Parser::): (JSC::WREC::Parser::atEndOfPattern):
11:58 AM Changeset in webkit [38571] by Beth Dakin
  • 1 edit in trunk/WebKit/mac/ChangeLog

2008-11-17 Beth Dakin <Beth Dakin>

Reviewed by Adele Peterson.

Fix for <rdar://problem/6373102> REGRESSION (r36919): In a new mail
message, the caret appears in message body by default

This fixes a regression caused by http://trac.webkit.org/changeset/36919.
That change was too sweeping; we do not want to
unconditionally set the page to be active, but we can be looser
than the original constraints. This patch set the window active if
the first responder is or is a descendant of the main frame's frame
view.

  • WebView/WebView.mm: (-[WebView _updateFocusedAndActiveStateForFrame:]):
11:57 AM Changeset in webkit [38570] by Beth Dakin
  • 2 edits in trunk/WebKit/mac

2008-11-17 Beth Dakin <Beth Dakin>

Reviewed by Adele Peterson.

Fix for <rdar://problem/6373102> REGRESSION (r36919): In a new mail
message, the caret appears in message body by default

This fixes a regression caused by http://trac.webkit.org/changeset/

  1. That change was too sweeping; we do not want to unconditionally set the page to be active, but we can be looser than the original constraints. This patch set the window active if the first responder is or is a descendant of the main frame's frame view.
  • WebView/WebView.mm: (-[WebView _updateFocusedAndActiveStateForFrame:]):
11:23 AM Changeset in webkit [38569] by ap@webkit.org
  • 2 edits in trunk/WebCore

Windows build fix.

  • WebCore.vcproj/WebCore.vcproj: Fix relative paths to use $(WebKitOutputDir).
10:26 AM Changeset in webkit [38568] by Darin Adler
  • 2 edits in trunk/WebCore

2008-11-18 Darin Adler <Darin Adler>

  • try to fix Wx build
  • WebCoreSources.bkl: Added FrameLoaderClient.cpp.
10:25 AM Changeset in webkit [38567] by ap@webkit.org
  • 11 edits
    12 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22337
Enable workers by default

10:23 AM Changeset in webkit [38566] by Darin Adler
  • 11 edits
    3 adds in trunk

WebCore:

2008-11-18 Darin Adler <Darin Adler>

Reviewed by Alexey Proskuryakov.

Test: http/tests/xmlhttprequest/get-dangerous-headers.html

No test for HTTP-only support in JavaScript yet, since the Mac and Win changes
require an updated CFNetwork.

  • platform/mac/CookieJar.mm: (WebCore::isHTTPOnly): Added. (WebCore::filterCookies): Added. (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies. (WebCore::setCookies): Use filterCookies to prevent setting HTTP-only cookies.
  • platform/network/win/CookieJarCFNetWin.cpp: (WebCore::isHTTPOnly): Added. (WebCore::filterCookies): Added. (WebCore::setCookies): Use filterCookies to prevent getting HTTP-only cookies. (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
  • xml/XMLHttpRequest.cpp: (WebCore::isSetCookieHeader): Added. (WebCore::XMLHttpRequest::getAllResponseHeaders): Hide Set-Cookie headers from clients that don't have local-resource privileges. (WebCore::XMLHttpRequest::getResponseHeader): Ditto.
  • clean soup-specific details out of shared cookie jar header
  • platform/CookieJar.h: Removed the soup-specific parts of this.
  • platform/network/soup/CookieJarSoup.cpp: Changed to include CookieJarSoup.h. Tweaked implementation a bit to handle UTF-8 better.
  • platform/network/soup/CookieJarSoup.h: Added. Has the Soup-specified part of CookieJar.h.
  • platform/network/soup/ResourceHandleSoup.cpp: Changed to include CookieJarSoup.h.

LayoutTests:

2008-11-18 Darin Adler <Darin Adler>

Reviewed by Alexey Proskuryakov.

  • add a test for XMLHttpRequest Set-Cookie blocking
  • http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers-expected.txt: Updated since we now log attempts to get headers that are not allowed cross-domain to the console.
  • http/tests/xmlhttprequest/get-dangerous-headers-expected.txt: Added.
  • http/tests/xmlhttprequest/get-dangerous-headers.html: Added.
  • http/tests/xmlhttprequest/resources/get-set-cookie.cgi: Tweak script a bit.
9:59 AM Changeset in webkit [38565] by sfalken@apple.com
  • 2 edits in trunk/WebCore

2008-11-18 Steve Falkenburg <sfalken@apple.com>

https://bugs.webkit.org/show_bug.cgi?id=22329
Improper bitwise and tests against 0 in Windows context menu code

Reviewed by John Sullivan.

  • platform/win/ContextMenuItemWin.cpp: (WebCore::ContextMenuItem::type): (WebCore::ContextMenuItem::enabled):
9:32 AM Changeset in webkit [38564] by sullivan@apple.com
  • 2 edits in trunk/WebCore

2008-11-18 John Sullivan <sullivan@apple.com>

Yet more Mac build fixing

  • WebCore.base.exp: Export ZTVN7WebCore17FrameLoaderClientE
8:19 AM Changeset in webkit [38563] by vestbo@webkit.org
  • 2 edits
    1 add in trunk/WebKit/qt

2008-11-18 Ariya Hidayat <ariya.hidayat@trolltech.com>

Rubber-stamped by Tor Arne Vestbø.

Missing file in new unit test for QWebFrame (r38493).

  • tests/qwebframe/qwebframe.pro:
  • tests/qwebframe/qwebframe.qrc: Added.
8:09 AM Changeset in webkit [38562] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>

Rubber-stamped by Simon Hausmann.

Make sure QWidget based plugins are invisible until placed into the layout

6:43 AM Changeset in webkit [38561] by ap@webkit.org
  • 4 edits in trunk/JavaScriptCore
  • Windows build fix
  • wrec/WRECFunctors.h:
  • wrec/WRECGenerator.h:
  • wrec/WRECParser.h: CharacterClass is a struct, not a class, fix forward declarations.
6:41 AM Changeset in webkit [38560] by vestbo@webkit.org
  • 4 edits in trunk

2008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

React properly to frame rect changes for QWidget based plugins

We now set the geometry of the QWidget in frameRectsChanged,
intead of setFrameRect, which means we pick up the changes to
the frame rect when scrolling. We also set a mask on the
widget to keep it from painting over scrollbars and the like

6:41 AM Changeset in webkit [38559] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>

Rubber-stamped by Simon Hausmann.

Don't mark scrollbars as focused in QtWebKit

When initing from the widget we also got the focus state,
but this does not make sense for scrollbars.

6:30 AM Changeset in webkit [38558] by zecke@webkit.org
  • 2 edits in trunk/WebKit/win

Try to fix the Windows build.

5:46 AM Changeset in webkit [38557] by ap@webkit.org
  • 2 edits in trunk/WebCore

More Mac build fixing.

  • WebCore.base.exp: Export FrameLoaderClient destructor.
4:53 AM Changeset in webkit [38556] by ap@webkit.org
  • 2 edits in trunk/WebCore

Mac build fix.

  • WebCore.xcodeproj/project.pbxproj: Add FrameLoaderClient.cpp for now.
4:37 AM Changeset in webkit [38555] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-11-18 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Tor Arne Vestbø.

Fix crash when trying to pick a file using the file chooser.

  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::runOpenPanel):

2008-11-17 Geoffrey Garen <ggaren@apple.com>

4:33 AM Changeset in webkit [38554] by zecke@webkit.org
  • 14 edits
    1 add in trunk

Attempt to share transitionToCommittedForNewPage of FrameLoaderClient with the different ports

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

After Hyatt's work on Widget and ScrollView there is little difference
between the implementation of Qt, Gtk+ and Win. In fact any kind of
difference is mostly a bug. Alp has fixed two of such errors for the Gtk+
port and the Qt port has at least one of them left.

The only difference between the implementations is in getting the the
IntSize for the new FrameView, the background color to be applied and
eventually some post processing.

Unify the implementations by providing a static helper function that
takes a Frame, IntSize, color and transparency bit and calling it from
the Gtk+, the Qt and the Windows port.

4:32 AM Changeset in webkit [38553] by zecke@webkit.org
  • 5 edits in trunk

Move setting the background color and transparency to WebCore

Move setting the background color and transparency from WebKit/win
to WebCore. This allows WebKit/win, WebKit/Qt and WebKit/Gtk+
to share this code.

3:36 AM Changeset in webkit [38552] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-11-17 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Tor Arne Vestbø.

Fix the bug where select elements are painted without border.
http://trolltech.com/developer/task-tracker/index_html?id=218957&method=entry

  • platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::paintMenuList):
2:06 AM Changeset in webkit [38551] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-11-18 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk build fix. Not reviewed.

  • GNUmakefile.am: Fix USER_AGENT_STYLESHEETS, wml.css is in css/, not in wml/.
12:53 AM Changeset in webkit [38550] by ap@webkit.org
  • 2 edits in trunk/WebKitTools

Rubber-stamped by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22306
Disable channel messaging support

  • Scripts/build-webkit: Add an option to enable channel messaging.
12:44 AM Changeset in webkit [38549] by ap@webkit.org
  • 12 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22308
Improve Worker GC behavior

  • dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::hasPendingActivity):
  • dom/ActiveDOMObject.h: Made hasPendingActivity() virtual, letting Worker add behavior to it.
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): Tell message proxy whether there are active objects in the worker whenever JS execution finishes.
  • dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::activeDOMObjects): Added a typedef for activeDOMObjects() return type, necessary to declare iterators.
  • dom/Worker.h:
  • dom/Worker.cpp: (WebCore::Worker::hasPendingActivity): A Worker is active if it is still loading, or if it has unconfirmed messages, or it the worker thread has pending activity.
  • dom/WorkerContext.h:
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::hasPendingActivity): Check all registered active objects for pending activity.
  • dom/WorkerMessagingProxy.cpp: (WebCore::MessageWorkerContextTask::performTask): (WebCore::WorkerThreadActivityReportTask::create): (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask): (WebCore::WorkerThreadActivityReportTask::performTask): (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): (WebCore::WorkerMessagingProxy::workerObjectDestroyed): (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage): (WebCore::WorkerMessagingProxy::reportWorkerThreadActivity): (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal): (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity):
  • dom/WorkerMessagingProxy.h: Track outstanding messages, and activity reported by worker thread.
12:25 AM Changeset in webkit [38548] by mitz@apple.com
  • 2 edits in trunk/JavaScriptCore
  • Windows build fix
  • assembler/X86Assembler.h:
12:03 AM Changeset in webkit [38547] by ap@webkit.org
  • 8 edits
    12 moves
    1 add in trunk

Rubber-stamped by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22306
Disable channel messaging support

WebCore:

  • bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseMessageChannel):
  • page/DOMWindow.idl: Hide MesssagePort and MessageChannel global constructors. Due to the way MessageChannel constructor is added, it remains enumerable, but undefined.

LayoutTests:

  • fast/events/message-port-no-wrapper.html-disabled: Added a test that I had in my tree.
  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/constructors-cached-expected.txt:
  • fast/dom/constructors-cached-navigate-expected.txt:
  • fast/js/global-constructors-expected.txt: Updated results.
  • fast/events/destroyed-atomic-string.html: Removed.
  • fast/events/destroyed-atomic-string.html-disabled: Copied from LayoutTests/fast/events/destroyed-atomic-string.html.
  • fast/events/message-channel-gc-2.html: Removed.
  • fast/events/message-channel-gc-2.html-disabled: Copied from LayoutTests/fast/events/message-channel-gc-2.html.
  • fast/events/message-channel-gc-3.html: Removed.
  • fast/events/message-channel-gc-3.html-disabled: Copied from LayoutTests/fast/events/message-channel-gc-3.html.
  • fast/events/message-channel-gc.html: Removed.
  • fast/events/message-channel-gc.html-disabled: Copied from LayoutTests/fast/events/message-channel-gc.html.
  • fast/events/message-channel-listener-circular-ownership.html: Removed.
  • fast/events/message-channel-listener-circular-ownership.html-disabled: Copied from LayoutTests/fast/events/message-channel-listener-circular-ownership.html.
  • fast/events/message-port-constructor-for-deleted-document.html: Removed.
  • fast/events/message-port-constructor-for-deleted-document.html-disabled: Copied from LayoutTests/fast/events/message-port-constructor-for-deleted-document.html.
  • fast/events/message-port-deleted-document.html: Removed.
  • fast/events/message-port-deleted-document.html-disabled: Copied from LayoutTests/fast/events/message-port-deleted-document.html.
  • fast/events/message-port-deleted-frame.html: Removed.
  • fast/events/message-port-deleted-frame.html-disabled: Copied from LayoutTests/fast/events/message-port-deleted-frame.html.
  • fast/events/message-port-inactive-document.html: Removed.
  • fast/events/message-port-inactive-document.html-disabled: Copied from LayoutTests/fast/events/message-port-inactive-document.html.
  • fast/events/message-port-onclose.html: Removed.
  • fast/events/message-port-onclose.html-disabled: Copied from LayoutTests/fast/events/message-port-onclose.html.
  • fast/events/message-port.html: Removed.
  • fast/events/message-port.html-disabled: Copied from LayoutTests/fast/events/message-port.html.
  • http/tests/security/MessagePort/event-listener-context.html: Removed.
  • http/tests/security/MessagePort/event-listener-context.html-disabled: Copied from LayoutTests/http/tests/security/MessagePort/event-listener-context.html. Disabled MessagePort tests.
Note: See TracTimeline for information about the timeline view.