1. 05 Feb, 2010 17 commits
    • mrowe@apple.com's avatar
      Build fix. Remove a symbol corresponding to an inline function from the linker export · ec71130b
      mrowe@apple.com authored
      file to prevent a weak external failure.
      
      Reviewed by Timothy Hatcher.
      
      JavaScriptCore:
      
      * JavaScriptCore.xcodeproj/project.pbxproj: Accommodate rename of script.
      
      JavaScriptGlue:
      
      * JavaScriptGlue.xcodeproj/project.pbxproj: Accommodate rename of script.
      
      WebCore:
      
      * WebCore.base.exp: Remove symbol.
      * WebCore.xcodeproj/project.pbxproj: Accommodate rename of script.
      
      WebKit:
      
      * WebKit.xcodeproj/project.pbxproj: Accommodate rename of script.
      
      WebKitTools:
      
      * Scripts/check-for-weak-vtables-and-externals: Renamed from WebKitTools/Scripts/check-for-weak-vtables.
      Teach the script how to detect weak external symbols so that these errors can be caught immediately
      in the future.
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@54405 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      ec71130b
    • ukai@chromium.org's avatar
      2010-02-04 Fumitoshi Ukai <ukai@chromium.org> · c3effddd
      ukai@chromium.org authored
              Reviewed by Shinichiro Hamaji.
      
              websocket/tests/close-on-unload.html failed on Mac Tiger
              https://bugs.webkit.org/show_bug.cgi?id=34563
      
              * platform/mac-tiger/Skipped: remove websocket/tests/close-on-unload*.html
              * websocket/tests/close-on-unload_wsh.py: use dict instead of set.
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@54404 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      c3effddd
    • dbates@webkit.org's avatar
      2010-02-04 Daniel Bates <dbates@webkit.org> · 36673b08
      dbates@webkit.org authored
              [Qt] Unreviewed, build fix for Qt bot.
      
              * runtime/JSStringBuilder.h: Changed #include <X.h> notation #include "X.h".
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@54403 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      36673b08
    • ggaren@apple.com's avatar
      Build fix: export a header. · 16328d08
      ggaren@apple.com authored
      * JavaScriptCore.xcodeproj/project.pbxproj:
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@54402 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      16328d08
    • ggaren@apple.com's avatar
      Build fix: Added a forwarding header. · fe976783
      ggaren@apple.com authored
      * ForwardingHeaders/runtime/WeakGCPtr.h: Added.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@54401 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      fe976783
    • ggaren@apple.com's avatar
      WebCore: REGRESSION (r52082): Missing event handlers on JQuery demo page (33383) · af04b33e
      ggaren@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=33383
      <rdar://problem/7559449>
              
      Reviewed by Alexey Proskuryakov and Darin Adler.
      
      There were two bugs here:
              
      1. A stale wrapper would invalidate a node's event listeners, even if
      the node had a fresh wrapper keeping it alive.
              
      The fix for this is for an event listener to keep a WeakGCPtr back-pointer
      to the wrapper it expects to mark it. The wrapper destructor checks this
      back-pointer, and only invalidates the event listener in the case of a match.
      
      2. Conversely, a stale wrapper would not invalidate a node's event
      listeners soon enough, if its destructor didn't have a chance to run
      before an event fired on the node. (This can only happen in cases where
      we've made some other error and failed to mark a wrapper that was circuitously
      observable in the DOM. But we know we have edge case bugs like this, and
      we don't want them to be crashes.)
              
      The fix for this is to check the wrapper back-pointer before firing the
      event listener. As long as the the wrapper back-pointer is not null,
      it's safe to fire the listener. 
      
      * ForwardingHeaders/runtime/WeakGCPtr.h: Added. Appease build gods.
      
      * bindings/js/JSAbstractWorkerCustom.cpp:
      (WebCore::JSAbstractWorker::addEventListener):
      (WebCore::JSAbstractWorker::removeEventListener):
      * bindings/js/JSDOMApplicationCacheCustom.cpp:
      (WebCore::JSDOMApplicationCache::addEventListener):
      (WebCore::JSDOMApplicationCache::removeEventListener):
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::markChildren):
      (WebCore::JSDOMWindow::addEventListener):
      (WebCore::JSDOMWindow::removeEventListener): Updated to pass a wrapper
      to the JSEventListener constructor.
      
      * bindings/js/JSEventListener.cpp:
      (WebCore::JSEventListener::JSEventListener):
      (WebCore::JSEventListener::initializeJSFunction):
      (WebCore::JSEventListener::invalidateJSFunction):
      * bindings/js/JSEventListener.h:
      (WebCore::JSEventListener::create):
      (WebCore::JSEventListener::isolatedWorld):
      (WebCore::JSEventListener::wrapper):
      (WebCore::JSEventListener::setWrapper):
      (WebCore::JSEventListener::jsFunction):
      (WebCore::createJSAttributeEventListener): Implemented the back-pointer
      described above. Refactored the jsFunction() accessor to return 0 if
      the wrapper back-pointer is 0.
      
      * bindings/js/JSEventSourceCustom.cpp:
      (WebCore::JSEventSource::addEventListener):
      (WebCore::JSEventSource::removeEventListener):
      * bindings/js/JSLazyEventListener.cpp:
      (WebCore::JSLazyEventListener::JSLazyEventListener):
      (WebCore::JSLazyEventListener::initializeJSFunction):
      * bindings/js/JSLazyEventListener.h:
      (WebCore::JSLazyEventListener::create):
      * bindings/js/JSMessagePortCustom.cpp:
      (WebCore::JSMessagePort::markChildren):
      (WebCore::JSMessagePort::addEventListener):
      (WebCore::JSMessagePort::removeEventListener):
      * bindings/js/JSNodeCustom.cpp:
      (WebCore::JSNode::addEventListener):
      (WebCore::JSNode::removeEventListener):
      (WebCore::JSNode::markChildren):
      * bindings/js/JSSVGElementInstanceCustom.cpp:
      (WebCore::JSSVGElementInstance::addEventListener):
      (WebCore::JSSVGElementInstance::removeEventListener):
      * bindings/js/JSWebSocketCustom.cpp:
      (WebCore::JSWebSocket::addEventListener):
      (WebCore::JSWebSocket::removeEventListener):
      * bindings/js/JSWorkerContextCustom.cpp:
      (WebCore::JSWorkerContext::markChildren):
      (WebCore::JSWorkerContext::addEventListener):
      (WebCore::JSWorkerContext::removeEventListener):
      * bindings/js/JSXMLHttpRequestCustom.cpp:
      (WebCore::JSXMLHttpRequest::markChildren):
      (WebCore::JSXMLHttpRequest::addEventListener):
      (WebCore::JSXMLHttpRequest::removeEventListener):
      * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
      (WebCore::JSXMLHttpRequestUpload::markChildren):
      (WebCore::JSXMLHttpRequestUpload::addEventListener):
      (WebCore::JSXMLHttpRequestUpload::removeEventListener): Updated to pass a wrapper
      to the JSEventListener constructor.
      
      
      * bindings/js/ScriptEventListener.cpp:
      (WebCore::createAttributeEventListener): Updated to pass a wrapper
      to the JSEventListener constructor.
      (WebCore::getEventListenerHandlerBody): Updated for the fact that jsFunction()
      is no longer a virtual accessor on the EventHandler base class.
      
      * bindings/scripts/CodeGeneratorJS.pm: Updated for the fact that jsFunction()
      is no longer a virtual accessor on the EventHandler base class. Added a "JS"
      to invalidateEventListeners and markEventListeners to clarify that these
      actions are for JS event listeners only. Added a wrapper parameter to
      invalidateEventListeners for the back-pointer check explained above.
      
      * dom/EventListener.h:
      (WebCore::EventListener::invalidateJSFunction): ditto
      
      * dom/EventTarget.h:
      (WebCore::EventTarget::markJSEventListeners):
      (WebCore::EventTarget::invalidateJSEventListeners): ditto
      
      LayoutTests: REGRESSION (r52082): Missing event handlers on JQuery demo page (33383)
      https://bugs.webkit.org/show_bug.cgi?id=33383
      <rdar://problem/7559449>
      
      Reviewed by Alexey Proskuryakov and Darin Adler.
      
      * fast/events/bogus-event-listener-invalidation-expected.txt: Added.
      * fast/events/bogus-event-listener-invalidation.html: Added.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@54400 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      af04b33e
    • mrowe@apple.com's avatar
      Versioning. · 12930538
      mrowe@apple.com authored
      git-svn-id: svn://svn.chromium.org/blink/trunk@54398 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      12930538
    • mrowe@apple.com's avatar
      Versioning. · 2cfce27c
      mrowe@apple.com authored
      git-svn-id: svn://svn.chromium.org/blink/trunk@54397 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      2cfce27c
    • eric@webkit.org's avatar
      2010-02-04 Tony Chang <tony@chromium.org> · e012e807
      eric@webkit.org authored
              Reviewed by Eric Seidel.
      
              https://bugs.webkit.org/show_bug.cgi?id=25002
              When inserting a new paragraph, avoid nesting empty divs.  When
              pasting near the end of a paragraph, this prevents each paste
              command for getting nested one level deeper.
      
              Three paste tests have been rebaselined since this causes the pasted
              content to be outside the last div instead of inside.  E.g.,
              <div>foo<div>bar</div>[pasted content]</div> is now
              <div>foo<div>bar</div></div><div>[pasted content]</div>
      
              The new test verifies this behavior.
      
              * editing/inserting/paragraph-outside-nested-divs-expected.txt: Added.
              * editing/inserting/paragraph-outside-nested-divs.html: Added.
              * platform/mac/editing/pasteboard/paste-text-012-expected.txt:
              * platform/mac/editing/pasteboard/paste-text-013-expected.txt:
              * platform/mac/editing/pasteboard/paste-text-017-expected.txt:
      2010-02-04  Tony Chang  <tony@chromium.org>
      
              Reviewed by Eric Seidel.
      
              https://bugs.webkit.org/show_bug.cgi?id=25002
              When inserting a new paragraph, avoid nesting empty divs.  When
              pasting near the end of a paragraph, this prevents each paste
              command for getting nested one level deeper.
      
              Test: editing/inserting/paragraph-outside-nested-divs.html
      
              * editing/InsertParagraphSeparatorCommand.cpp:
              (WebCore::highestVisuallyEquivalentDiv):
              (WebCore::InsertParagraphSeparatorCommand::doApply):
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@54395 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      e012e807
    • barraclough@apple.com's avatar
      Add a JSStringBuilder class (similar-to, and derived-from StringBuilder) to · d40d1172
      barraclough@apple.com authored
      construct JSStrings, throwing a JS exception should we run out of memory whilst
      allocating storage for the string.
      
      Reviewed by Oliver Hunt.
      
      Similarly, add jsMakeNontrivialString methods to use in cases where previously
      we were calling makeString & passing the result to jsNontrivialString.  Again,
      these new methods throw if we hit an out of memory condition.
      
      Move throwOutOfMemoryError into ExceptionHelpers, to make it more widely available.
      
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncToString):
      (JSC::arrayProtoFuncToLocaleString):
      (JSC::arrayProtoFuncJoin):
      * runtime/DateConstructor.cpp:
      (JSC::callDate):
      * runtime/DatePrototype.cpp:
      (JSC::dateProtoFuncToString):
      (JSC::dateProtoFuncToUTCString):
      (JSC::dateProtoFuncToGMTString):
      * runtime/ErrorPrototype.cpp:
      (JSC::errorProtoFuncToString):
      * runtime/ExceptionHelpers.cpp:
      (JSC::throwOutOfMemoryError):
      * runtime/ExceptionHelpers.h:
      * runtime/JSStringBuilder.h: Added.
      (JSC::JSStringBuilder::releaseJSString):
      (JSC::jsMakeNontrivialString):
      * runtime/NumberPrototype.cpp:
      (JSC::numberProtoFuncToPrecision):
      * runtime/ObjectPrototype.cpp:
      (JSC::objectProtoFuncToString):
      * runtime/Operations.cpp:
      * runtime/Operations.h:
      * runtime/RegExpPrototype.cpp:
      (JSC::regExpProtoFuncToString):
      * runtime/StringBuilder.h:
      (JSC::StringBuilder::append):
      * runtime/StringPrototype.cpp:
      (JSC::stringProtoFuncBig):
      (JSC::stringProtoFuncSmall):
      (JSC::stringProtoFuncBlink):
      (JSC::stringProtoFuncBold):
      (JSC::stringProtoFuncFixed):
      (JSC::stringProtoFuncItalics):
      (JSC::stringProtoFuncStrike):
      (JSC::stringProtoFuncSub):
      (JSC::stringProtoFuncSup):
      (JSC::stringProtoFuncFontcolor):
      (JSC::stringProtoFuncFontsize):
      (JSC::stringProtoFuncAnchor):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@54394 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      d40d1172
    • dumi@chromium.org's avatar
      WebCore: 1. Fix a bug in SQLiteTransaction: do not assume that COMMIT always · 71fb8a94
      dumi@chromium.org authored
      succeeds.
      2. Jump straight to the transaction error callback when a
      statement fails in a way that makes sqlite automatically rollback
      the transaction.
      3. Fix the code that handles the "quota reached" failure, as it is
      one of the failures that lead to an automatic transaction
      rollback.
      
      Reviewed by Eric Seidel.
      
      https://bugs.webkit.org/show_bug.cgi?id=34280
      
      * platform/sql/SQLiteDatabase.cpp:
      (WebCore::SQLiteDatabase::isAutoCommitOn):
      * platform/sql/SQLiteDatabase.h:
      * platform/sql/SQLiteTransaction.cpp:
      (WebCore::SQLiteTransaction::begin):
      (WebCore::SQLiteTransaction::commit):
      (WebCore::SQLiteTransaction::rollback):
      (WebCore::SQLiteTransaction::transactionWasRolledBackBySqlite):
      * platform/sql/SQLiteTransaction.h:
      * storage/SQLTransaction.cpp:
      (WebCore::SQLTransaction::SQLTransaction):
      (WebCore::SQLTransaction::runStatements):
      (WebCore::SQLTransaction::runCurrentStatement):
      (WebCore::SQLTransaction::handleCurrentStatementError):
      (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
      
      LayoutTests: 1. Enhance quota-tracking.html: if sqlite automatically rolls back
      a transaction because of a statement failure, make sure the rest
      of the statements in the transaction are not executed.
      2. Fix the expectations for quota-tracking.html. Sqlite cannot
      recover from reaching a DB's max size.
      
      Reviewed by Eric Seidel.
      
      * storage/quota-tracking-expected.txt:
      * storage/quota-tracking.html:
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@54393 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      71fb8a94
    • pkasting@chromium.org's avatar
      Not reviewed, rollback. · 1b20de7f
      pkasting@chromium.org authored
      Rollback r54387, it doesn't fix builds and Chromium doesn't want this behavior.
      
      * platform/chromium/ScrollbarThemeChromiumMac.h:
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@54392 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      1b20de7f
    • sfalken@apple.com's avatar
      Windows build fix. · 42246ae6
      sfalken@apple.com authored
      * wtf/MathExtras.h:
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@54391 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      42246ae6
    • darin@apple.com's avatar
      2010-02-04 Darin Adler <darin@apple.com> · 7391ffae
      darin@apple.com authored
              Reviewed by David Levin.
      
              Make MathExtras.h compatible with <cmath>
              https://bugs.webkit.org/show_bug.cgi?id=34618
      
              * wtf/MathExtras.h: Include <cmath> instead of <math.h>.
              Use "using" as we do elsewhere in WTF for the four functions from <cmath>
              we want to use without the prefix. Later we could consider making the std
              explicit at call sites instead.
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@54388 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      7391ffae
    • senorblanco@chromium.org's avatar
      2010-02-04 Stephen White <senorblanco@chromium.org> · 8d116c80
      senorblanco@chromium.org authored
              Unreviewed, build fix.
      
              Fix for Chromium/Mac after palindromic scrollbar change (54345).
      
              Covered by many layout tests.
      
              * platform/chromium/ScrollbarThemeChromiumMac.h:
              (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@54387 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      8d116c80
    • eric@webkit.org's avatar
      2010-02-04 Clemmitt Sigler <cmsigler@gmail.com> · 395d39fd
      eric@webkit.org authored
              Reviewed by David Levin.
      
              WebKitGTK doesn't build GtkLauncher when --enable-mathml is specified.
              Updated WebCore/GNUmakefile.am to include needed files in build.
      
              https://bugs.webkit.org/show_bug.cgi?id=34387
      
              No new tests.
      
              * GNUmakefile.am:
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@54386 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      395d39fd
    • eric@webkit.org's avatar
      2010-02-04 Stephan Aßmus <superstippi@gmx.de> · 65e047e5
      eric@webkit.org authored
              Reviewed by David Levin.
      
              Misc coding style fixes in Haiku port code.
              https://bugs.webkit.org/show_bug.cgi?id=34527
      
              No tests needed.
      
              * platform/haiku/ContextMenuItemHaiku.cpp: Trailing white space, NULL -> 0
              * platform/haiku/DragImageHaiku.cpp: Trailing white space.
              * platform/haiku/FileChooserHaiku.cpp: Sorted headers.
              * platform/haiku/LocalizedStringsHaiku.cpp: Needed to include NotImplemented.h
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@54383 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      65e047e5
  2. 04 Feb, 2010 23 commits