1. 16 Apr, 2008 2 commits
    • ap@webkit.org's avatar
      Reviewed by Darin. · 3bfd7d04
      ap@webkit.org authored
              Implement an abstraction for thread-specific storage, use it to get rid of some static objects.
              SunSpider results were not conclusive, possibly up to 0.2% slowdown.
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCore.vcproj/WTF/WTF.vcproj:
              Added ThreadSpecific.h
              * wtf/ThreadSpecific.h: Added.
              Only implemented for platforms that use pthreads.
              * kjs/CommonIdentifiers.cpp:
              * kjs/CommonIdentifiers.h:
              * kjs/InitializeThreading.cpp:
              * kjs/Parser.cpp:
              * kjs/Parser.h:
              * kjs/identifier.cpp:
              * kjs/identifier.h:
              * kjs/lexer.cpp:
              * kjs/lexer.h:
              Make static instances per-thread.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • eric@webkit.org's avatar
      Reviewed by hyatt. · 1ec1e0f6
      eric@webkit.org authored
              Fix leaky ImageBuffer code.
              * platform/graphics/GeneratedImage.cpp:
              * platform/graphics/ImageBuffer.h:
              * platform/graphics/cg/ImageBufferCG.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  2. 15 Apr, 2008 29 commits
    • justin.garcia@apple.com's avatar
      WebCore: · a6a55b6b
      justin.garcia@apple.com authored
      2008-04-15  Justin Garcia  <justin.garcia@apple.com>
              Reviewed by Oliver.
              <rdar://problem/5665299> REGRESSION (r27369): Paste text into a contenteditable div creates a contenteditable div for each line (16661)
              * editing/markup.cpp:
              (WebCore::createFragmentFromText): Don't use clones of the enclosing block to hold
              paragraphs if the enclosing block is the root editable element.
      2008-04-15  Justin Garcia  <justin.garcia@apple.com>
              Reviewed by Oliver.
              <rdar://problem/5665299> REGRESSION (r27369): Paste text into a contenteditable div creates a contenteditable div for each line (16661)
              * editing/pasteboard/5665299-expected.txt: Added.
              * editing/pasteboard/5665299.html: Added.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mrowe@apple.com's avatar
      Don't treat the misnamed NSAccessibilitySortButtonRole as an accessibility role. · ffa57415
      mrowe@apple.com authored
      It is really a subrole of NSAccessibilityButtonRole.  As it is not used inside WebCore
      there is no change in behaviour as a result of doing this. This fixes <rdar://problem/5866444>.
      Reviewed by Jon Honeycutt.
      * page/AccessibilityObject.cpp:
      (WebCore::AccessibilityObject::canSetFocusAttribute): Remove SortButtonRole as it is unused.
      * page/AccessibilityObject.h: Ditto.
      * page/mac/AccessibilityObjectWrapper.mm:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • andersca@apple.com's avatar
      2008-04-15 Anders Carlsson <andersca@apple.com> · b9e5d1cf
      andersca@apple.com authored
              Fix leaks seen on bot.
              * loader/SubstituteResource.h:
              Add a virtual destructor.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31927 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • beidson@apple.com's avatar
      2008-04-15 Brady Eidson <beidson@apple.com> · 663eda1c
      beidson@apple.com authored
              Reviewed by Anders Carlsson
              Fix for <rdar://problem/5820819> - Crash sometime occurs when interrupting a load.
              Each SubresourceLoader has a client.  That client is often a Loader::Host object.  
              The Loader/Host/CachedResource system predates our ref-counting and ownership models, and therefore manages
              object lifetime manually.
              The cause of this crash was that we would sometimes call "didFail()" on a Host object twice - Once when 
              beginning the new navigation, and once when the new navigation is committed.
              The problem is after the first time Host::didFail() gets called, the Host is almost always deleted shortly 
              thereafter.  But the SubresourceLoader had a dangling pointer to the Host which is now invalid.
              I explored a few options to fix this bug.  The one that was most obviously "clean" was to call cancel() on
              the SubresourceLoader itself, which would end up calling Host::didFail() and doing the appropriate cache
              This problem with that approach was that it had other side effects - when you cut off a load that had already
              partially displayed in the WebView, images that hadn't finished loading would be invalidated and immediately
              turn into broken image icons.  This was visually jarring and pretty unacceptable. 
              So I decided to follow a much simpler approach, which was to have the Host clear the client pointer from each
              SubresourceLoader before it forgets about it.  This leaves things the same visually and fixes the crash.
              Note that the layout test for this - if possible - will require other enhancements to DRT including possibly 
              adding support for window.stop(). That task is non-trivial, and is documented in <rdar://problem/5061826> 
              * loader/SubresourceLoader.h:
              (WebCore::SubresourceLoader::clearClient): Add a method to clear the SubresourceLoaderClient.  This is 
                perfectly safe to do on an in-flight SubresourceLoader as they are already designed to be client-less,
                and already null-check the client before calling it.
              * loader/loader.cpp:
              (WebCore::Loader::Host::didFail): The SubresourceLoader itself might not be finished loading and might decide 
                to call into its client later.  Since the client has no guaranteed lifetime and is liable to be deleted 
                after didFail() is called, call clearClient() on the SubresourceLoader so such an invalid call can't happen.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • kdecker@apple.com's avatar
      Reviewed by Anders. · 75da3937
      kdecker@apple.com authored
              <rdar://problem/5412759> CrashTracer: [USER] 22 crashes in Safari at com.apple.quicktime.webplugin: NPN_SetValue + 15403
              In certain situations, code in WebBasePluginPackage would load a plug-in only for the explicit reason of asking it to create a
              preference file, but wouldn't actually unload the bundle. This created problems for the QuickTime WebKit plug-in by unloading
              a bundle out from underneath itself.
              * Plugins/WebBasePluginPackage.h: Added unload method.
              * Plugins/WebBasePluginPackage.m:
              (-[WebBasePluginPackage unload]): Added new method. Currently, only Netscape plug-ins support unload.
              (-[WebBasePluginPackage pListForPath:createFile:]): Added a call to unload.
              * Plugins/WebNetscapePluginPackage.m:
              (-[WebNetscapePluginPackage unload]): Added.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31925 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • andersca@apple.com's avatar
      2008-04-15 Anders Carlsson <andersca@apple.com> · 4b8396c1
      andersca@apple.com authored
              Add missing ;
              * Scripts/build-webkit:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31924 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • andersca@apple.com's avatar
      JavaScriptCore: · b8666938
      andersca@apple.com authored
      2008-04-15  Anders Carlsson  <andersca@apple.com>
              Reviewed by Adam.
              * Configurations/JavaScriptCore.xcconfig:
      2008-04-15  Anders Carlsson  <andersca@apple.com>
              Reviewed by Adam.
              Add empty files for the application cache.
              * Configurations/WebCore.xcconfig:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.vcproj/build-generated-files.sh:
              * WebCore.xcodeproj/project.pbxproj:
              * loader/appcache: Added.
              * loader/appcache/ApplicationCache.cpp: Added.
              * loader/appcache/ApplicationCache.h: Added.
              * loader/appcache/ApplicationCacheGroup.cpp: Added.
              * loader/appcache/ApplicationCacheGroup.h: Added.
              * loader/appcache/ApplicationCacheResource.cpp: Added.
              * loader/appcache/ApplicationCacheResource.h: Added.
              * loader/appcache/DOMApplicationCache.cpp: Added.
              * loader/appcache/DOMApplicationCache.h: Added.
              * loader/appcache/DOMApplicationCache.idl: Added.
              * loader/appcache/ManifestParser.cpp: Added.
              * loader/appcache/ManifestParser.h: Added.
      2008-04-15  Anders Carlsson  <andersca@apple.com>
              Reviewed by Adam.
              * Configurations/WebKit.xcconfig:
      2008-04-15  Anders Carlsson  <andersca@apple.com>
              Reviewed by Adam.
              * WebKit.vcproj/WebKit.vcproj:
      2008-04-15  Anders Carlsson  <andersca@apple.com>
              Reviewed by Adam.
              * Scripts/build-webkit:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • kmccullough@apple.com's avatar
      2008-04-15 Kevin McCullough <kmccullough@apple.com> · 75c6f4e7
      kmccullough@apple.com authored
              Reviewed by Tim.
              - <rdar://problem/5792587> AJAX (XMLHttpRequest) support for the Inspector (17776)
              - Add XMLHttpRequest support to the inspector.
              * English.lproj/InspectorLocalizedStrings.js: Specify capitalization
              instead of using text-transform because XHR must capitalize all the letters.
              * page/inspector/Resource.js: Assume XHRs are textType even though this
              may not always be true.
              Also add the XHR category and let all mime types be consistent with it.
              * page/inspector/ResourcesPanel.js: Set the XHR category color.
              * page/inspector/inspector.css: Make XHRs yellow and fonts red because
              XHRs are more common than fonts and yellow next to orange (scripts) is
              not as harsh on the eyes as red next to orange.
              * page/inspector/inspector.js: Specify capitalization again.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31922 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt@apple.com's avatar
      2008-04-15 David Hyatt <hyatt@apple.com> · f629f62a
      hyatt@apple.com authored
              Fix the zoom property so that it works properly with font-size.
              Reviewed by John Sullivan
              Added fast/css/zoom-font-size.html
              * css/CSSStyleSelector.cpp:
              * css/CSSStyleSelector.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31920 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • timothy@apple.com's avatar
      Fixes the bug where a resource view could still be shown after the inspected · 71584c44
      timothy@apple.com authored
      page navigates to another page.
      Reviewed by Adam Roben.
      * page/inspector/ResourcesPanel.js:
      (WebInspector.ResourcesPanel.prototype.reset): Close the visible resource.
      Iterate over all the resources and zero errors and warnings and delete the
      resource view and tree element. Removes all children of resourceViews. Passes
      true to _updateGraphDividersIfNeeded to force an immediate update.
      (WebInspector.ResourcesPanel.prototype.removeResource): Added. Closes
      the resource view if it is visible. Removes the resource from the _resources
      array. Removes the tree element from the outline tree. Zeros out the errors
      and warnings properties. Deletes the tree element and resource view properties.
      (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Null check
      this._calculator for times when reset is called before the calculator is set.
      * page/inspector/inspector.js:
      (WebInspector.removeResource): Call ResourcesPanel.removeResource.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31918 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • andersca@apple.com's avatar
      2008-04-15 Anders Carlsson <andersca@apple.com> · 6d4ec89b
      andersca@apple.com authored
              Reviewed by Adam.
              Rename "archive" to "substitute" in a couple of places.
              * loader/DocumentLoader.cpp:
              * loader/DocumentLoader.h:
              * loader/ResourceLoader.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31917 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • andersca@apple.com's avatar
      2008-04-15 Anders Carlsson <andersca@apple.com> · 31d4115a
      andersca@apple.com authored
              Reviewed by Adam.
              Move the URL, response and data to SubstituteResource.
              * loader/SubstituteResource.h:
              * loader/archive/ArchiveResource.cpp:
              * loader/archive/ArchiveResource.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31916 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt@apple.com's avatar
      2008-04-15 David Hyatt <hyatt@apple.com> · d877372b
      hyatt@apple.com authored
              Make sure to ignore zoom:0.  That is not supposed to actually do anything.  It's a hack in IE
              to cause an element to set "hasLayout."
              Reviewed by Anders
              Added fast/css/zoom-property-parsing.html
              * css/CSSParser.cpp:
              * css/CSSStyleSelector.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31915 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • andersca@apple.com's avatar
      2008-04-15 Anders Carlsson <andersca@apple.com> · f0f2c595
      andersca@apple.com authored
              Reviewed by Adam.
              Add a (currently empty) SubstituteResource class and make ArchiveResource inherit from it.
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * loader/SubstituteResource.h: Added.
              * loader/archive/ArchiveResource.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31914 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • antti@apple.com's avatar
      2008-04-15 Antti Koivisto <antti@apple.com> · ed6f43b3
      antti@apple.com authored
              Reviewed by Geoff.
              Fix <rdar://problem/5862921>
              REGRESSION: Leak in SVGSVGElement::SVGSVGElement
              In these strange days RefCounted starts with count of one.
              * svg/SVGSVGElement.cpp:
              * svg/animation/SMILTimeContainer.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31913 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt@apple.com's avatar
      WebCore: · 54328434
      hyatt@apple.com authored
      2008-04-15  Anatoli Papirovski  <apapirovski@mac.com>
              Reviewed by hyatt
              [CSS1, CSS3] Fixed the background-origin calculation for root elements
              (background-size and background-position are affected), r10794
              [CSS3] Fixed the background-size transformation where width is specified in percentage and height is left to auto
              Test: fast/backgrounds/background-origin-root-element.html
              * rendering/RenderBox.cpp:
      2008-04-15  Anatoli Papirovski  <apapirovski@mac.com>
              Reviewed by hyatt
              Added test case for background-origin calculation on root elements
              (background-repeat and background-size), r10794 [CSS1 + CSS3]
              * fast/backgrounds/background-origin-root-element.html: Added.
              * platform/mac/fast/backgrounds/background-origin-root-element-expected.checksum: Added.
              * platform/mac/fast/backgrounds/background-origin-root-element-expected.png: Added.
              * platform/mac/fast/backgrounds/background-origin-root-element-expected.txt: Added.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • beidson@apple.com's avatar
      2008-04-15 Brady Eidson <beidson@apple.com> · 69fa075b
      beidson@apple.com authored
              Reviewed by John Sullivan
              Do a more complete job adding the "WebArchiveDebugMode" pref
              * WebView/WebPreferences.m: Add both getter *and* setter
              (-[WebPreferences webArchiveDebugModeEnabled]):
              (-[WebPreferences setWebArchiveDebugModeEnabled:]):
              * WebView/WebPreferencesPrivate.h:
              * WebView/WebView.mm:
              (-[WebView _preferencesChangedNotification:]): Call the renamed getter
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31911 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • timothy@apple.com's avatar
      Fixes the regression where the error and warning counts did not show up in the Resources · 82ce94c1
      timothy@apple.com authored
      sidebar next to resources.
      Reviewed by Adam Roben.
      * page/inspector/ResourcesPanel.js:
      (WebInspector.ResourcesPanel.prototype.addMessageToResource): Increment errors or warnings
      on the resource. Set the bubbleText to the total of the errors and warnings. Add a error
      or warning class to the bubble.
      (WebInspector.ResourcesPanel.prototype.clearMessages): Zero out the errors and warnings
      properties on each resource. Set the bubbleText back to an empty string.
      * page/inspector/SidebarTreeElement.js:
      (WebInspector.SidebarTreeElement): Create a statusElement.
      (WebInspector.SidebarTreeElement.prototype.get bubbleText): Return _bubbleText.
      (WebInspector.SidebarTreeElement.prototype.set bubbleText): Create bubbleElement if needed.
      Assign the value to _bubbleText and bubbleElement.textContent.
      (WebInspector.SidebarTreeElement.prototype.onattach): Append statusElement to _listItemNode.
      * page/inspector/inspector.css: Style rules for bubbles and status elements.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31910 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • timothy@apple.com's avatar
      Fixes the regression where error and warning bubbles would not be added · 3bf4826f
      timothy@apple.com authored
      to the source view of a resource.
      Reviewed by Adam Roben.
      * css/view-source.css:
      (.webkit-html-message-bubble): Add a min-height to make sure the border-radius
      has enough room to apply.
      * page/inspector/Console.js:
      (WebInspector.Console.prototype.addMessage): Removed code that added messages
      to resource panels and incremented error and warning counts on resources.
      Now just call ResourcesPanel.addMessageToResource after assigning the resource
      to the console message.
      (WebInspector.Console.prototype.clearMessages): Removed code that cleared error
      and warning counts from resources an call ResourcesPanel.clearMessages.
      * page/inspector/ResourcesPanel.js:
      (WebInspector.ResourcesPanel.prototype.addMessageToResource): Call addMessage
      on the resource's view, if it is implemented.
      (WebInspector.ResourcesPanel.prototype.clearMessages): Call clearMessages
      on all the resource views for the ones that implement it.
      (WebInspector.ResourcesPanel.prototype.refreshResource): Call _resourceView
      to make the resource's view if needed. Use a local view variable.
      (WebInspector.ResourcesPanel.prototype._resourceView): Added helper function
      to create a resource view if needed.
      * page/inspector/SourceView.js:
      (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Delete the
      _frameNeedsSetup property at the beginning to prevent recursion. Get the
      length of the messages array when assigning the local length variable.
      (WebInspector.SourceView.prototype.addMessage): Renamed from addMessageToSource.
      (WebInspector.SourceView.prototype.clearMessages): Added. Clear all the message
      bubbles that might be sprinkled in the source. Also clears the messages array.
      (WebInspector.SourceView.prototype._addMessageToSource): Create the image
      element in the Inspector's document so we can use relative image URLs. Then
      adopt the image element into the frame's document.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31909 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • beidson@apple.com's avatar
      WebCore: · b61999d6
      beidson@apple.com authored
      2008-04-15  Brady Eidson  <beidson@apple.com>
              Reviewed by Anders
              Hook up event dispatching for window.localStorage changes.
              Tests: storage/domstorage/localstorage/enumerate-storage.html
              * storage/LocalStorage.cpp:
              (WebCore::LocalStorage::dispatchStorageEvent): Walk every Page in the PageGroup, adding
                each Frame that matches the storage area's security origin to a Vector.  Then dispatch
                the StorageEvent to each Frame in the Vector
              * storage/SessionStorage.cpp:
              (WebCore::SessionStorage::dispatchStorageEvent): Adopt the technique used in LocalStorage,
                which is to only add the Frames to the Vector if their security origin matches
      2008-04-15  Brady Eidson  <beidson@apple.com>
              Reviewed by Anders
              Hook up event dispatching for window.localStorage changes.
              Now a meaningful LayoutTest suite can be landed for window.localStorage.
              * storage/domstorage/localstorage/enumerate-storage-expected.txt: Added.
              * storage/domstorage/localstorage/enumerate-storage.html: Added.
              * storage/domstorage/localstorage/iframe-events-expected.txt: Added.
              * storage/domstorage/localstorage/iframe-events.html: Added.
              * storage/domstorage/localstorage/index-get-and-set-expected.txt: Added.
              * storage/domstorage/localstorage/index-get-and-set.html: Added.
              * storage/domstorage/localstorage/onstorage-attribute-markup-expected.txt: Added.
              * storage/domstorage/localstorage/onstorage-attribute-markup.html: Added.
              * storage/domstorage/localstorage/onstorage-attribute-setattribute-expected.txt: Added.
              * storage/domstorage/localstorage/onstorage-attribute-setattribute.html: Added.
              * storage/domstorage/localstorage/resources: Added.
              * storage/domstorage/localstorage/resources/clearLocalStorage.js: Added.
              * storage/domstorage/localstorage/resources/iframe-events-second.html: Added.
              * storage/domstorage/localstorage/resources/window-open-second.html: Added.
              * storage/domstorage/localstorage/simple-events-expected.txt: Added.
              * storage/domstorage/localstorage/simple-events.html: Added.
              * storage/domstorage/localstorage/simple-usage-expected.txt: Added.
              * storage/domstorage/localstorage/simple-usage.html: Added.
              * storage/domstorage/localstorage/window-open-expected.txt: Added.
              * storage/domstorage/localstorage/window-open.html: Added.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31908 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hausmann@webkit.org's avatar
      Ariya Hidayat <ariya.hidayat@trolltech.com> · c761d436
      hausmann@webkit.org authored
      fix potential crash when loading image(s)
      Crash may occur. If compiled with 4.3, the variable is not initialized.
      This fix solves https://bugs.webkit.org/show_bug.cgi?id=17174
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hausmann@webkit.org's avatar
      Simon Hausmann <hausmann@webkit.org> · d95ff803
      hausmann@webkit.org authored
      Update the micro focus for input methods as soon as the composition mode changes
      or the caret/selection changes.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hausmann@webkit.org's avatar
      Simon Hausmann <hausmann@webkit.org> · 1c26006e
      hausmann@webkit.org authored
      Don't use QDir, QString or any locale sensitive function before constructing Q(Core)Application,
      it yields undefined behaviour or wrong default codec initialization.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31905 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hausmann@webkit.org's avatar
      Olivier Goffart <ogoffart@trolltech.com> · 1421d0c5
      hausmann@webkit.org authored
      Fixes: copy to clipboard when selecting, and paste when clicking with the middle button
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hausmann@webkit.org's avatar
      Michael Brasser <michael.brasser@trolltech.com> · c8d21e4b
      hausmann@webkit.org authored
      Add basic input method support.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31903 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hausmann@webkit.org's avatar
      Simon Hausmann <hausmann@webkit.org> · 9e2182bf
      hausmann@webkit.org authored
      Added (QWebFrame|QWebView)::textZoomFactor.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31902 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hausmann@webkit.org's avatar
      Michael Brasser <michael.brasser@trolltech.com> · bc3029a7
      hausmann@webkit.org authored
      Added simple scrolling API to QWebFrame.
      The intent is that it works similar to QAbstractScrollArea.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hausmann@webkit.org's avatar
      Olivier Goffart <ogoffart@trolltech.com> · de2cc015
      hausmann@webkit.org authored
      Fixes: implement the OpenFrameInNewWindow action.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hausmann@webkit.org's avatar
      Fix compilation with Qt namespaces · 511b001e
      hausmann@webkit.org authored
      Qt can be configured to have all of its classes inside a specified namespaces.
      This is for example used in plugin/component environments like Eclipse.
      This change makes it possible to let the Qt port compile against a namespaced
      Qt by the use of macros Qt provides to properly forward declare Qt classes in
      the namespace.
      Signed-off-by: Simon
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  3. 14 Apr, 2008 9 commits
    • beidson@apple.com's avatar
      2008-04-14 Brady Eidson <beidson@apple.com> · 87342af4
      beidson@apple.com authored
              Fix up a recent Changelog comment that I never updated
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31894 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • beidson@apple.com's avatar
      WebCore: · 21c04acd
      beidson@apple.com authored
      2008-04-14  Brady Eidson  <beidson@apple.com>
              Reviewed by Anders
              Lay the underpinnings for LocalStorage.
              For now, this just exposes window.localStorage to the dom which returns an in-memory Storage object, much
              like SessionStorage.  The primary difference at this point is that the object returned is shared globally,
              and isn't copied for new top-level browsing contexts like SessionStorage.
              Later, I'll add proper event dispatch and a persistent storage backing.
              * GNUmakefile.am:
              * WebCore.base.exp:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * WebCoreSources.bkl:
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::mark): Mark the optionalLocalStorage
              * page/DOMWindow.cpp:
              * page/DOMWindow.h:
              * storage/LocalStorage.cpp: Added.
              * storage/LocalStorage.h: Added.
              * storage/SessionStorage.cpp: Refactor to use the client interface for event dispatching for sessionStorage objects
              * storage/SessionStorage.h:
              * storage/StorageArea.cpp: Add a client parameter, and call to the client when an item is changed or removed.
              * storage/StorageArea.h:
              * storage/StorageAreaClient.h: Added.  Break out "itemChanged" and "itemRemoved" to a StorageAreaClient
                This way, both SessionStorage and LocalStorage areas can have different behavior on changes with
                that behavior managed from a central location.
      2008-04-14  Brady Eidson  <beidson@apple.com>
              Reviewed by Anders
              As underpinnings for LocalStorage are laid, it is exposed to the dom - update the relevant layout tests.
              * fast/dom/Window/window-properties-expected.txt:
              * storage/domstorage/window-attributes-exist-expected.txt:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • beidson@apple.com's avatar
      WebCore: · af2e011f
      beidson@apple.com authored
      2008-04-14  Brady Eidson  <beidson@apple.com>
              Reviewed by Anders
              Add a hidden pref to debug WebArchive loading.  With this pref on, when loading a WebArchive,
              if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the 
              network and will instead fail the load as "cancelled."
              * loader/ResourceLoader.cpp:
              (WebCore::ResourceLoader::load): Do the check here.
              * page/Settings.cpp:
              * page/Settings.h:
      2008-04-14  Brady Eidson  <beidson@apple.com>
              Reviewed by Anders
              Add a hidden pref to debug WebArchive loading.  With this pref on, when loading a WebArchive,
              if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the 
              network and will instead fail the load as "cancelled."
              * WebView/WebPreferenceKeysPrivate.h:
              * WebView/WebPreferences.m:
              (+[WebPreferences initialize]):
              (-[WebPreferences _webArchiveDebugModeEnabled]):
              * WebView/WebPreferencesPrivate.h:
              * WebView/WebView.mm:
              (-[WebView _preferencesChangedNotification:]):
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • antti@apple.com's avatar
      2008-04-14 Antti Koivisto <antti@apple.com> · 54eebebc
      antti@apple.com authored
              Reviewed by Eric.
              Some preparations for additive animations and animations in <use>.
              - Disallow animation elements in instance trees.
              - Fix buggy SVGUseElement::removeDisallowedElementsFromSubtree(), make it 
                public and static
              - Invoke it from SVGElementInstance::updateInstance() to clean up the instance tree
                there as well.
              - Add mechanism for blocking instance updates when an animation changes
                the referenced tree.
              The added assert in SVGSMILElement::insertedIntoDocument() verifies the fixes
              with the existing test cases.
              * svg/SVGAElement.cpp:
              * svg/SVGElementInstance.cpp:
              * svg/SVGStyledElement.cpp:
              * svg/SVGStyledElement.h:
              * svg/SVGUseElement.cpp:
              * svg/SVGUseElement.h:
              * svg/animation/SVGSMILElement.cpp:
              * svg/animation/SVGSMILElement.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31891 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • aroben@apple.com's avatar
      Don't let the inspected page overwrite properties of JS objects in the Inspector · 222d7489
      aroben@apple.com authored
              Reviewed by Sam Weinig and Geoff Garen.
              Tests (contributed by Adam Barth and Collin Jackson):
              * GNUmakefile.am:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * WebCoreSources.bkl:
              Added new files to the projects.
              * bindings/js/JSQuarantinedObjectWrapper.cpp: Added.
              (WebCore::JSQuarantinedObjectWrapper::asWrapper): Converts a JSValue
              into a JSQuarantinedObjectWrapper, if the JSValue is in fact a
              (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter): Callback to
              be used with PropertySlot.
              Hold onto the object we're wrapping and its global object. Pass the
              wrapped prototype up to the JSObject constructor.
              Returns true if our underlying object originated from the same global
              object as the passed-in ExecState.
              Wraps and moves an exception from our underlying ExecState to the
              passed-in one.
              (WebCore::JSQuarantinedObjectWrapper::mark): Marks ourselves and the
              objects we're holding references to.
              JSObject overrides. These each check the appropriate permission before
              allowing the call to proceed. We wrap all outgoing values using
              m_wrapOutgoingValue, and we prepare all incoming values with the
              virtual prepareIncomingValue function. If an exception is raised when
              calling the underlying object, we transfer the exception in wrapped
              form to the passed-in ExecState.
              * bindings/js/JSQuarantinedObjectWrapper.h: Added.
              (WebCore::JSQuarantinedObjectWrapper::className): We return the
              underlying object's class name so that we can successfully masquerade
              as that underlying object when, e.g., Object.prototype.toString is
              called on us.
              These virtual methods let subclasses define the allowed operations on
              the wrapped object. By default all operations are disabled.
              * bindings/js/JSInspectedObjectWrapper.cpp: Added. This subclass of
              JSQuarantinedObjectWrapper is used to wrap objects from the inspected
              page being passed to the Inspector.
              (WebCore::JSInspectedObjectWrapper::wrap): Wraps the passed-in object
              if needed and returns the wrapper. If this object has been wrapped
              previously we'll return the old wrapper rather than make a new one.
              (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): Add
              ourselves to the wrapper map.
              (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper): Remove
              ourselves from the wrapper map.
              (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): Ensure that
              any objects passed to the inspected object are either wrappers around
              objects from the inspected page (in which case we unwrap them so that
              the inspected page never sees the wrapper), or wrapped callbacks from
              the Inspector.
              * bindings/js/JSInspectedObjectWrapper.h: Added.
              These all return true so that the Inspector can use objects from the
              inspected page however it needs.
              (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue): Wrap all
              outgoing values as JSInspectedObjectWrappers.
              * bindings/js/JSInspectorCallbackWrapper.cpp: Added. This subclass of
              JSQuarantinedObjectWrapper is used to wrap callbacks that the
              Inspector passes to the inspected page (e.g., for event listeners or
              client-side storage callbacks).
              (WebCore::JSInspectorCallbackWrapper::wrap): Wraps the passed-in
              object if needed and returns the wrapper. If this object has been
              wrapped previously we'll return the old wrapper rather than make a new
              (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper): Add
              ourselves to the wrapper map.
              Remove ourselves from the wrapper map.
              (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue): Ensure
              that values passed from the inspected page to an Inspector callback
              are wrapped in JSInspectedObjectWrappers. We also allow the inspected
              page to pass ourselves in (which will happen in the case of a
              client-side storage callback, where the callback itself is passed as
              the `this` object). In this case we unwrap ourselves so that the
              Inspector doesn't have to deal with the wrapper.
              * bindings/js/JSInspectorCallbackWrapper.h: Added.
              This is the only allowed operation on a JSInspectorCallbackWrapper.
              (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue): Wrap all
              outgoing values as JSInspectorCallbackWrappers.
              * page/InspectorController.cpp:
              (WebCore::getResourceDocumentNode): Wrap the Document before passing
              it to the Inspector.
              (WebCore::highlightDOMNode): Unwrap the Node that the Inspector passed
              to us.
              (WebCore::databaseTableNames): Unwrap the Database that the Inspector
              passed to us.
              (WebCore::inspectedWindow): Wrap the Window before passing it to the
              (WebCore::InspectorController::focusNode): Wrap the Node before
              passing it to the Inspector.
              (WebCore::wrapCallback): Wraps the passed-in callback in a
              (WebCore::InspectorController::addDatabaseScriptResource): Wrap the
              Database beore pasing it to the Inspector.
              (WebCore::InspectorController::windowScriptObjectAvailable): Add the
              new wrapCallback function to the InspectorController JS object.
              * page/inspector/ElementsPanel.js:
              (WebInspector.ElementsPanel.reset): Wrap the contentLoaded callback.
              * page/inspector/DatabaseQueryView.js:
              * page/inspector/DatabaseTableView.js:
              Pass null instead of an empty array to executeSql since we're no
              longer allowed to pass any unwrapped objects to the inspected page.
              We now wrap all callbacks being passed to the inspected page using
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31890 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • aroben@apple.com's avatar
      Use prototypes/constructors from the inspected page when operating on... · 6a4003b8
      aroben@apple.com authored
              Use prototypes/constructors from the inspected page when operating on objects from the inspected page
              Reviewed by Tim Hatcher.
              * page/inspector/Console.js:
              (WebInspector.ConsolePanel._format): Use the Node constructor from the
              inspected Window with the instanceof operator.
              * page/inspector/ElementsPanel.js:
              (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Use the
              Element prototype from the inspected Window instead of the Element
              prototype from this Window.
              * page/inspector/inspector.js:
              (WebInspector.performSearch): Ditto for Document prototype.
              * page/inspector/utilities.js:
              (Object.type): Now takes an optional Window parameter that is used to
              find the built-in constructors.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • aroben@apple.com's avatar
      Don't store objects from the Inspector on CSSStyleRules from the inspected page · 66641256
      aroben@apple.com authored
              Reviewed by Tim Hatcher.
              * page/inspector/StylesSidebarPane.js:
              (WebInspector.StylesSidebarPane.update): Don't store raw CSSStyleRules
              from the inspected page in the styleRules array. Instead, always use a
              wrapper object. This will keep us from setting Inspector objects as
              properties of inspected objects.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31888 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • timothy@apple.com's avatar
      Fixes a regression where clicking a resource URL in the Console would not · d230f670
      timothy@apple.com authored
      show the resource in the Resources panel.
      Reviewed by Adam Roben.
      * page/inspector/Console.js:
      (WebInspector.Console.prototype._messagesClicked): Removed console-message-url
      handling to show resources. This is now handled by WebInspector.showResourceForURL.
      (WebInspector.ConsoleMessage.prototype.toMessageElement): Add the webkit-html-resource-link
      class name to the URL anchor. Also add the line number as a property to the anchor.
      * page/inspector/ResourcesPanel.js:
      (WebInspector.ResourcesPanel): Add a reference to the tree element to each calculator.
      (WebInspector.ResourcesPanel.prototype.showResource): Select and reveal the resource in
      the sidebar. Call showLine on the resource view if it is implemented.
      (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Select the current calculator's
      tree element in the sidebar.
      (WebInspector.ResourcesPanel.prototype._graphSelected): Call closeVisibleResource after
      the calculator changes since closeVisibleResource uses the calculator.
      * page/inspector/SourceView.js:
      (WebInspector.SourceView.prototype.sourceRow): Early return if the line is null/zero.
      (WebInspector.SourceView.prototype.showLine):  Renamed from showSourceLine.
      * page/inspector/inspector.css:
      (body.console-visible #main-panels): Made the bottom 24px to match
      the height of #main-status-bar.
      (.console-message-url): Make the color important so it wins over
      the .webkit-html-resource-link rule.
      (.resource-view .resource-view-content): Made more generic from .image
      so all resource views get sized correctly.
      (.resource-view.image .resource-view-content): Removed.
      * page/inspector/inspector.js:
      (WebInspector.documentClick): Pass the line number from the anchor to
      (WebInspector.showResourceForURL): Add line number support. Pass the line
      to ResourcesPanel.showResource.
      (WebInspector.addMainEventListeners): Use bind for the event listeners.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • alp@webkit.org's avatar
      2008-04-14 Xan Lopez <xan@gnome.org> · f02b6bcb
      alp@webkit.org authored
              Reviewed by Alp Toker.
              Bug 17917: Cookie support for HTTP soup backend
              Initial implementation of cookies for the http soup backend.
              Moved CookieJarGtk to CookieJarSoup in network/soup and left the original
              one as CookieJarCurl in network/curl.
              Bumped the libsoup required version to 2.23 for cookie support.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31878 268f45cc-cd09-0410-ab3c-d52691b4dbfc