1. 06 Mar, 2008 18 commits
    • ap@webkit.org's avatar
      Reviewed by Darin. · afd03186
      ap@webkit.org authored
              <rdar://problem/5687269> Need to create a Collator abstraction for WebCore and JavaScriptCore
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30842 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      afd03186
    • mitz@apple.com's avatar
      Reviewed by Adele. · 9dc74ec1
      mitz@apple.com authored
              - add test for r30823 (background-position: inherit)
      
              * fast/css/background-position-inherit-expected.txt: Added.
              * fast/css/background-position-inherit.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30841 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9dc74ec1
    • darin@apple.com's avatar
      WebCore: · 2060803d
      darin@apple.com authored
              Reviewed by Mitz.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=17526
                REGRESSION: iframes are added to Safari's History menu
                by separating the visited link machinery from global history
      
              This should also make page loading faster due to more efficient visited link coloring.
      
              * WebCore.base.exp: Updated.
              * WebCore.vcproj/WebCore.vcproj: Added PageGroup.h/cpp, removed GlobalHistory.h/cpp.
              * WebCore.xcodeproj/project.pbxproj: Ditto. Also removed WebCoreHistory.h/m.
      
              * css/CSSStyleSelector.cpp: Updated includes.
              (WebCore::CSSStyleSelector::initElementAndPseudoState): Eliminated code to set
              currentEncodedURL.
              (WebCore::checkPseudoState): Moved most of the code inside a new
              PageGroup::isLinkVisited function.
              (WebCore::CSSStyleSelector::canShareStyleWithElement): Tightened code a bit by using
              references and only getting colors when needed.
              (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto.
              * css/CSSStyleSelector.h: Removed EncodedURL, m_encodedURL, and setEncodedURL.
      
              * dom/Document.cpp:
              (WebCore::Document::attach): Removed call to setEncodedURL.
              (WebCore::Document::setURL): Ditto.
              (WebCore::Document::recalcStyleSelector): Ditto.
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Changed code to use
              early exit idiom to be a little more readable.
              (WebCore::FrameLoader::urlsMatchItem): Change to use a reference for slightly
              better efficiency.
              (WebCore::FrameLoader::goToItem): Use early exit idiom to be a little more
              readable.
              (WebCore::FrameLoader::updateHistoryForStandardLoad): Moved history code back
              in here and got rid of the helper function updateGlobalHistory, restoring the
              logic before r30549. Also added a call to the new addVisitedLink function.
              (WebCore::FrameLoader::updateHistoryForClientRedirect): Added code to call
              addVisitedLink here.
              (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Removed comment.
              (WebCore::FrameLoader::updateHistoryForReload): Removed call to
              updateGlobalHistory; we can just go without updating global history or
              visited links here, at least for now, since it's not clear that a reload
              is a "history event".
              (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Moved
              history code back where it was, and added the call to addVisitedLink, just
              as in updateHistoryForStandardLoad above.
              * loader/FrameLoader.h: Removed updateGlobalHistory function.
      
              * page/Chrome.cpp:
              (WebCore::ChromeClient::populateVisitedLinks): Added. Empty placeholder so we
              don't have to implement this for every port all at once.
              (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Changed to use the
              new PageGroup class.
              * page/ChromeClient.h: Added populateVisitedLinks function, used to fill the
              visited links set from the global history at application startup time.
      
              * page/FrameTree.cpp:
              (WebCore::FrameTree::find): Updated to use the new PageGroup class.
      
              * page/GlobalHistory.h: Removed.
              * page/win/GlobalHistoryWin.cpp: Removed.
              * page/mac/GlobalHistoryMac.mm: Removed.
              * platform/mac/WebCoreHistory.h: Removed.
              * platform/mac/WebCoreHistory.m: Removed.
              * platform/win/WebCoreHistory.cpp: Removed.
              * platform/win/WebCoreHistory.h: Removed.
      
              * page/Page.cpp:
              (WebCore::Page::Page): Set m_group to 0.
              (WebCore::Page::setGroupName): Set up m_group. If the page is not in any
              group, set it to 0 for now to postpone the cost of creating a group.
              (WebCore::Page::initGroup): Added. Sets m_group to point to a single-page
              group; used when getting a group.
              (WebCore::Page::removeAllVisitedLinks): Added. Calls removeVisitedLinks
              on all page groups.
              * page/Page.h: Moved enums inside the WebCore namespace. Removed the
              frameNamespace function and instead added the group and groupPtr functions.
      
              * page/PageGroup.cpp: Added. Contains all the visited code from the
              CSSStyleSelector in the isVisitedLink function, but more efficient because
              we don't allocate memory for the buffer.
              * page/PageGroup.h: Added.
      
              * platform/gtk/TemporaryLinkStubs.cpp: Removed historyContains.
              * platform/qt/TemporaryLinkStubs.cpp: Removed unneeded include.
              * platform/wx/TemporaryLinkStubs.cpp: Removed historyContains.
      
      WebKit:
      
              * WebKit.xcodeproj/project.pbxproj: Added WebHistoryInternal.h.
      
      WebKit/mac:
      
              Reviewed by Mitz.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=17526
                REGRESSION: iframes are added to Safari's History menu
                by separating the visited link machinery from global history
      
              * History/WebHistory.mm: Moved WebHistoryPrivate inside this file.
              (-[WebHistoryPrivate removeItemFromDateCaches:]): Removed the underscore from this
              method name, since it's on a private object.
              (-[WebHistoryPrivate removeItemForURLString:]): Added a call to the
              PageGroup::removeAllVisitedLinks function if the last URL was removed.
              (-[WebHistoryPrivate addItemToDateCaches:]): Removed the underscore from this
              method name, since it's on a private object.
              (-[WebHistoryPrivate removeAllItems]): Call PageGroup::removeAllVisitedLinks.
              (-[WebHistoryPrivate ageLimitDate]): Removed the underscore from this
              method name, since it's on a private object.
              (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
              Ditto.
              (-[WebHistoryPrivate saveHistoryGuts:URL:error:]): Ditto. Also changed this
              to correctly return the error by using the newer version of writeToURL: and
              removed the FIXME about that.
              (-[WebHistoryPrivate addVisitedLinksToPageGroup:]): Added. Calls addVisitedLink
              for every link in the history.
              (-[WebHistory saveToURL:error:]): Removed the FIXME, since we do get the error now.
              (-[WebHistory addItem:]): Moved into the WebPrivate category.
              (-[WebHistory addItemForURL:]): Ditto.
              (-[WebHistory _addItemForURL:title:]): Added. Used for the normal case where we
              create an item and already know its title.
              (-[WebHistory ageLimitDate]): Moved into the WebPrivate category.
              (-[WebHistory containsItemForURLString:]): Ditto.
              (-[WebHistory removeItem:]): Ditto.
              (-[WebHistory setLastVisitedTimeInterval:forItem:]): Ditto.
              (-[WebHistory _itemForURLString:]): Ditto.
              (-[WebHistory _addVisitedLinksToPageGroup:]): Added. For use only inside WebKit.
      
              * History/WebHistoryInternal.h: Added.
              * History/WebHistoryItemInternal.h: Tweaked formatting and includes.
              * History/WebHistoryPrivate.h: Moved the WebHistoryPrivate class out of this header.
              Also reorganized what was left behind.
      
              * WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks.
              * WebCoreSupport/WebChromeClient.mm:
              (WebChromeClient::populateVisitedLinks): Added a call to the new
              -[WebHistory _addVisitedLinksToPageGroup:] method.
      
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::updateGlobalHistory): Changed code to use the new
              -[WebHistory _addItemForURL:title:] method.
      
      WebKit/win:
      
              Reviewed by Mitz.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=17526
                REGRESSION: iframes are added to Safari's History menu
                by separating the visited link machinery from global history
      
              * WebCoreSupport/WebChromeClient.cpp:
              (WebChromeClient::populateVisitedLinks): Added a call to the new
              WebHistory::addVisitedLinksToPageGroup function.
              * WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks.
              Also fixed the webView function to be non-virtual.
      
              * WebCoreSupport/WebFrameLoaderClient.cpp:
              (WebFrameLoaderClient::updateGlobalHistory): Changed to use the
              new WebHistory::addItem function.
              (WebFrameLoaderClient::webHistory): Changed to return a WebHistory*,
              there's no reason to AddRef the result from this function.
              * WebCoreSupport/WebFrameLoaderClient.h: Ditto.
      
              * WebHistory.cpp: Removed IWebHistoryPrivate and _WebCoreHistoryProvider.
              (WebHistory::QueryInterface): Removed IWebHistoryPrivate.
              (sharedHistoryStorage): Added.
              (WebHistory::sharedHistory): Added.
              (WebHistory::optionalSharedHistory): Changed to use sharedHistory().
              (WebHistory::setOptionalSharedHistory): Changed to require a WebHistory
              object, not just an IWebHistory.
              (WebHistory::removeAllItems): Call PageGroup::removeAllVisitedLinks.
              (WebHistory::addItem): Changed parameter types since this is called with
              arguments from WebCore -- at some point this could allow better efficiency.
              (WebHistory::removeItemForURLString):  Call PageGroup::removeAllVisitedLinks
              if the last URL is being removed.
              (addVisitedLinkToPageGroup): Added. Helper. Adds a single link to a group's
              visited link set.
              (WebHistory::addVisitedLinksToPageGroup): Added. Adds all links to a group's
              visited link.
              * WebHistory.h: Removed IWebHistoryPrivate. Removed optionalSharedHistoryInternal
              and added sharedHistory. Replaced addItemForURL and containsItemForURLString with
              non-virtual addItem and addVisitedLinksToPageGroup functions.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30840 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2060803d
    • timothy@apple.com's avatar
      Rubber-stamped by Adam Roben. · cc636535
      timothy@apple.com authored
              Add a simple page that has various demo functions for Drosera.
      
              * demos/drosera: Added.
              * demos/drosera/demo.js: Added.
              * demos/drosera/drosera.png: Added.
              * demos/drosera/index.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30839 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cc636535
    • aroben@apple.com's avatar
      Rename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm} · f5c1330c
      aroben@apple.com authored
      WebKit:
      
              Rename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm}
      
              Reviewed by Kevin M.
      
              * WebKit.xcodeproj/project.pbxproj:
      
      WebKit/mac:
      
              Rename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm}
      
              Reviewed by Kevin M.
      
              * WebView/WebFrame.mm:
              * WebView/WebScriptDebugDelegate.mm:
              * WebView/WebScriptDebugger.h: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.h.
              * WebView/WebScriptDebugger.mm: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.mm.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30838 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f5c1330c
    • aroben@apple.com's avatar
      Rename WebCoreScriptDebuggerImp to WebScriptDebugger · 0584a00f
      aroben@apple.com authored
              Reviewed by Kevin M.
      
              * WebView/WebCoreScriptDebuggerImp.h:
              * WebView/WebCoreScriptDebuggerImp.mm:
              * WebView/WebFrame.mm:
              (-[WebFrame _attachScriptDebugger]):
              * WebView/WebFrameInternal.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30837 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0584a00f
    • aroben@apple.com's avatar
      Remove WebScriptDebugger · 03bbeb6b
      aroben@apple.com authored
      WebKit:
      
              Remove WebScriptDebugger
      
              Reviewed by Kevin M.
      
              * WebKit.xcodeproj/project.pbxproj: Remove
              WebScriptDebugDelegatePrivate.h from the project.
      
      WebKit/mac:
      
              Remove WebScriptDebugger
      
              Uses of WebScriptDebugger have been replaced with
              WebCoreScriptDebuggerImp.
      
              Reviewed by Kevin M.
      
              * WebView/WebFrame.mm:
              (-[WebFramePrivate dealloc]): Use delete instead of release since
              WebCoreScriptDebuggerImp is a C++ class.
              (-[WebFrame _attachScriptDebugger]): Updated to use early returns and
              WebCoreScriptDebuggerImp.
              (-[WebFrame _detachScriptDebugger]): Ditto.
              * WebView/WebFrameInternal.h:
              * WebView/WebScriptDebugDelegate.mm: Removed WebScriptDebugger
              * WebView/WebScriptDebugDelegatePrivate.h: Removed.
              * WebView/WebView.mm:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30836 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03bbeb6b
    • aroben@apple.com's avatar
      Remove -webFrame and -globalObject from WebScriptDebugger · ed89738a
      aroben@apple.com authored
      WebCore:
      
              Export a header/symbol for WebKit
      
              Reviewed by Kevin M.
      
              * WebCore.base.exp:
              * WebCore.xcodeproj/project.pbxproj:
      
      WebKit/mac:
      
              Remove -webFrame and -globalObject from WebScriptDebugger
      
              WebCoreScriptDebuggerImp is now unaware of WebScriptDebugger
      
              Reviewed by Kevin M.
      
              * WebView/WebCoreScriptDebuggerImp.h: Removed WebScriptDebugger*
              parameter to the constructor.
              * WebView/WebCoreScriptDebuggerImp.mm:
              (toWebFrame): Added.
              (WebCoreScriptDebuggerImp::sourceParsed): Call toWebFrame.
              (WebCoreScriptDebuggerImp::callEvent): Ditto, and get the Frame's
              WindowScriptObject ourselves instead of asking WebScriptDebugger for
              it.
              (WebCoreScriptDebuggerImp::atStatement): Call toWebFrame.
              (WebCoreScriptDebuggerImp::returnEvent): Ditto.
              (WebCoreScriptDebuggerImp::exception): Ditto.
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptDebugger initWithWebFrame:]): Updated for change to
              WebScriptDebuggerImp's constructor.
              * WebView/WebScriptDebugDelegatePrivate.h: Removed
              -webFrame/-globalObject.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ed89738a
    • aroben@apple.com's avatar
      Remove -enterFrame: and -leaveFrame from WebScriptDebugger · 5e8cdb26
      aroben@apple.com authored
              Reviewed by Kevin M.
      
              * WebView/WebCoreScriptDebuggerImp.h: Changed to store m_topCallFrame
              in a RetainPtr, now that WebCoreScriptDebuggerImp is in charge of its
              lifetime.
              * WebView/WebCoreScriptDebuggerImp.mm:
                - Added declaration of -[WebScriptCallFrame
                  _initWithGlobalObject:caller:state:].
                - Changed most uses of m_topCallFrame to m_topCallFrame.get()
              (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Removed
              now-unnecessary initialization of m_topCallFrame.
              (WebCoreScriptDebuggerImp::callEvent): Replaced call to enterFrame:
              with its implementation. The one difference between this
              implementation and the old enterFrame: method is that we don't hand
              our reference to m_topCallFrame to _initWithGlobalObject: -- that
              method must now retain the passed-in WebScriptCallFrame manually.
              (WebCoreScriptDebuggerImp::atStatement):
              (WebCoreScriptDebuggerImp::returnEvent): Replaced call to leaveFrame
              with its implementation.
              (WebCoreScriptDebuggerImp::exception):
              * WebView/WebScriptDebugDelegate.mm: Removed declaration of
              -[WebScriptCallFrame _initWithGlobalObject:caller:state:].
              (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Changed
              to retain the passed-in caller.
              * WebView/WebScriptDebugDelegatePrivate.h:
                - Removed _current ivar
                - Removed enterFrame:/leaveFrame declarations.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30834 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5e8cdb26
    • aroben@apple.com's avatar
      Remove -parsedSource: from WebScriptDebugger · faec5468
      aroben@apple.com authored
              Reviewed by Kevin M.
      
              * WebView/WebCoreScriptDebuggerImp.mm:
              (WebCoreScriptDebuggerImp::sourceParsed): Moved code here from
              -[WebScriptDebugger parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]
              * WebView/WebScriptDebugDelegate.mm: Removed -parsedSource:.
              * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30833 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      faec5468
    • aroben@apple.com's avatar
      Remove -enteredFrame:, -leavingFrame:, and -exceptionRaised: from WebScriptDebugger · ba8fcddf
      aroben@apple.com authored
              Reviewed by Kevin M.
      
              * WebView/WebCoreScriptDebuggerImp.mm:
              (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Changed to call
              trhough to callEvent instead of duplicating its code here.
              (WebCoreScriptDebuggerImp::callEvent): Moved code from
              -[WebScriptDebugger enteredFrame:sourceId:line:] here.
              (WebCoreScriptDebuggerImp::returnEvent): Moved code from
              -[WebScriptDebugger leavingFrame:sourceId:line:] here.
              (WebCoreScriptDebuggerImp::exception): Moved code from
              -[WebScriptDebugger exceptionRaised:sourceId:line:] here.
              * WebView/WebScriptDebugDelegate.mm: Removed -enteredFrame:,
              -leavingFrame:, and -exceptionRaised:.
              * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30832 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba8fcddf
    • aroben@apple.com's avatar
      Remove -[WebScriptDebugger hitStatement:sourceId:line:] · c7079957
      aroben@apple.com authored
              Reviewed by Kevin M.
      
              * WebView/WebCoreScriptDebuggerImp.mm:
              (WebCoreScriptDebuggerImp::atStatement): Moved code here from
              -[WebScriptDebugger hitStatement:sourceId:line:].
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptDebugger webFrame]): Added.
              * WebView/WebScriptDebugDelegatePrivate.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30831 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c7079957
    • aroben@apple.com's avatar
      Remove WebCoreScriptDebugger · ce3e62e4
      aroben@apple.com authored
      WebKit:
      
              Remove WebCoreScriptDebugger.{h,mm}
      
              Reviewed by Kevin M.
      
              * WebKit.xcodeproj/project.pbxproj:
      
      WebKit/mac:
      
              Remove WebCoreScriptDebugger
      
              Reviewed by Kevin M.
      
              * WebView/WebCoreScriptDebugger.h: Removed.
              * WebView/WebCoreScriptDebugger.mm: Removed.
              * WebView/WebCoreScriptDebuggerImp.h: Replaced WebCoreScriptDebugger
              with WebScriptDebugger.
              * WebView/WebCoreScriptDebuggerImp.mm: Ditto, and replaced [m_debugger
              delegate] with just m_debugger.
              (toNSString): Moved here from WebCoreScriptDebugger.mm.
              (toNSURL): Ditto.
              (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
              (WebCoreScriptDebuggerImp::sourceParsed):
              (WebCoreScriptDebuggerImp::callEvent):
              (WebCoreScriptDebuggerImp::atStatement):
              (WebCoreScriptDebuggerImp::returnEvent):
              (WebCoreScriptDebuggerImp::exception):
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptDebugger initWithWebFrame:]): _debugger now holds a
              WebCoreScriptDebuggerImp, so initialize it properly.
              * WebView/WebScriptDebugDelegatePrivate.h: Changed _debugger to hold a
              WebCoreScriptDebuggerImp.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ce3e62e4
    • aroben@apple.com's avatar
      Move WebCoreScriptDebuggerImp to its own source files · a7f04970
      aroben@apple.com authored
      WebKit:
      
              Move WebCoreScriptDebuggerImp to its own source files
      
              Reviewed by Kevin M.
      
              * WebKit.xcodeproj/project.pbxproj: Added new files to the project.
      
      WebKit/mac:
      
              Move WebCoreScriptDebuggerImp to its own source files
      
              Also changed WebCoreScriptDebuggerImp coding style to match our style
              guidelines.
      
              Reviewed by Kevin M.
      
              * WebView/WebCoreScriptDebugger.h: Added declaration of toNSURL
              function.
              * WebView/WebCoreScriptDebugger.mm: Removed WebCoreScriptDebuggerImp
              implementation.
              (toNSURL): Made no longer static.
              * WebView/WebCoreScriptDebuggerImp.h: Added.
              * WebView/WebCoreScriptDebuggerImp.mm: Added. Code was moved here from
              WebCoreScriptDebugger.mm and cleaned up.
              (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
              (WebCoreScriptDebuggerImp::sourceParsed):
              (WebCoreScriptDebuggerImp::callEvent):
              (WebCoreScriptDebuggerImp::atStatement):
              (WebCoreScriptDebuggerImp::returnEvent):
              (WebCoreScriptDebuggerImp::exception):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30829 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a7f04970
    • aroben@apple.com's avatar
      Move -_enterFrame and -_leaveFrame from WebCoreScriptDebugger to WebScriptDebugger · 895bd099
      aroben@apple.com authored
              Reviewed by Kevin M.
      
              * WebView/WebCoreScriptDebugger.h:
                - Removed newFrameWithGlobalObject:caller:state: from
                  WebScriptDebugger protocol
                - Added enterFrame: and leaveFrame: to WebScriptDebugger protocol
                - Removed _current ivar from WebCoreScriptDebugger
              * WebView/WebCoreScriptDebugger.mm:
              (WebCoreScriptDebuggerImp::callEvent): Changed to call enterFrame on
              the delegate.
              (WebCoreScriptDebuggerImp::returnEvent): Ditto for leaveFrame.
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptDebugger dealloc]): Added code to release _current.
              (-[WebScriptDebugger enterFrame:]): Added. Code came from
              WebCoreScriptDebugger.
              (-[WebScriptDebugger leaveFrame]): Ditto.
              * WebView/WebScriptDebugDelegatePrivate.h: Added _current ivar.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      895bd099
    • ddkilzer@apple.com's avatar
      Name the WebKit build phase script that generates WebKit.LP64.exp. · c4431b28
      ddkilzer@apple.com authored
              * WebKit.xcodeproj/project.pbxproj: Name the build phase script
              that generates the 64-bit export file to match the corresponding
              build phase script in WebCore.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30827 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4431b28
    • mrowe@apple.com's avatar
      Fix 64-bit Mac build. · ef7631d6
      mrowe@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30826 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ef7631d6
    • mrowe@apple.com's avatar
      Leopard build fix. · df291420
      mrowe@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      df291420
  2. 05 Mar, 2008 22 commits
    • kevino@webkit.org's avatar
      Fix the wx build after the bindings move. · 62f191f2
      kevino@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      62f191f2
    • mitz@apple.com's avatar
      Reviewed by Adele Peterson. · 3190ea54
      mitz@apple.com authored
              - fix "background-position: inherit"
      
              * css/CSSStyleSelector.cpp:
              Made HANDLE_MULTILAYER_INHERIT_AND_INITIAL fall through and added
              a return statement in HANDLE_MULTILAYER_VALUE. Also removed an unused
              macro.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30823 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3190ea54
    • alp@webkit.org's avatar
      2008-03-05 Alp Toker <alp@atoker.com> · 814ceb77
      alp@webkit.org authored
              Add a missing make dependency for derived sources to improve
              autotools build dependency tracking.
      
              Issue spotted by Ori Bernstein.
      
              * GNUmakefile.am:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30822 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      814ceb77
    • alp@webkit.org's avatar
      2008-03-05 Alp Toker <alp@atoker.com> · 29183505
      alp@webkit.org authored
              GTK+ build fix for breakage introduced in r30800.
      
              Track moved bridge sources from JavaScriptCore to WebCore.
      
              * GNUmakefile.am:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      29183505
    • justin.garcia@apple.com's avatar
      WebCore: · 6dc0b0a5
      justin.garcia@apple.com authored
              Reviewed by Darin.
      
              One part of fix for:
              <rdar://problem/5780697> Copying content with percentage based rules in a style sheet will cause fidelity issues
      
              * editing/markup.cpp:
              (WebCore::appendStartMarkup): Styles from matched rules should take precedence over those in
              inline style declarations, not the other way around. 
      
      LayoutTests:
      
              Reviewed by Darin.
              
              <rdar://problem/5780697> Copying content with CSS property values that are percentages can cause fidelity issues
      
              * editing/pasteboard/5780697-1-expected.txt: Added.
              * editing/pasteboard/5780697-1.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30820 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6dc0b0a5
    • alp@webkit.org's avatar
      Another buildbot fix attempt, pass SHELL=/bin/bash · 857869ce
      alp@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30819 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      857869ce
    • alp@webkit.org's avatar
      2008-03-05 Alp Toker <alp@atoker.com> · ef4ce500
      alp@webkit.org authored
              Attempt to get the autotools build working again on the bot with
              build-webkit.
      
              Force the use of /bin/bash since we seem to have bash-isms in the
              configure script right now.
      
              * Scripts/webkitdirs.pm:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30818 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ef4ce500
    • mrowe@apple.com's avatar
      Fix typo in ChangeLog. · 49bca807
      mrowe@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30817 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      49bca807
    • andersca@apple.com's avatar
      Reviewed by Darin. · 98601e46
      andersca@apple.com authored
              Move JNI specific code from runtime_root over to jni_jsobject, where it is used.
      
              * bridge/jni/jni_jsobject.cpp:
              (completedJavaScriptAccess):
              (initializeJavaScriptAccessLock):
              (lockJavaScriptAccess):
              (unlockJavaScriptAccess):
              (dispatchToJavaScriptThread):
              (performJavaScriptAccess):
              (JavaJSObject::initializeJNIThreading):
              (isJavaScriptThread):
              (JavaJSObject::invoke):
              * bridge/jni/jni_jsobject.h:
              * bridge/runtime_root.cpp:
              * bridge/runtime_root.h:
              * page/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge init]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30816 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      98601e46
    • darin@apple.com's avatar
      Reviewed by Sam. · e185d7c7
      darin@apple.com authored
              - add functions giving offsets within a KURL, slated to replace the
                EncodedURL object in CSSStyleSelector (in a future "visited link" change)
              - chagned all KURL data members names to use the traditional m_ prefix
              - initialize all members to 0 in invalid KURLs rather than having all
                functions check m_isValid
      
              * platform/KURL.cpp:
              (WebCore::KURL::invalidate): Added. Initializes all the fields except for
              m_string to the "invalid" values. For use in the empty constructor and
              in the init and parse functions.
              (WebCore::KURL::init): Tweaked comments. Changed all code paths that return
              early to use the invalidate() function. Updated for member variable name
              changes.
              (WebCore::KURL::hasPath): Updated for member variable name changes.
              Remove now-unneeded check of m_isValid.
              (WebCore::KURL::lastPathComponent): Ditto.
              (WebCore::KURL::protocol): Ditto.
              (WebCore::KURL::host): Ditto.
              (WebCore::KURL::port): Ditto.
              (WebCore::KURL::pass): Ditto.
              (WebCore::KURL::user): Ditto.
              (WebCore::KURL::ref): Ditto.
              (WebCore::KURL::hasRef): Ditto.
              (WebCore::KURL::protocolIs): Ditto.
              (WebCore::KURL::query): Ditto.
              (WebCore::KURL::path): Ditto.
              (WebCore::KURL::setProtocol): Ditto.
              (WebCore::KURL::setHost): Ditto.
              (WebCore::KURL::setPort): Ditto.
              (WebCore::KURL::setHostAndPort): Ditto.
              (WebCore::KURL::setUser): Ditto.
              (WebCore::KURL::setPass): Ditto.
              (WebCore::KURL::setRef): Ditto.
              (WebCore::KURL::setQuery): Ditto.
              (WebCore::KURL::setPath): Ditto.
              (WebCore::KURL::prettyURL): Ditto.
              (WebCore::copyPathRemovingDots): Removed braces to match our code style.
              (WebCore::KURL::parse): Changed all code paths that return early to use
              the invalidate function. Moved code to set m_isValid to true to the very
              end of the function. Removed braces to match our code style. Removed an
              extra copy of the path/query/fragment code (there were two identical copies
              in the two sides of an if statement). Removed some commented-out code.
              Reversed an if statment. Added code to set the new m_pathAfterLastSlash
              field. Updated for member variable name changes.
              (WebCore::equalIgnoringRef): Updated for member variable name changes.
              (WebCore::KURL::isHierarchical): Ditto.
      
              * platform/KURL.h: Added a FIXME about ref vs. fragment. Made the empty
              constructor inline and called the new invalidate function. Added new
              pathStart, pathEnd, and pathAfterLastSlash functions, for use in the
              new visited link code. Added an invalidate function. Renamed all the
              data members to use the m_ prefix.
      
              * WebCore.base.exp: Updated.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30815 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e185d7c7
    • andersca@apple.com's avatar
      Reviewed by Sam. · ed5b3cb7
      andersca@apple.com authored
              * WebCore.xcodeproj/project.pbxproj:
              Change jni_jsobject.cpp to be Obj-C++ for now. The plan is to merge 
              this with jni_objc.mm and create jni_jsobject.mm.
              
              * bridge/jni/jni_jsobject.cpp:
              (createRootObject):
              Move createRootObject here from WebCoreFrameBridge.
              
              (JavaJSObject::createNative):
              Call the newly added createRootObject function.
              
              * bridge/runtime_root.cpp:
              (KJS::Bindings::RootObject::initializeJNIThreading):
              * bridge/runtime_root.h:
              setCreateRootObject no longer takes a root object, rename it to initializeJNIThreading.
      
              * page/mac/FrameMac.mm:
              (WebCore::Frame::createScriptInstanceForWidget):
              Just call Frame::createRootObject here.
              
              * page/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge init]):
              Call initializeJNIThreading.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30814 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ed5b3cb7
    • andersca@apple.com's avatar
      Reviewed by Sam. · 873ec6a0
      andersca@apple.com authored
              Change some static class variables to be regular static variables,
              making it easier to move the chunk of mac-specific code out of runtime_root.[cpp|h]
      
              * bridge/runtime_root.cpp:
              (KJS::Bindings::completedJavaScriptAccess):
              (KJS::Bindings::RootObject::dispatchToJavaScriptThread):
              (KJS::Bindings::performJavaScriptAccess):
              (KJS::Bindings::RootObject::createRootObject):
              (KJS::Bindings::RootObject::runLoop):
              (KJS::Bindings::RootObject::setCreateRootObject):
              * bridge/runtime_root.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      873ec6a0
    • mrowe@apple.com's avatar
      2008-03-05 Brent Fulgham <bfulgham@gmail.com> · 02a10025
      mrowe@apple.com authored
              Reviewed by Adam Roben.
      
              Modify source files to use the USE(SAFARI_THEME) macro, rather than
              USE_SAFARI_THEME.  (http://bugs.webkit.org/show_bug.cgi?id=17683)
      
              * WebCore/platform/win/PlatformScrollBarSafari.cpp
              * WebCore/rendering/RenderThemeSafari.cpp
              * WebCore/rendering/RenderThemeSafari.h
              * config.h: Move definition of WTF_USE_SAFARI_THEME here
      
      2008-03-05  Brent Fulgham  <bfulgham@gmail.com>
      
              Reviewed by Adam Roben.
      
              Remove definition of WTF_USE_SAFARI_THEME from wtf/Platform.h
              because the PLATFORM(CG) flag is not set until config.h has
              already included this file.
      
              * wtf/Platform.h:  Remove useless definition of WTF_USE_SAFARI_THEME
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      02a10025
    • beidson@apple.com's avatar
      JavaScriptCore: · a059d6f9
      beidson@apple.com authored
              Reviewed by Alexey and Mark Rowe
      
              Fix for <rdar://problem/5778247> - Reproducible crash on storage/execute-sql-args.html
      
              DatabaseThread::unscheduleDatabaseTasks() manually filters through a MessageQueue,
              removing particular items for Databases that were shutting down.
      
              This filtering operation is not atomic, and therefore causes a race condition with the
              MessageQueue waking up and reading from the message queue.  
      
              The end result was an attempt to dereference a null DatabaseTask.  Timing-wise, this never
              seemed to happen in a debug build, otherwise an assertion would've caught it.  Replacing that
              assertion with a crash in a release build is what revealed this bug.
      
              * wtf/MessageQueue.h:
              (WTF::::waitForMessage): Tweak the waiting logic to check the queue's empty state then go back
                to sleep if the queue was empty - checking m_killed each time it wakes up.
      
      WebCore:
      
              Reviewed by Alexey and Mark Rowe
      
              Fix for <rdar://problem/5778247> - Reproducible crash on storage/execute-sql-args.html
      
              DatabaseThread::unscheduleDatabaseTasks() manually filters through a MessageQueue,
              removing particular items for Databases that were shutting down.
      
              This filtering operation is not atomic, and therefore causes a race condition with the
              database thread waking up and reading from the message queue.  
      
              The end result was an attempt to dereference a null DatabaseTask.  Timing-wise, this never
              seemed to happen in a debug build, otherwise an assertion would've caught it.  Replacing that
              assertion with a crash in a release build is what revealed this bug.
      
              The fix for the above symptom was entirely in WTF::MessageQueue in JSCore.  With this fix in 
              place, another crash popped up in the layout tests that was related to dereferencing a 
              deallocated object - simply because SQLTransaction had a raw pointer to it's Database object 
              when it needed to be a ref pointer.
      
              * storage/SQLTransaction.cpp:
              (WebCore::SQLTransaction::runCurrentStatement):
              * storage/SQLTransaction.h: Change m_database to be a RefPtr
              (WebCore::SQLTransaction::database):
      
      LayoutTests:
      
              Reviewed by Alexey + Mark Rowe
      
              Fix for <rdar://problem/5778247> - Reproducible crash on storage/execute-sql-args.html
      
              This test takes its best shot at handling two databases on a single database thread at once,
              then having one of those databases go away completely (garbage collection and everything)
      
              * storage/multiple-databases-garbage-collection-expected.txt: Added.
              * storage/multiple-databases-garbage-collection.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30811 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a059d6f9
    • ddkilzer@apple.com's avatar
      Remove unused header includes from interpreter.cpp. · b1a25b51
      ddkilzer@apple.com authored
              Reviewed by Darin.
      
              * kjs/interpreter.cpp: Remove unused header includes.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b1a25b51
    • mrowe@apple.com's avatar
      b0c2aa7e
    • ddkilzer@apple.com's avatar
      Fixed commit date. · 867a6a5e
      ddkilzer@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      867a6a5e
    • alp@webkit.org's avatar
      2008-03-05 Alp Toker <alp@atoker.com> · ae87796d
      alp@webkit.org authored
              Re-attempt to switch to the autotools build system for GTK+.
      
              Change scripts to continue when distclean fails.
      
              * Scripts/webkitdirs.pm:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30807 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ae87796d
    • aroben@apple.com's avatar
      Remove WebCoreScriptCallFrame · 3c3f775a
      aroben@apple.com authored
               Reviewed by Tim.
      
               * WebView/WebCoreScriptDebugger.h:
                 - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
                 - Replaced -newWrapperForFrame: with
                   -newFrameWithGlobalObject:caller:state:
                 - Removed WebCoreScriptCallFrame interface.
               * WebView/WebCoreScriptDebugger.mm: Replaced WebCoreScriptCallFrame
               with WebScriptCallFrame.
               (-[WebCoreScriptDebugger _enterFrame:]): Changed to call
               -newFrameWithGlobalObject:caller:state.
               (-[WebCoreScriptDebugger _leaveFrame]):
               * WebView/WebScriptDebugDelegate.h: Changed WebScriptCallFrame's
               _private ivar to be of type WebScriptCallFramePrivate*.
               * WebView/WebScriptDebugDelegate.mm:
                 - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
                 - Added WebScriptCallFramePrivate
               (-[WebScriptDebugger enteredFrame:sourceId:line:]):
               (-[WebScriptDebugger hitStatement:sourceId:line:]):
               (-[WebScriptDebugger leavingFrame:sourceId:line:]):
               (-[WebScriptDebugger exceptionRaised:sourceId:line:]):
               (-[WebScriptCallFramePrivate dealloc]): Added.
               (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Added.
               Code came from WebCoreScriptCallFrame.
               (-[WebScriptCallFrame dealloc]): Added a call to release the _private
               ivar.
               (-[WebScriptCallFrame _convertValueToObjcValue:]): Replaced calls to
               _private with direct access of _private's ivars.
               (-[WebScriptCallFrame caller]): Ditto.
               (-[WebScriptCallFrame scopeChain]): Ditto.
               (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3c3f775a
    • aroben@apple.com's avatar
      Move -_convertValueToObjcValue to WebScriptCallFrame · e90b96e2
      aroben@apple.com authored
               Reviewed by Darin.
      
               * WebView/WebCoreScriptDebugger.h: Removed declaration of
               -_convertValueToObjcValue.
               * WebView/WebCoreScriptDebugger.mm: Removed -_convertValueToObjcValue.
               * WebView/WebScriptDebugDelegate.mm:
               (-[WebScriptCallFrame _convertValueToObjcValue:]): Added. Code came
               from -[WebCoreScriptCallFrame _convertValueToObjcValue].
               (-[WebScriptCallFrame scopeChain]): Changed to call
               -_convertValueToObjcValue on self instead of _private.
               (-[WebScriptCallFrame exception]): Ditto.
               (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e90b96e2
    • aroben@apple.com's avatar
      Move -exception and -evaluateWebScript: to WebScriptCallFrame · 68488677
      aroben@apple.com authored
               Reviewed by Darin.
      
               * WebView/WebCoreScriptDebugger.h: Removed declarations of -exception
               and -evaluateWebScript:.
               * WebView/WebCoreScriptDebugger.mm: Removed -exception and
               -evaluateWebScript:.
               * WebView/WebScriptDebugDelegate.mm:
               (-[WebScriptCallFrame exception]): Added. Code came from
               -[WebCoreScriptCallFrame exception].
               (-[WebScriptCallFrame evaluateWebScript:]): Added. Code came from
               -[WebCoreScriptCallFrame evaluateWebScript:].
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30804 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      68488677
    • aroben@apple.com's avatar
      Move -scopeChain to WebScriptCallFrame · 66302eb7
      aroben@apple.com authored
               Reviewed by Darin.
      
               * WebView/WebCoreScriptDebugger.h:
                 - Added declarations of -globalObject and -_convertValueToObjcValue:
                   to WebCoreScriptCallFrame
                 - Removed declaration of -scopeChain.
               * WebView/WebCoreScriptDebugger.mm: Moved -_convertValueToObjcValue
               within the main WebCoreScriptCallFrame implementation.
               (-[WebCoreScriptCallFrame globalObject]): Added.
               * WebView/WebScriptDebugDelegate.mm:
               (-[WebScriptCallFrame scopeChain]): Added. Code came from
               -[WebCoreScriptCallFrame scopeChain].
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30803 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      66302eb7