1. 07 Dec, 2007 15 commits
    • ggaren@apple.com's avatar
      JavaScriptCore: · f5ab0692
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
      
              Next step in refactoring JSGlobalObject: Added JSVariableObject class,
              and factored symbol-table-related code into it. (JSGlobalObject doesn't
              use the symbol table code yet, though.)
              
              Layout and JS tests, and testapi, pass. SunSpider reports no regression.
      
      WebCore:
      
              Reviewed by Sam Weinig.
      
              Added some namespace qualifications and a forwarding header, now that
              KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
      
              * ForwardingHeaders/wtf/ListRefPtr.h: Added.
              * bindings/js/JSXSLTProcessor.cpp:
              (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
              * bindings/js/kjs_binding.cpp:
              (KJS::ScriptInterpreter::getDOMNodeForDocument):
              (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
              (KJS::ScriptInterpreter::putDOMNodeForDocument):
              (KJS::ScriptInterpreter::markDOMNodesForDocument):
              (KJS::ScriptInterpreter::updateDOMNodeDocument):
      
      WebKit/mac:
      
              Reviewed by Sam Weinig.
              
              Added a forwarding header, since we now #include nodes.h through some
              JavaScriptCore headers.
      
              * ForwardingHeaders/wtf/ListRefPtr.h: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f5ab0692
    • aroben@apple.com's avatar
      Add SoftLinking.h for Windows and use it in a few places · ee5a5d14
      aroben@apple.com authored
       WebCore:
      
               Add SoftLinking.h for Windows and use it in a few places
      
               Reviewed by Oliver.
      
               * WebCore.vcproj/WebCore.vcproj: Added new file to project.
               * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h.
               (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual
               soft-linking calls.
               (WebCore::PlatformScrollbar::paintButton): Check for the presence of
               the SafariTheme library now that we can't check for the presence of
               paintThemePart directly.
               (WebCore::PlatformScrollbar::paintTrack): Ditto.
               (WebCore::PlatformScrollbar::paintThumb): Ditto.
               * platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h.
               * rendering/RenderThemeSafari.cpp: Same basic changes as to
               PlatformScrollBarSafari.cpp.
               (WebCore::RenderThemeSafari::RenderThemeSafari):
               (WebCore::RenderThemeSafari::isControlStyled):
               (WebCore::RenderThemeSafari::paintCapsLockIndicator):
               * rendering/RenderThemeSafari.h: Removed m_themeDLL member.
      
       WebKit/win:
      
               Use SoftLinking.h in WebKitClassFactory.
      
               Reviewed by Oliver.
      
               * WebKitClassFactory.cpp:
               (WebKitClassFactory::WebKitClassFactory): We don't have to worry about
               not finding STInitialize anymore now that a version of SafariTheme
               containing this function has shipped.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28526 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee5a5d14
    • darin@apple.com's avatar
      Reviewed by Geoff. · 8ad18ea8
      darin@apple.com authored
              - fix http://bugs.webkit.org/show_bug.cgi?id=16185
                jsRegExpCompile should not add implicit non-capturing bracket
      
              While this does not make SunSpider faster, it will make many regular
              expressions a bit faster.
      
              * pcre/pcre_compile.cpp: Moved CompileData struct in here from the
              header since it's private to this file.
              (compile_branch): Updated for function name change.
              (compile_bracket): Renamed from compile_regex, since, for one thing,
              this does not compile an entire regular expression.
              (calculateCompiledPatternLengthAndFlags): Removed unused item_count
              local variable. Renamed CompileData to cd instead of compile_block
              to be consistent with other functions. Added code to set the
              needOuterBracket flag if there's at least one "|" at the outer level.
              (jsRegExpCompile): Renamed CompileData to cd instead of compile_block
              to be consistent with other functions. Removed unneeded "size" field
              from the compiled regular expression. If no outer bracket is needed,
              then use compile_branch to compile the regular expression.
      
              * pcre/pcre_internal.h: Removed the CompileData struct, which is now
              private to pcre_compile.cpp. Removed the size member from JSRegExp.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28525 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ad18ea8
    • darin@apple.com's avatar
      WebCore: · c2e05f95
      darin@apple.com authored
              Reviewed by Adele.
      
              - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
                at WebCore::HTMLSelectElement::saveState const + 152
      
              Test: fast/forms/select-set-inner.html
      
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::removeChildren): Added a return value, as with other
              calls that change children, so we can optimize for the case where it does nothing.
              (WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode.
              * dom/ContainerNode.h: See above.
      
              * html/HTMLOptGroupElement.cpp:
              (WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call
              recalcSelectOptions in that case.
              (WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of
              addChild, for consistency with HTMLSelectElement; no need to override both.
              (WebCore::HTMLOptGroupElement::groupLabelText): Made const.
              * html/HTMLOptGroupElement.h: See above.
      
              * html/HTMLSelectElement.cpp: Don't override addChild any more, because we already
              override childrenChanged, and addChild calls that.
              (WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call
              recalcSelectOptions in that case.
              (WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit
              by using a for loop and traverseNextSibling. Also added some new comments and
              removed some obsolete ones.
              (WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make
              sure we don't have a stale list items vector.
              * html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems().
              This will help us catch cases where we have too few calls to setRecalcListItems.
      
      LayoutTests:
      
              Reviewed by Adele.
      
              - test for <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
                at WebCore::HTMLSelectElement::saveState const + 152
      
              * fast/forms/select-set-inner-expected.txt: Added.
              * fast/forms/select-set-inner.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c2e05f95
    • mitz@apple.com's avatar
      WebCore: · a049d95a
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
      
              Test: fast/repaint/focus-ring.html
      
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::caretRepaintRect): Changed to return just
              the caret rect without any padding.
              (WebCore::SelectionController::recomputeCaretRect): Changed to repaint
              just the caret rect without any padding.
              * platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and
              clearFocusRingClip().
              * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
              * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
              * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed
              m_focusRingClip member.
              * platform/graphics/mac/GraphicsContextMac.mm:
              (WebCore::GraphicsContext::drawFocusRing): Changed to call
              wkDrawFocusRing() once without setting up additional clip. On Leopard,
              wkDrawFocusRing() respects the context clip now. On Tiger, a
              transparency layer is used to apply clipping to the focus ring.
              * platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip
              methods and member.
              * platform/graphics/wx/GraphicsContextWx.cpp: Ditto.
              * platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument
              to wkDrawFocusRing().
              * platform/mac/WebCoreSystemInterface.mm: Ditto.
              * rendering/RenderLayer.cpp:
              (WebCore::setClip): Removed call to set the focus ring clip.
              (WebCore::restoreClip): Removed call to reset the focus ring clip.
      
      WebKitLibraries:
      
              Reviewed by Darin Adler.
      
              - updated system interface for fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
      
              * WebKitSystemInterface.h:
              * libWebKitSystemInterfaceLeopard.a:
              * libWebKitSystemInterfaceTiger.a:
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - repaint test for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
      
              * fast/repaint/focus-ring.html: Added.
              * platform/mac/fast/repaint/focus-ring-expected.checksum: Added.
              * platform/mac/fast/repaint/focus-ring-expected.png: Added.
              * platform/mac/fast/repaint/focus-ring-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28523 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a049d95a
    • beidson@apple.com's avatar
      Reviewed by Adam Roben · 0dabd902
      beidson@apple.com authored
              * misc/DatabaseExample.html: Changed to differentiate failure between running with an
                unsupported browser or some other error that prevented the database from opening.
                In the future we can use ExceptionCodes returned from openDatabase(), but a good list
                of those don't exist yet
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28522 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0dabd902
    • darin@apple.com's avatar
      Reviewed by Antti Koivisto and Kevin Decker. · 46dbd85c
      darin@apple.com authored
              - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup
      
              Also did a lot of small tweaks to MediaPlayerPrivateQTKit.
      
              * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.
      
              * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations.
              Made a lot more functions const. Made a few more members private and a couple inline.
              * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the
              things we currently use in QTKit. It's a little more awkward for classes and other data objects
              than it is for functions, but still relatively straightforward, with no changes needed to the
              client code. Added using namespace directives. Made a cuePointTimerInterval constant and put
              it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f.
              (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr
              members to nil.
              (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease.
              (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor].
              (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect.
              Changed to use long instead of int because that's the type for a QTTime time scale anyway.
              (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast.
              (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression.
              (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue
              points set to avoid a potential problem with a set being modified as we iterate it.
              (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie.
              (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric
              values, used the constants from the headers directly.
              (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0,
              pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type
              of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably
              no better). Used RetainPtr instead of explicit CFRelease calls.
      
              * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers.
              It's not quite as automatic as the soft linking we can do for functions, since these define
              functions to get the values, so you need to define macros to make what look like variable
              accesses turn into function calls. See MediaPlayerPrivateQTKit for the details.
      
              * html/HTMLMediaElement.h:
              * html/TimeRanges.h:
              * html/VoidCallback.h:
              * platform/graphics/MediaPlayer.h:
              Use angle brackets for wtf includes. Omit unneeded includes.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      46dbd85c
    • adachan@apple.com's avatar
      <rdar://problem/5556378> Implemented database related UI delegate... · 0194e747
      adachan@apple.com authored
              <rdar://problem/5556378> Implemented database related UI delegate methods (prompts for new/enlarged databases)
      
              Reviewed by Darin.
      
              * Interfaces/IWebUIDelegatePrivate.idl:
              * WebChromeClient.cpp:
              (WebChromeClient::requestQuotaIncreaseForNewDatabase):
              (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0194e747
    • mitz@apple.com's avatar
      WebCore: · 3ea8475d
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=16334
                <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely
      
              Test: fast/dynamic/subtree-no-common-root-static-y.html
      
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::markContainingBlocksForLayout): Changed the call
              to setChildNeedsLayout() to not mark containing blocks and added a
              separate call to markContainingBlocksForLayout() that will not schedule
              a layout if we are already in the middle of scheduleRelayoutOfSubtree().
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=16334
                <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely
      
              * fast/dynamic/subtree-no-common-root-static-y.html: Added.
              * platform/mac/fast/dynamic/subtree-no-common-root-static-y-expected.checksum: Added.
              * platform/mac/fast/dynamic/subtree-no-common-root-static-y-expected.png: Added.
              * platform/mac/fast/dynamic/subtree-no-common-root-static-y-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3ea8475d
    • kevino@webkit.org's avatar
      Fix wxWebKit page leaks. · f0a65a5a
      kevino@webkit.org authored
      Reviewed by Darin Adler.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28518 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0a65a5a
    • kevino@webkit.org's avatar
      MSVC7 build fix due to a compiler bug with placement new and/or templates and casting. · 6db0aa7b
      kevino@webkit.org authored
      Reviewed by Darin Adler.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28517 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6db0aa7b
    • alp@webkit.org's avatar
      2007-12-07 Luca Bruno <lethalman88@gmail.com> · 8c468087
      alp@webkit.org authored
              Reviewed by Alp Toker.
      
              http://bugs.webkit.org/show_bug.cgi?id=16333
              [GTK] Key bindings must work with focused frames.
      
              There are still more cases where getFrameFromView() is mis-used that
              need to be fixed, but this is a good start.
      
              * WebView/webkitwebview.cpp:
              (webkit_web_view_real_select_all):
              (webkit_web_view_real_cut_clipboard):
              (webkit_web_view_real_copy_clipboard):
              (webkit_web_view_real_paste_clipboard):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28516 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c468087
    • ap@webkit.org's avatar
      Reviewed by Darin. · 82042a67
      ap@webkit.org authored
              http://bugs.webkit.org/show_bug.cgi?id=16325
              <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
              
              Test: http/tests/misc/empty-cookie.html
      
              * platform/mac/CookieJar.mm:
              (WebCore::setCookies): Don't store empty cookies.
              (WebCore::cookies): Filter out empty cookies if we have them, as they could have been set
              with an earlier version of Leopard!
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28515 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      82042a67
    • adachan@apple.com's avatar
      Fixed the if statement (ERROR_SUCCESS is 0 and we were actually · 82c80539
      adachan@apple.com authored
              returning true when there's an error).
      
              Reviewed by Steve.
      
              * platform/win/FileSystemWin.cpp:
              (WebCore::makeAllDirectories):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      82c80539
    • ap@webkit.org's avatar
      Reviewed by Darin. · 0db50c74
      ap@webkit.org authored
              http://bugs.webkit.org/show_bug.cgi?id=16091
              JSCRE needs to import the PCRE test suite
      
              We can use two files from PCRE test suite, as others either test for features not supported
              in JS, or use internal debugging facilities of PCRE.
      
              The files are checked in almost unmodified, I have only converted them to UTF-8 and removed two
              huge test cases that were completely incompatible with JSC, and were polluting the output.
      
              Many of the failures in results are just legitimate differences in behavior or possibly
              problems with the test runner, but some may be genuine bugs and even regressions in JSC.
      
              * fast/regex: Added.
              * fast/regex/pcre-test-runner.js: Added.
              * fast/regex/test1-expected.txt: Added.
              * fast/regex/test1.html: Added.
              * fast/regex/test4-expected.txt: Added.
              * fast/regex/test4.html: Added.
              * fast/regex/testinput1: Added.
              * fast/regex/testinput4: Added.
              * fast/regex/testoutput1: Added.
              * fast/regex/testoutput4: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0db50c74
  2. 06 Dec, 2007 25 commits
    • beidson@apple.com's avatar
      Reviewed by Oliver's rubber stamp · 95248336
      beidson@apple.com authored
              Let's go ahead and call the correct UI Delegate method, shall we?
      
              * WebCoreSupport/WebChromeClient.mm:
              (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Call the correct UI delegate
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28512 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      95248336
    • kevino@webkit.org's avatar
      Linux build fix - ensure that webcore is linked before jscore so that the... · bae5fb4e
      kevino@webkit.org authored
      Linux build fix - ensure that webcore is linked before jscore so that the linker will know which symbols it needs to link in. Also fix MSVC project file name typo for sample app.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28511 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bae5fb4e
    • darin@apple.com's avatar
      - fix broken regression test · 20978486
      darin@apple.com authored
              * bindings/js/kjs_binding.cpp:
              (KJS::setDOMException): Oops, this was just supposed to be PERMISSION_DENIED.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28510 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      20978486
    • darin@apple.com's avatar
      Reviewed by Sam Weinig. · a309ff78
      darin@apple.com authored
              - fix http://bugs.webkit.org/show_bug.cgi?id=16332
                ObjC DOM exception object descriptions should include the exception name
      
              * WebCore.pro: Added ExceptionCode.cpp.
              * WebCore.vcproj/WebCore.vcproj: Added ExceptionCode.cpp.
              * WebCore.xcodeproj/project.pbxproj: Added ExceptionCode.cpp.
              * WebCoreSources.bkl: Added ExceptionCode.cpp.
      
              * bindings/js/kjs_binding.cpp: (KJS::setDOMException): Moved the code to decompose an
              ExceptionCode into ExceptionCode.h/cpp -- getExceptionCodeDescription. Also removed
              the many unneeded includes that were here. Had to keep one special case here, for
              SECURITY_ERR.
      
              * bindings/objc/ExceptionHandlers.mm: (WebCore::raiseDOMException): Changed to use the
              new getExceptionCodeDescription function so that this shares the exception name
              information that was previously only available to JavaScript.
      
              * dom/ExceptionCode.cpp: Copied from bindings/js/kjs_binding.cpp.
              (WebCore::getExceptionCodeDescription): Added some assertions, and made the function
              handle exception names in a slightly more robust way that is not subject to integer
              overflow. (Not a real world issue since we should never receive a bad exception code.)
      
              * dom/ExceptionCode.h: Added the ExceptionCodeDescription struct and the
              getExceptionCodeDescription function.
      
              * svg/SVGException.h: Added a missing #include and got rid of some comments. Some of
              the comments were mildly helpful, but others were incorrect. This now matches the other
              exception-related headers such as RangeException.h.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28509 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a309ff78
    • beidson@apple.com's avatar
      Reviewed by Darin · 63936030
      beidson@apple.com authored
              Fixed a glaring bug that would prevent a statement from getting run a second time
      
              * storage/SQLStatement.cpp:
              (WebCore::SQLStatement::execute): Clear failure due to quota *before* we check the error
                and return early
              (WebCore::SQLStatement::clearFailureDueToQuota): Only clear the error if it was a quota error
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28508 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      63936030
    • timothy@apple.com's avatar
      Reviewed by Oliver Hunt. · eb4446d5
      timothy@apple.com authored
              Use keydown instead of keypress so keyIdentifier can be used.
      
              * page/inspector/ConsolePanel.js: Use keydown instead of keypress.
              * page/inspector/DatabasePanel.js: Ditto.
              * page/inspector/inspector.js: Ditto. Plus call removeEventListener
              before deleting windowLoaded.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28507 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eb4446d5
    • aroben@apple.com's avatar
      Rename FontsTable.plist to FontsList.plist · c8612c62
      aroben@apple.com authored
              Rubberstamped by Hyatt.
      
              * platform/graphics/win/FontDatabase.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28506 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c8612c62
    • alice.liu@apple.com's avatar
      Fixed <rdar://5540000> onbeforeunload doesn't fire when closing window/tab · 6e88c1de
      alice.liu@apple.com authored
              Reviewed by Darin.
      
              * Interfaces/IWebViewPrivate.idl:
              * WebView.cpp:
              (WebView::shouldClose):
              * WebView.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e88c1de
    • beidson@apple.com's avatar
      Reviewed by Darin · a8aec4f9
      beidson@apple.com authored
              Tweaked a comment and a few assertions from my last checkin
      
              * storage/SQLStatement.cpp:
              (WebCore::SQLStatement::execute):
              (WebCore::SQLStatement::clearFailureDueToQuota):
              (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8aec4f9
    • aroben@apple.com's avatar
      Fix <rdar://5615283> Crash in WebFrame::receivedPolicyDecision · 9aa95ef8
      aroben@apple.com authored
      WebKit/mac:
      
              Remove some assertions we know can fire and replace them with a FIXME
      
              Reviewed by Anders.
      
              * WebCoreSupport/WebFrameLoaderClient.mm:
      
      WebKit/win:
      
              Fix <rdar://5615283> Crash in WebFrame::receivedPolicyDecision
      
              It's possible for a second policy listener to be created while we're
              waiting for a decision on the first policy listener. In this case we
              would crash when the first policy listener had a decision made. Mac
              WebKit already handles this by invalidating any existing policy
              listener when creating a new one.
      
              A test case is coming in a future commit.
      
              Reviewed by Anders.
      
              * WebFrame.cpp:
              (WebFrame::setUpPolicyListener): Copy the Mac behavior of invalidating
              any existing policy listener, and remove some assertions that we know
              can fire.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28503 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9aa95ef8
    • beidson@apple.com's avatar
      Reviewed by Darin · e9e3d63a
      beidson@apple.com authored
              Finished hooking up UI Delegate for databases - Database operations will now enforce a size quota and
              will ask the UI Delegate for more space when that quota is met
      
              * platform/sql/SQLiteDatabase.cpp: Add the new SQLResultFull constant
              * platform/sql/SQLiteDatabase.h: Ditto
      
              * storage/Database.cpp:
              (WebCore::Database::securityOriginData): Added this accessor, copying for thread safety
              (WebCore::Database::stringIdentifier): Ditto
              * storage/Database.h:
      
              * storage/SQLStatement.cpp:
              (WebCore::SQLStatement::SQLStatement):
              (WebCore::SQLStatement::execute): Change to return an enum that represents 3 states - success, error, and quota.
                If the result is quota, this statement expects that it might be run again, presumably after the user increases 
                the quota
              (WebCore::SQLStatement::setFailureDueToQuota): Setup a quota failure, including a flag and the error
              (WebCore::SQLStatement::clearFailureDueToQuota): Clear a quota failure, for when the statement is rerun
              (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
              * storage/SQLStatement.h:
      
              * storage/SQLTransaction.cpp:
              (WebCore::SQLTransaction::SQLTransaction):
              (WebCore::SQLTransaction::performPendingCallback): Added an acceptable callback pointer
              (WebCore::SQLTransaction::openTransactionAndPreflight): Setup the quota in the database that will remain for this 
                transaction.  Note that in this patch, the quota being set is wrong - it makes sense to fix that in a follow up patch
              (WebCore::SQLTransaction::runStatements): Modified to add the ability to re-run a statement based on the UI delegate
                decision and whether the current statement was already run
              (WebCore::SQLTransaction::runCurrentStatement): Added another result condition - the Quota result - and handle it
              (WebCore::SQLTransaction::handleCurrentStatementError): Statements can now error-out from two places, so the code
                that handles a statement error was moved here
              (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Added - Consult the UI delegate for more quota, then 
                reschedule the current statement on the database thread
              * storage/SQLTransaction.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28502 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e9e3d63a
    • timothy@apple.com's avatar
      Change the ASSERT added for the previous fix. The ASSERT was firing for 10.5.0. · 9cd0d49f
      timothy@apple.com authored
              Only assert if the major version is zero, since zero is handled in the other cases.
      
              * WebView/WebView.mm:
              (callGestalt): Remove the ASSERT.
              (createMacOSXVersionString): ASSERT that major is not zero.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28501 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9cd0d49f
    • sfalken@apple.com's avatar
      <rdar://problem/5614257> Crash in timer / hashtable code due to uncaught exception · 705c0de3
      sfalken@apple.com authored
              
              Don't use callback-based timers, since these cause Windows to eat Windows crashes
              in code the timers call.
              
              Windows appears to be defending against "shatter" attacks partially by setting
              up a structured exception block while dispatching callback-based WM_TIMERs.
              
              I verified this by adding a divide by zero into some timer callback code.
              In the case where the timer was dispatched via a callback, the divide by zero
              exception was silently handled and ignored, with execution continuing after
              our call to DispatchMessage.  When processed via the WNDPROC, no SEH
              block was established by Windows, and our divide by zero generated a real
              crash (which is what we wanted).
              
              Windows handling our crashes for us led us to leave the timer data structures
              in an invalid state so the next time a timer was set, we'd crash accessing an
              invalid HashMap of timer data.
              
              Reviewed by Hyatt.
      
              * platform/win/SharedTimerWin.cpp:
              (WebCore::TimerWindowWndProc):
              (WebCore::setSharedTimerFireTime):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      705c0de3
    • darin@apple.com's avatar
      Reviewed by Tim Hatcher. · 8b8c5ffc
      darin@apple.com authored
              - fix <rdar://problem/5513394> No way to detect Tiger vs Leopard from Safari's user agent string
      
              * WebView/WebView.mm:
              (callGestalt): Added.
              (createMacOSXVersionString): Added.
              (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Added Mac OS X version string,
              right after the string "Mac OS X", but with underscores instead of dots to avoid the dreaded
              "4." problem (old libraries that think a "4." anywhere in the user agent means Netscape 4).
              (-[WebView _userAgentForURL:]): Fixed incorrect bug numbers.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8b8c5ffc
    • aroben@apple.com's avatar
      Fix <rdar://5108390> Feed title is too low in blue banner · 53873176
      aroben@apple.com authored
      WebCore:
      
              Fix <rdar://5108390> Feed title is too low in blue banner
      
              Way back in r23069 we started applying the same font ascent hack that
              Mac WebKit applies to Helvetica, Times, and Courier. We did this so
              that those fonts would match the Mac metrics when we run the
              regression tests. However, this hack was applying to Arial on Windows
              when a site would specify the Helvetica font face because Windows will
              alias the font names. Instead of removing the hack entirely, we
              turn it off by default but provide some SPI so that DumpRenderTree can
              turn it on.
      
              Reviewed by Hyatt.
      
              All tests pass.
      
              * platform/graphics/FontData.h: Add a new static method to turn on the
              hack on Windows only.
              * platform/graphics/win/FontDataWin.cpp:
              (WebCore::FontData::setShouldApplyMacAscentHack): Added.
              (WebCore::FontData::platformInit): Only perform the hack if
              shouldApplyMacAscentHack is true.
      
      WebKit/win:
      
              Add SPI so that DumpRenderTree can turn on the Mac font ascent hack
      
              Reviewed by Hyatt.
      
              * Interfaces/IWebViewPrivate.idl: Added new method declaration.
              * WebView.cpp:
              (WebView::setShouldApplyMacFontAscentHack): Added. Just calls down to
              FontData.
              * WebView.h:
      
      WebKitTools:
      
              Explicitly turn on the Mac font ascent hack on Windows
      
              This keeps our font metrics matching those from Mac.
      
              Reviewed by Hyatt.
      
              * DumpRenderTree/win/DumpRenderTree.cpp:
              (main):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28498 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      53873176
    • mitz@apple.com's avatar
      - updated render tree results for r28483 · 37171034
      mitz@apple.com authored
              * svg/batik/text/textEffect2-expected.txt:
              * svg/batik/text/textProperties-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28497 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      37171034
    • ggaren@apple.com's avatar
      WebCore: · 12ebc91a
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
      
              Fixed http://bugs.webkit.org/show_bug.cgi?id=16328
              REGRESSION (r28470): Crash expanding a GMail conversation
              
              * page/Frame.cpp:
              (WebCore::Frame::scriptProxy): Only return 0 if JS seems disabled *and*
              we haven't created the proxy yet. If we've created the proxy already, a
              script may be in the midst of execution, even though we've lost our
              settings object. During execution, scripts assume they have free access
              to the proxy.
      
      LayoutTests:
      
              Reviewed by Sam Weinig.
      
              Test for http://bugs.webkit.org/show_bug.cgi?id=16328
              REGRESSION (r28470): Crash expanding a GMail conversation
      
              * fast/frames/location-put-after-removal.html: Added.
              * fast/frames/resources/location-put-after-removal-frame.html: Added.
              * fast/frames/resources/location-put-after-removal-frame-expected.txt: Updated.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      12ebc91a
    • andersca@apple.com's avatar
      Rename main.c to main.cpp here too. · 5ae69716
      andersca@apple.com authored
              
              * DumpRenderTree/win/TestNetscapePlugin/main.cpp: Copied from DumpRenderTree/win/TestNetscapePlugin/main.c.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28495 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5ae69716
    • weinig@apple.com's avatar
      Rubber stamped by Geoff. · 08235545
      weinig@apple.com authored
              * Scripts/do-webcore-rename: Don't rename kjs_css twice.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      08235545
    • darin@apple.com's avatar
      * Scripts/do-webcore-rename: Some more renaming plans. · 4c8ef2db
      darin@apple.com authored
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c8ef2db
    • andersca@apple.com's avatar
      Remove implementation of testGetIntIdentifier that was accidentally · f32f8dc7
      andersca@apple.com authored
              removed somehow (possibly when I made PluginObject be a cpp file).
              
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
              (pluginInvoke):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f32f8dc7
    • darin@apple.com's avatar
      JavaScriptCore: · a7c53854
      darin@apple.com authored
              Reviewed by Eric Seidel.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=16321
                new RegExp("[\u0097]{4,6}", "gmy") crashes in DEBUG builds
                <rdar://problem/5632992>
      
              Test: fast/js/regexp-oveflow.html
      
              * pcre/pcre_compile.cpp:
              (calculateCompiledPatternLengthAndFlags): In the case where a single character
              character class is optimized to not use a character class at all, the preflight
              code was not setting the lastitemlength variable.
      
      LayoutTests:
      
              Reviewed by Eric Seidel.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=16321
                new RegExp("[\u0097]{4,6}", "gmy") crashes in DEBUG builds
                <rdar://problem/5632992>
      
              * fast/js/regexp-overflow-expected.txt: Updated.
              * fast/js/resources/regexp-overflow.js: Added test.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28491 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a7c53854
    • alp@webkit.org's avatar
      2007-12-06 Xan Lopez <xan@gnome.org> · 06eb5307
      alp@webkit.org authored
              Reviewed by Alp Toker.
      
              http://bugs.webkit.org/show_bug.cgi?id=16329
              [GTK] Two small cleanups
      
              * WebCoreSupport/ChromeClientGtk.cpp:
              (WebKit::ChromeClient::createWindow):
              (WebKit::ChromeClient::addMessageToConsole):
              (WebKit::ChromeClient::runJavaScriptAlert):
              (WebKit::ChromeClient::runJavaScriptConfirm):
              (WebKit::ChromeClient::runJavaScriptPrompt):
              (WebKit::ChromeClient::setStatusbarText):
              (WebKit::ChromeClient::mouseDidMoveOverElement):
              (WebKit::ChromeClient::setToolTip):
              * WebCoreSupport/ChromeClientGtk.h:
              * WebView/webkitprivate.cpp:
              (WebKit::kit):
              s/m_webPage/m_webView/
              * WebView/webkitwebview.cpp:
              Chain up to the parent class to activate bindings instead
              of doing it explicitely.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28490 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      06eb5307
    • adele@apple.com's avatar
      WebCore: · ddab0f7f
      adele@apple.com authored
              Reviewed by Oliver.
      
              Fix for <rdar://problem/5631356> Toggling display property on video causes controls to get lost
      
              * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attach): Call updateFromElement.
              * html/HTMLMediaElement.h:
      
      LayoutTests:
      
              Reviewed by Oliver.
      
              Fix <rdar://problem/5631356> Toggling display property on video causes controls to get lost
      
              * media/video-display-toggle.html: Added.
              * platform/mac/media/video-display-toggle-expected.checksum: Added.
              * platform/mac/media/video-display-toggle-expected.png: Added.
              * platform/mac/media/video-display-toggle-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28489 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ddab0f7f
    • adachan@apple.com's avatar
      Build fix. · 863e0a0d
      adachan@apple.com authored
              Reviewed by Geoff.
      
              * WebScriptCallFrame.cpp:
              (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      863e0a0d