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.
Note: See TracTimeline for information about the timeline view.