1. 30 Sep, 2009 11 commits
    • hyatt@apple.com's avatar
      Make sure the removal of user stylesheets results in all of the WebViews being updated to · 44194bce
      hyatt@apple.com authored
      reflect the changes.
      
      Reviewed by Tim Hatcher.
      
      * page/PageGroup.cpp:
      (WebCore::PageGroup::removeUserContentWithURLForWorld):
      (WebCore::PageGroup::removeUserContentForWorld):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      44194bce
    • mitz@apple.com's avatar
      REGRESSION(r47440): drop down menus at americanexpress.com disappear on mouse out · 66bc5f4e
      mitz@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=29209
      
      Reviewed by Sam Weinig.
      
      WebCore: 
      
      Test: fast/inline/relative-positioned-overflow.html
      
      * rendering/InlineFlowBox.cpp:
      (WebCore::InlineFlowBox::computeVerticalOverflow): Add self-painting
      inlines to overflow to ensure that they are included in hit-testing.
      
      LayoutTests: 
      
      * fast/inline/relative-positioned-overflow-expected.txt: Added.
      * fast/inline/relative-positioned-overflow.html: Added.
      * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      66bc5f4e
    • simon.fraser@apple.com's avatar
      2009-09-30 Simon Fraser <simon.fraser@apple.com> · b2870561
      simon.fraser@apple.com authored
              Reviewed by Mark Rowe.
      
              transforms/3d tests are not run in Release builds
              https://bugs.webkit.org/show_bug.cgi?id=29827
      
              Make sure we export the WebCoreHas3DRendering symbol in Release builds,
              because this symbols is used by run-webkit-tests (via 'nm') to detect whether
              WebCore was built with ENABLE_3D_RENDERING turned on.
      
              * DerivedSources.make:
              * WebCore.3DRendering.exp: Added.
              * WebCore.xcodeproj/project.pbxproj:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2870561
    • jorlow@chromium.org's avatar
      Build fix for QT. Didn't know WebCore.pro existed. · a0d73dec
      jorlow@chromium.org authored
      Patch by Jeremy Orlow <jorlow@chromium.org> on 2009-09-30
      * WebCore.pro:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a0d73dec
    • hyatt@apple.com's avatar
      WebCore: Add a method for removal of user scripts and stylesheets by URL from a specific world. · 326237f6
      hyatt@apple.com authored
      Reviewed by Adam Roben.
      
      * page/PageGroup.cpp:
      (WebCore::PageGroup::removeUserContentURLForWorld):
      * page/PageGroup.h:
      
      WebKit/mac: Add the ability to remove user stylesheets and scripts by URL.
      
      Reviewed by Adam Roben.
      
      * WebView/WebView.mm:
      (+[WebView _removeUserContentFromGroup:url:worldID:]):
      * WebView/WebViewPrivate.h:
      
      WebKit/win: Add the ability to remove user stylesheets and scripts by URL.
      
      Reviewed by Adam Roben.
      
      * Interfaces/IWebViewPrivate.idl:
      * WebView.cpp:
      (WebView::removeUserContentWithURLFromGroup):
      * WebView.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      326237f6
    • eric@webkit.org's avatar
      2009-09-30 Chris Hawk <hawk@chromium.org> · 3116d5d6
      eric@webkit.org authored
              Reviewed by Dimitri Glazkov.
      
              Fix for conditionals in the WebCore gyp file, which contained two separate
              'conditions' values for the webcore target. The first entry was ignored,
              resulting in some missine defines.
              https://bugs.webkit.org/show_bug.cgi?id=29907
      
              * WebCore.gyp/WebCore.gyp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3116d5d6
    • jorlow@chromium.org's avatar
      2009-09-21 Jeremy Orlow <jorlow@chromium.org> · 914f2dd1
      jorlow@chromium.org authored
              Reviewed by Adam Barth.
      
              DOM Storage needs to be more careful about where "ThreadSafe" objects are destroyed.
              https://bugs.webkit.org/show_bug.cgi?id=29265
      
              DOM Storage needs to be more careful about where "ThreadSafe" objects are
              destroyed.  With the current code, there actually isn't a race condition, but
              it sure would be easy for someone to introduce one.  A bunch of
              ThreadSafeShared objects have RefPtrs to objects that are NOT ThreadSafeShared
              objects.  If it were possible any of these objects' destructors to be fired off
              the main thread, then the you'd have a race condition.  The code should be more
              clear and self-documenting about how things related to each other.
      
              Since the lifetime of a LocalStorageTask is bounded by the LocalStorageThread
              which is bounded by the StorageSyncManager, StorageAreaImpl, and
              StorageAreaSync, there's no reason for LocalStorageTask to store anything other
              than pointers.  By breaking this dependency, we can eliminate the risk.
      
              Note that we _could_ have LocalStorageThread's task queue just store
              LocalStorageTask*'s rather than RefPtr<LocalStorageTask>s but then we'd need to
              manually take care of deleting.  It'd probably also be possible to change
              LocalStorageThread around so that it needn't hold onto a reference of itself
              and have a more deterministic shutdown, but my initial attempts to do so
              failed, and I decided it wasn't worth changing.  The queue is killed before
              hand, so the thread is 100% impotent before the main thread continues anyway.
      
              The constructors and destructors of StorageSyncManager, StorageAreaImpl, and
              StorageAreaSync now have ASSERTs to verify they're running on the main thread. 
              I'm fairly positive that it'd be impossible to hit these asserts and the fact
              that these classes are no longer ThreadSafeShared should make it clear how
              they're meant to be used, but I think it's worth it to be extra sure.  Of
              course, ideally, we'd have such an assert every time a ref is incremented or
              decremented.
      
              Behavior should be unchanged and this is just an internal code cleanup, so no
              new tests.
      
              * storage/LocalStorageTask.cpp:
              (WebCore::LocalStorageTask::LocalStorageTask):
              (WebCore::LocalStorageTask::performTask):
              * storage/LocalStorageTask.h:
              (WebCore::LocalStorageTask::createImport):
              (WebCore::LocalStorageTask::createSync):
              (WebCore::LocalStorageTask::createTerminate):
              * storage/LocalStorageThread.cpp:
              (WebCore::LocalStorageThread::scheduleImport):
              (WebCore::LocalStorageThread::scheduleSync):
              * storage/LocalStorageThread.h:
              * storage/StorageArea.h:
              * storage/StorageAreaImpl.cpp:
              (WebCore::StorageAreaImpl::~StorageAreaImpl):
              (WebCore::StorageAreaImpl::StorageAreaImpl):
              * storage/StorageAreaSync.cpp:
              (WebCore::StorageAreaSync::StorageAreaSync):
              (WebCore::StorageAreaSync::~StorageAreaSync):
              * storage/StorageSyncManager.cpp:
              (WebCore::StorageSyncManager::StorageSyncManager):
              (WebCore::StorageSyncManager::~StorageSyncManager):
              (WebCore::StorageSyncManager::scheduleImport):
              (WebCore::StorageSyncManager::scheduleSync):
              * storage/StorageSyncManager.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      914f2dd1
    • jorlow@chromium.org's avatar
      2009-09-28 Jeremy Orlow <jorlow@chromium.org> · 78f679fb
      jorlow@chromium.org authored
              Reviewed by Darin Fisher.
      
              Chromium needs to be able to override the way storage events are delivered
              https://bugs.webkit.org/show_bug.cgi?id=29655
      
              Chromium needs to be able to override the way storage events are delivered.
              This replaced https://bugs.webkit.org/show_bug.cgi?id=29257 because it'll be
              faster (no vtables and extra allocation) and somewhat cleaner (no dependency
              injection).  This is necessary because Chromium needs to transport events across
              a process barrier and then dispatch them without use of a Frame*.
      
              Behavior should not change with this, so no updates to tests.
      
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * WebCoreSources.bkl:
              * storage/StorageAreaImpl.cpp:
              (WebCore::StorageAreaImpl::setItem):
              (WebCore::StorageAreaImpl::removeItem):
              (WebCore::StorageAreaImpl::clear):
              * storage/StorageAreaImpl.h:
              * storage/StorageEventDispatcher.cpp: Copied from WebCore/storage/StorageAreaImpl.cpp.
              (WebCore::StorageEventDispatcher::dispatch):
              * storage/StorageEventDispatcher.h: Added.  (Well, technically in the other half of this patch.)
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      78f679fb
    • jianli@chromium.org's avatar
      Need to check NULL frame in EventHandler::updateDragAndDrop. · 00364e3d
      jianli@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=29929
      
      Reviewed by Darin Adler.
      
      WebCore:
      
      Test: http/tests/misc/drag-over-iframe-invalid-source-crash.html
      
      * page/EventHandler.cpp:
      (WebCore::EventHandler::updateDragAndDrop):
      
      LayoutTests:
      
      Add a new test for the bug.
      
      * http/tests/misc/drag-over-iframe-invalid-source-crash-expected.txt: Added.
      * http/tests/misc/drag-over-iframe-invalid-source-crash.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      00364e3d
    • simon.fraser@apple.com's avatar
      2009-09-29 Simon Fraser <simon.fraser@apple.com> · 195d0d67
      simon.fraser@apple.com authored
              Reviewed by Dan Bernstein.
      
              ASSERTION FAILED: !repaintContainer || repaintContainer == this
              https://bugs.webkit.org/show_bug.cgi?id=29755
      
              Generalize the fix for this bug to account for cases where there may be multiple
              containing blocks between the repaint container, and the container of the element
              being repainted.
      
              Test: compositing/repaint/opacity-between-absolute2.html
      
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::mapLocalToContainer):
              Call offsetFromAncestorContainer() to get the correct offset.
      
              (WebCore::RenderBox::computeRectForRepaint): Ditto
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::computeRectForRepaint): Ditto.
      
              * rendering/RenderObject.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::offsetFromAncestorContainer):
              New method that computes an offset from some object in the ancestor container() chain.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      195d0d67
    • eric@webkit.org's avatar
      2009-09-30 Andras Becsi <becsi.andras@stud.u-szeged.hu> · a6b728be
      eric@webkit.org authored
              Reviewed by Simon Hausmann.
      
              [Qt] Fix TextCodecQt::decode method after r48752 to return a non-null string if the length of the input is 0.
              This fixes https://bugs.webkit.org/show_bug.cgi?id=29736.
      
              * platform/text/qt/TextCodecQt.cpp:
              (WebCore::TextCodecQt::decode):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a6b728be
  2. 29 Sep, 2009 29 commits
    • hyatt@apple.com's avatar
      Fix a couple of bugs with patterns. Move the setting of the document URL to before the style · 220f4e65
      hyatt@apple.com authored
      selector gets constructed so that pattern match testing gets the correct URL.
      
      Reviewed by Jon Honeycutt.
      
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::begin):
      * page/UserContentURLPattern.cpp:
      (WebCore::UserContentURLPattern::parse):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      220f4e65
    • ap@apple.com's avatar
      Rubber-stamped by Brady Eidson. · 744d93ab
      ap@apple.com authored
              Assertion failure in http/tests/xmlhttprequest/failed-auth.html.
      
              I couldn't find out why this only started to happen now, but it was incorrect to check
              persistence of a credential returned by CredentialStorage::get() without checking that it
              was non-null. When there is no credential for the protection space in storage, get()
              returns a new object, and Credentil constructor doesn't initialize m_persistence.
      
              * platform/network/mac/ResourceHandleMac.mm:
              (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Moved the
              assertion after credential null check.
              (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Added the same persistence
              assertion, matching sync code (and CF one, as well).
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48918 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      744d93ab
    • yong.li@torchmobile.com's avatar
      2009-09-29 Yong Li <yong.li@torchmobile.com> · 9c89fdba
      yong.li@torchmobile.com authored
              Reviewed by Darin Adler.
      
              Add an ASSERT for UTF8Encoding().isValid()
              https://bugs.webkit.org/show_bug.cgi?id=29908
      
              * platform/text/TextEncoding.cpp:
              (WebCore::UTF8Encoding):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48913 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9c89fdba
    • hyatt@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=29892 · 5d1c0e78
      hyatt@apple.com authored
      Add support for whitelist patterns to control conditional injection of user scripts and
      user stylesheets.
      
      Reviewed by Jon Honeycutt.
      
      No new tests. Not testable until WebKit portion is added in followup patch.
      
      * GNUmakefile.am:
      * WebCore.gypi:
      * WebCore.pro:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * dom/Document.cpp:
      (WebCore::Document::pageGroupUserSheets):
      * page/Frame.cpp:
      (WebCore::Frame::injectUserScriptsForWorld):
      * page/UserContentURLPattern.cpp: Added.
      (WebCore::UserContentURLPattern::matchesPatterns):
      (WebCore::UserContentURLPattern::parse):
      (WebCore::UserContentURLPattern::matches):
      (WebCore::UserContentURLPattern::matchesHost):
      (WebCore::MatchTester::MatchTester):
      (WebCore::MatchTester::testStringFinished):
      (WebCore::MatchTester::patternStringFinished):
      (WebCore::MatchTester::eatWildcard):
      (WebCore::MatchTester::eatSameChars):
      (WebCore::MatchTester::test):
      (WebCore::UserContentURLPattern::matchesPath):
      * page/UserContentURLPattern.h: Added.
      (WebCore::UserContentURLPattern::UserContentURLPattern):
      (WebCore::UserContentURLPattern::scheme):
      (WebCore::UserContentURLPattern::host):
      (WebCore::UserContentURLPattern::path):
      (WebCore::UserContentURLPattern::matchSubdomains):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5d1c0e78
    • eric@webkit.org's avatar
      2009-09-29 Enrica Casucci <enrica@apple.com> · 5fbc25ce
      eric@webkit.org authored
              Reviewed by Adele Peterson.
      
              Test case for <rdar://problem/7085453>.
      
              * editing/selection/blockquote-crash-expected.txt: Added.
              * editing/selection/blockquote-crash.html: Added.
      2009-09-29  Enrica Casucci  <enrica@apple.com>
      
              Reviewed by Adele Peterson.
      
              Reproducible crash pressing return inside quoted content
              at WebCore::BreakBlockquoteCommand::doApply.
              <rdar://problem/7085453>
              In some case, like the one provided in the test case, m_downStreamEnd
              refers to a node that gets deleted when executing the DeleteSelectionCommand.
              We shouldn't use m_downStreamEnd to recalculate the new m_endPosition when
              pruning is needed, because it may be point to a node that has been deleted, but
              rather rely on removeNode in CompositeEditCommand to update m_endPosition correctly.
      
              Test: editing/selection/blockquote-crash.html
      
              * editing/BreakBlockquoteCommand.cpp:
              (WebCore::BreakBlockquoteCommand::doApply): Added check for invalid position
              to avoid dereferencing a null node pointer.
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::DeleteSelectionCommand::mergeParagraphs): Don't reset m_endPosition
              using the value in m_downStreamEnd when it is necessary to prune the start block.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48910 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5fbc25ce
    • ap@apple.com's avatar
      Reviewed by Brady Eidson. · 57df29c7
      ap@apple.com authored
              Basic authentication credentials are not sent automatically to top resources
              https://bugs.webkit.org/show_bug.cgi?id=29901
      
              No new tests - I don't want to pollute root directory of http tests to check for this rather
              minor issue.
      
              * platform/network/CredentialStorage.cpp:
              (WebCore::CredentialStorage::set): Changed to always preserve leading slash.
              (WebCore::CredentialStorage::getDefaultAuthenticationCredential): Made breaking out of the
              loop more explicit.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48909 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      57df29c7
    • pfeldman@chromium.org's avatar
      2009-09-29 Pavel Feldman <pfeldman@chromium.org> · e7245dec
      pfeldman@chromium.org authored
              Reviewed by Oliver Hunt.
      
              Web Inspector REGRESSION(r47820-r47822): Profiles aren't
              added to the inspector unless the inspector is already open
              when the profile completes.
      
              https://bugs.webkit.org/show_bug.cgi?id=29897
      
              * inspector/front-end/ProfilesPanel.js:
              (WebInspector.ProfilesPanel.prototype._populateProfiles):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e7245dec
    • kenneth@webkit.org's avatar
      Rubberstamped by David Hyatt. · c7161bce
      kenneth@webkit.org authored
      Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> on 2009-09-29
      Fix to logic of earlier commit 48902.
      
      When merging two if's before committing, I forgot to invert the
      bool check.
      
      * platform/network/qt/QNetworkReplyHandler.cpp:
      (WebCore::ignoreHttpError):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c7161bce
    • senorblanco@chromium.org's avatar
      Unreviewed, build fix. · 6ad942ac
      senorblanco@chromium.org authored
      Fixing Chromium build, following r48884.
      
      [https://bugs.webkit.org/show_bug.cgi?id=29894]
      
      * bindings/v8/V8AbstractEventListener.cpp:
      (WebCore::V8AbstractEventListener::handleEvent):
      * bindings/v8/V8AbstractEventListener.h:
      * bindings/v8/V8WorkerContextEventListener.cpp:
      (WebCore::V8WorkerContextEventListener::handleEvent):
      * bindings/v8/V8WorkerContextEventListener.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6ad942ac
    • eric@webkit.org's avatar
      2009-09-29 Kent Tamura <tkent@chromium.org> · d71be72a
      eric@webkit.org authored
              Reviewed by Darin Adler.
      
              Update for .maxLength behavior change.
              https://bugs.webkit.org/show_bug.cgi?id=29796
      
              * fast/forms/input-maxlength-expected.txt:
              * fast/forms/input-maxlength.html:
              * fast/forms/script-tests/textarea-maxlength.js:
              * fast/forms/textarea-maxlength-expected.txt:
      2009-09-29  Kent Tamura  <tkent@chromium.org>
      
              Reviewed by Darin Adler.
      
              Follows HTML5's maxLength change in September 2009.
              - Change HTMLTextAreaElement.maxLength type to signed.
              - HTMLTextAreaElement.maxLength returns -1 if maxlength= attribute is missing.
              - HTMLTextAreaElement.maxLength and HTMLInputElement.maxLength
                throw INDEX_SIZE_ERR for setting negative values.
              https://bugs.webkit.org/show_bug.cgi?id=29796
      
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::setMaxLength):
              * html/HTMLInputElement.h:
              * html/HTMLInputElement.idl:
              * html/HTMLTextAreaElement.cpp:
              (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
              (WebCore::HTMLTextAreaElement::maxLength):
              (WebCore::HTMLTextAreaElement::setMaxLength):
              * html/HTMLTextAreaElement.h:
              * html/HTMLTextAreaElement.idl:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48903 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d71be72a
    • kenneth@webkit.org's avatar
      Don't rely on QNetworkReply::NetworkError codes, but · ffa55b2e
      kenneth@webkit.org authored
      on HTTP error codes instead.
      
      Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> on 2009-09-29
      Reviewed by Simon Hausmann.
      
      * platform/network/qt/QNetworkReplyHandler.cpp:
      (WebCore::ignoreHttpError):
      (WebCore::QNetworkReplyHandler::finish):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48902 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ffa55b2e
    • kenneth@webkit.org's avatar
      Use const references when using Qt's foreach. · 64ef3e7f
      kenneth@webkit.org authored
      Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> on 2009-09-29
      Reviewed by Simon Hausmann.
      
      * platform/network/qt/QNetworkReplyHandler.cpp:
      (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64ef3e7f
    • kenneth@webkit.org's avatar
      Fix handling of QNetworkReply errors. · 6762a927
      kenneth@webkit.org authored
      Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> on 2009-09-29
      Reviewed by Simon Hausmann.
      
      In the QNetworkReplyHandler::finish() a response was sent even when
      the reply contained an error. This resulted in a sendResponseIfNeeded()
      calling didReceiveResponse on the client, leading to the destruction
      of the m_resourceHandle, discontinuing further processing in finish(),
      and thus not calling didFail on the client.
      
      Instead it continued as everything went fine, and
      FrameLoaderClientQt::dispatchDecidePolicyForMIMEType() changed the
      policy to PolicyDownload due to not being able to show the non existing
      MIMEType. As the download also obviously fails, it ended up with a
      policy change error.
      
      * platform/network/qt/QNetworkReplyHandler.cpp:
      (WebCore::QNetworkReplyHandler::finish):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6762a927
    • dglazkov@chromium.org's avatar
      2009-09-29 Dimitri Glazkov <dglazkov@chromium.org> · 39016be0
      dglazkov@chromium.org authored
              No review, rolling out r48894, because review discussion was not complete.
              http://trac.webkit.org/changeset/48894
      
              * platform/sql/SQLiteTransaction.cpp:
              (WebCore::SQLiteTransaction::begin):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48897 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      39016be0
    • krit@webkit.org's avatar
      2009-09-29 Dirk Schulze <krit@webkit.org> · 42b5c8a6
      krit@webkit.org authored
              Reviewed by Nikolas Zimmermann.
      
              SVG Filter feComposite implementation is missing
              [https://bugs.webkit.org/show_bug.cgi?id=28362]
      
              feComposite implementation for SVG.
      
              Test: svg/filters/feComposite.svg
      
              * platform/graphics/filters/FEComposite.cpp:
              (WebCore::arithmetic):
              (WebCore::FEComposite::apply):
      
              Tests the feComposite implementation for SVG.
      
              * platform/mac/svg/filters/feComposite-expected.checksum: Added.
              * platform/mac/svg/filters/feComposite-expected.png: Added.
              * platform/mac/svg/filters/feComposite-expected.txt: Added.
              * svg/filters/feComposite.svg: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48896 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      42b5c8a6
    • eric@webkit.org's avatar
      2009-09-29 Dumitru Daniliuc <dumi@chromium.org> · 6276bb12
      eric@webkit.org authored
              Reviewed by Dimitri Glazkov.
      
              Starting all read-only transactions with an explicit BEGIN
              DEFERRED command instead of BEGIN, since some ports (chromium)
              might compile their own SQLite library and set BEGIN to BEGIN
              IMMEDIATE by default; which would result in a deadlock in case of
              two concurrent read-only transactions on the same DB, and would
              unnecessarily delay other potential transactions to the same DB.
      
              https://bugs.webkit.org/show_bug.cgi?id=29729
      
              * platform/sql/SQLiteTransaction.cpp:
              (WebCore::SQLiteTransaction::begin):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48894 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6276bb12
    • dglazkov@chromium.org's avatar
      WebCore: · 5063cff9
      dglazkov@chromium.org authored
      2009-09-29  Kenneth Russell  <kbr@google.com>
      
              Reviewed by Dimitri Glazkov.
      
              Add support for run-time flag for 3D canvas
              https://bugs.webkit.org/show_bug.cgi?id=29826
      
              * html/HTMLCanvasElement.cpp:
              (WebCore::HTMLCanvasElement::getContext): Check page settings for
              experimental WebGL flag before returning 3D graphics context.
              * page/Settings.cpp:
              (WebCore::Settings::Settings): Initialize new flag to false.
              (WebCore::Settings::setExperimentalWebGLEnabled):
              * page/Settings.h: Set new flag.
              (WebCore::Settings::experimentalWebGLEnabled): Return new flag.
      
      WebKit/mac:
      
      2009-09-29  Kenneth Russell  <kbr@google.com>
      
              Reviewed by Dimitri Glazkov.
      
              Add support for run-time flag for 3D canvas
              https://bugs.webkit.org/show_bug.cgi?id=29826
      
              * WebView/WebView.mm:
              (-[WebView _preferencesChangedNotification:]): Enable experimental
              WebGL flag when 3D_CANVAS is enabled in the build.
      
      WebKit/win:
      
      2009-09-29  Kenneth Russell  <kbr@google.com>
      
              Reviewed by Dimitri Glazkov.
      
              Add support for run-time flag for 3D canvas
              https://bugs.webkit.org/show_bug.cgi?id=29826
      
              * WebView.cpp:
              (WebView::notifyPreferencesChanged): Enable experimental WebGL
              flag when 3D_CANVAS is enabled in the build.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5063cff9
    • jorlow@chromium.org's avatar
      2009-09-29 Jeremy Orlow <jorlow@chromium.org> · a9a0bc86
      jorlow@chromium.org authored
              Reviewed by Darin Fisher.
      
              Chromium needs to be able to override the way storage events are delivered - part 1
              https://bugs.webkit.org/show_bug.cgi?id=29889
      
              Chromium needs to be able to override the way storage events are delivered.
              This replaced https://bugs.webkit.org/show_bug.cgi?id=29257 because it'll be
              faster (no vtables and extra allocation) and somewhat cleaner (no dependency
              injection).  This is necessary because Chromium needs to transport events across
              a process barrier and then dispatch them without use of a Frame*.
      
              This patch should be a no-op for all ports other than Chromium.
      
              * WebCore.gypi:
              * storage/StorageEventDispatcher.h: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a9a0bc86
    • oliver@apple.com's avatar
      Adding file missed in previous commit. · faa287d8
      oliver@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48890 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      faa287d8
    • dglazkov@chromium.org's avatar
      2009-09-29 Dimitri Glazkov <dglazkov@chromium.org> · 99cd5c0a
      dglazkov@chromium.org authored
              Reviewed by Darin Fisher.
      
              [V8] Correct an issue with XMLHttpRequest attribute event listeners never being cleared.
              https://bugs.webkit.org/show_bug.cgi?id=29888
      
              Test: LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html
      
              * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
              (WebCore::getEventListener): Added isAttribute parameter.
              (WebCore::ACCESSOR_SETTER): Made all event listener setters create attribute listeners.
              (WebCore::CALLBACK_FUNC_DECL): Made addEventListener create object listener.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      99cd5c0a
    • oliver@apple.com's avatar
      [GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images · 929f10be
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=29654
      
      Patch by Martin Robinson  <martin.james.robinson@gmail.com>
      Reviewed by Eric Seidel
      
      Added an additional manual-test for this issue to the existing Gtk
      cursor image test.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48888 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      929f10be
    • ap@apple.com's avatar
      Reviewed by Timothy Hatcher. · 42e47f8f
      ap@apple.com authored
              Build fix - pass a proper ScriptExecutipnContext to getEventListenerHandlerBody()
      
              * bindings/js/ScriptEventListener.cpp:
              (WebCore::getEventListenerHandlerBody):
              * bindings/js/ScriptEventListener.h:
              * bindings/v8/ScriptEventListener.cpp:
              (WebCore::getEventListenerHandlerBody):
              * bindings/v8/ScriptEventListener.h:
              * inspector/InspectorDOMAgent.cpp:
              (WebCore::InspectorDOMAgent::buildObjectForEventListener):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      42e47f8f
    • japhet@chromium.org's avatar
      2009-09-29 Nate Chapin <japhet@chromium.org> · f0ef993c
      japhet@chromium.org authored
              Reviewed by Eric Seidel.
      
              Ensure that we don't scroll lock to an anchor node after a
              user-initiated scroll, even if that scroll doesn't propagate
              all the way up to FrameView.
      
              Test: fast/events/node-event-anchor-lock.html
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0ef993c
    • ap@apple.com's avatar
      Reviewed by Darin Adler and Sam Weinig. · 06431f3d
      ap@apple.com authored
              Onclick not fired for an element copied with cloneContents() or cloneNode()
              https://bugs.webkit.org/show_bug.cgi?id=25130
      
              The change here is that JS event listeners don't keep a reference to a global object from
              where they were created, and instead take it as a parameter when parsing source code. Also,
              the listener creation won't fail just because it happens for an element in a frameless
              document.
              Thus, moving nodes between documents no longer results in having incorrect registered
              lazy event listeners on them.
      
              Tests: fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html
                     fast/events/attribute-listener-cloned-from-frameless-doc-context.html
                     fast/events/attribute-listener-cloned-from-frameless-doc.xhtml
                     fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html
                     fast/events/attribute-listener-extracted-from-frameless-doc-context.html
      
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSEventListener::JSEventListener): Don't take a reference to JSDOMGlobalObject.
              (WebCore::JSEventListener::jsFunction): Take ScriptExecutionContext as a parameter for
              getting to JSDOMGlobalObject. It's not used in base class, but is in JSLazyEventListner.
              (WebCore::JSEventListener::markJSFunction): Don't mark the global object.
              (WebCore::JSEventListener::handleEvent): Get global object from ScriptExecutionContext.
              (WebCore::JSEventListener::reportError): Ditto.
      
              * bindings/js/JSEventListener.h: (WebCore::JSEventListener::create): Don't keep a reference
              to JSDOMGlobalObject.
      
              * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): Listener
              creation was split between this function and ScriptEventListener; moved it here, as JS
              global object can be different now.
      
              * bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create): Keep source URL,
              which can not be determined at parsing time.
      
              * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Moved code
              for listener creation to JSLazyEventListener. XSSAuditor code remains here, because tests
              expect that errors are logged at document parsing time, and because I don't know what other
              side effects moving it vould have.
      
              * dom/EventListener.h: handleEvent() and reportError() now take ScriptExecutionContext,
              because JSC needs a global context here.
      
              * bindings/js/JSAbstractWorkerCustom.cpp:
              (WebCore::JSAbstractWorker::addEventListener):
              (WebCore::JSAbstractWorker::removeEventListener):
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              (WebCore::JSDOMApplicationCache::addEventListener):
              (WebCore::JSDOMApplicationCache::removeEventListener):
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::addEventListener):
              (WebCore::JSDOMWindow::removeEventListener):
              * bindings/js/JSEventSourceCustom.cpp:
              (WebCore::JSEventSource::addEventListener):
              (WebCore::JSEventSource::removeEventListener):
              * bindings/js/JSMessagePortCustom.cpp:
              (WebCore::JSMessagePort::addEventListener):
              (WebCore::JSMessagePort::removeEventListener):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::JSNode::addEventListener):
              (WebCore::JSNode::removeEventListener):
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              (WebCore::JSSVGElementInstance::addEventListener):
              (WebCore::JSSVGElementInstance::removeEventListener):
              * bindings/js/JSWorkerContextCustom.cpp:
              (WebCore::JSWorkerContext::addEventListener):
              (WebCore::JSWorkerContext::removeEventListener):
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              (WebCore::JSXMLHttpRequest::addEventListener):
              (WebCore::JSXMLHttpRequest::removeEventListener):
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              (WebCore::JSXMLHttpRequestUpload::addEventListener):
              (WebCore::JSXMLHttpRequestUpload::removeEventListener):
              * bindings/objc/ObjCEventListener.h:
              * bindings/objc/ObjCEventListener.mm:
              (WebCore::ObjCEventListener::handleEvent):
              * bindings/scripts/CodeGeneratorJS.pm:
              * dom/EventTarget.cpp:
              (WebCore::EventTarget::fireEventListeners):
              * inspector/InspectorDOMAgent.cpp:
              (WebCore::InspectorDOMAgent::handleEvent):
              * inspector/InspectorDOMAgent.h:
              * inspector/InspectorDOMStorageResource.cpp:
              (WebCore::InspectorDOMStorageResource::handleEvent):
              * inspector/InspectorDOMStorageResource.h:
              * loader/ImageDocument.cpp:
              (WebCore::ImageEventListener::handleEvent):
              * svg/animation/SVGSMILElement.cpp:
              (WebCore::ConditionEventListener::handleEvent):
              * workers/WorkerContext.cpp:
              (WebCore::WorkerContext::reportException):
              Don't pass global object to JSEventListener::create(), which no longer needs it.
              Note that some of these functions still have an early return for null global object, which
              can probably be removed in a later patch.
              Pass ScriptExecutionContext to EventListener methods that now need it.
      
              * bindings/scripts/CodeGeneratorCOM.pm: Don't force EventTarget implementation on Node -
              it doesn't work yet (it didn't quite work before this patch, too, because it assumed that
              any object implementing EventTarget COM interface originated from WebCore).
      
              * dom/EventListener.idl: Just like in ObjC, EventListener should be a pure interface in
              COM bindings.
      
      WebKit/win:
              * DOMCreateInstance.cpp: GEN_DOMEventListener is a pure interface now.
      
              * WebKit.vcproj/WebKit.vcproj: Removed GEN_DOMEventListener.cpp.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48884 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      06431f3d
    • ggaren@apple.com's avatar
      Removed virtual destructor from JSGlobalObjectData to eliminate pointer · d4abf9cb
      ggaren@apple.com authored
      fix-ups when accessing JSGlobalObject::d.
              
      Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-28
      Reviewed by Sam Weinig.
      
      JavaScriptCore: 
      
      Replaced with an explicit destructor function pointer.
              
      6% speedup on bench-alloc-nonretained.js.
      
      * JavaScriptCore.exp:
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::~JSGlobalObject):
      (JSC::JSGlobalObject::destroyJSGlobalObjectData):
      * runtime/JSGlobalObject.h:
      (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
      (JSC::JSGlobalObject::JSGlobalObject):
      
      JavaScriptGlue: 
      
      Replaced with an explicit destructor function pointer.
      
      * JSRun.cpp:
      (JSGlueGlobalObject::destroyData):
      * JSRun.h:
      (JSGlueGlobalObject::Data::Data):
      
      WebCore: 
      
      Replaced with an explicit destructor function pointer.
      
      * bindings/js/JSDOMGlobalObject.cpp:
      (WebCore::JSDOMGlobalObject::destroyJSDOMGlobalObjectData):
      * bindings/js/JSDOMGlobalObject.h:
      (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d4abf9cb
    • kenneth@webkit.org's avatar
      The code for showing error pages when the response was · 6abc8949
      kenneth@webkit.org authored
      a 401/403/404, was not actually doing so. This patch
      fixes that.
      
      Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> on 2009-09-29
      Reviewed by Simon Hausmann.
      
      * platform/network/qt/QNetworkReplyHandler.cpp:
      (WebCore::QNetworkReplyHandler::finish):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48882 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6abc8949
    • ap@apple.com's avatar
      Reviewed by Brady Eidson. · 549845e7
      ap@apple.com authored
              <rdar://problem/7259965> REGRESSION: http/tests/xmlhttprequest/cross-origin-authorization.html
              is failing/crashing intermittently
              https://bugs.webkit.org/show_bug.cgi?id=29322
      
              This was caused by CStringBuffer::encodeBase64() returning a buffer that wasn't zero terminated.
              The code had other issues as well, so I removed it altogether:
              - it claimed to avoid some buffer copies, but it didn't;
              - and I don't think that base64 encoding should be part of CString interface.
      
      
      WebCore:
              * platform/network/mac/ResourceHandleMac.mm:
              (WebCore::encodeBasicAuthorization): Encode username and password using Base64.h directly.
              (WebCore::ResourceHandle::start): Use encodeBasicAuthorization().
              (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Ditto.
              (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Extended logging
              to synchronous case.
              (-[WebCoreSynchronousLoader connectionShouldUseCredentialStorage:]): Ditto.
              (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Ditto.
              (-[WebCoreSynchronousLoader connection:didReceiveResponse:]): Ditto.
              (-[WebCoreSynchronousLoader connection:didReceiveData:]): Ditto.
              (-[WebCoreSynchronousLoader connectionDidFinishLoading:]): Ditto.
              (-[WebCoreSynchronousLoader connection:didFailWithError:]): Ditto.
      
              * platform/network/cf/ResourceHandleCFNet.cpp: Matched Mac changes.
      
              * platform/text/CString.cpp:
              * platform/text/CString.h:
              (WebCore::CStringBuffer::create):
              (WebCore::CStringBuffer::CStringBuffer):
              Removed code that was added for Base64 in r48363.
      
      LayoutTests:
              * http/tests/xmlhttprequest/cross-origin-authorization.html: While at it, made the test
              detect more error conditions
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48879 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      549845e7
    • eric@webkit.org's avatar
      2009-09-29 Jedrzej Nowacki <jedrzej.nowacki@nokia.com> · 29b4afde
      eric@webkit.org authored
              Reviewed by Simon Hausmann.
      
              Fix typo in Localizations.cpp
      
              https://bugs.webkit.org/show_bug.cgi?id=29872
      
              * platform/qt/Localizations.cpp:
              (WebCore::localizedMediaControlElementHelpText):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      29b4afde
    • hausmann@webkit.org's avatar
      Make the XSLT conditional in DOMWindow.idl's xsltProcessor · 7d63f8f2
      hausmann@webkit.org authored
      attribute conditional in the generated files, similar to
      r44116.
      
      Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2009-09-29
      Reviewed by Tor Arne Vestbø.
      
      * page/DOMWindow.idl:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7d63f8f2