Timeline



Aug 13, 2007:

10:41 PM Changeset in webkit [25068] by bdakin
  • 4 edits in trunk/WebCore

Reviewed by Maciej.

Fix for <rdar://problem/5404899> REGRESSION: Mail crash in
WebCore::FontFallbackList::fontDataAt() after dragging image into
text multiple times

We were crashing because style information was not up-to-date. This
patch fixes the problem in two ways:

Style information was not up to date at the time of the crash
because the document thought there was still a pending style sheet.
The pending style sheet counter was incremented when a call to
cloneNode from Mail cloned a style node with an imported style
sheet. Because Mail disables the cache, the style sheet did not
load immediately for the cloned node, and we do not check again to
see if it has loaded in time to decrement the pending style sheet
counter before the crash point. The fix here is only to increment
the pending style sheet counter for elements that are already in
the document.

  • dom/StyleElement.cpp: (WebCore::StyleElement::insertedIntoDocument): If we have a CSS style sheet that is currently loading, increment the pending style sheet counter. This should keep the counter accurate in the case where a style node is cloned and then immediately inserted into the document. (WebCore::StyleElement::removedFromDocument): If we have a CSS style sheet that is currently loading, decrement the pending style sheet count. This is required to keep the correct balance, given the change above. (WebCore::StyleElement::createSheet): Only addPendingSheet() and checkLoaded() if we are in the document.

Here is Darin's original fix. It seems worth keeping this fix too.
Font style information should not cause a crash if there are still
pending style sheets. This is good belt-and-suspenders in case
there is another way to run into this bug with a wacky timing
issue.

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForElement): Update the font.
10:39 PM Changeset in webkit [25067] by ap
  • 2 edits in trunk/WebCore

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=14635
rdar://problem/5340188
Uploading file with non-ASCII character in path fails

File upload cannot be tested in DumpRenderTree.

  • html/HTMLFormElement.cpp: (WebCore::pathGetFilename): A cross-platform helper that extracts a file name from a path. (WebCore::HTMLFormElement::formData): Use the above helper instead of code that doesn't work on Windows.
10:24 PM Changeset in webkit [25066] by ap
  • 3 edits
    2 adds in trunk

http://bugs.webkit.org/show_bug.cgi?id=14951
REGRESSION: page interpreted as UTF-8 because of stray <?xml> after <head>

Test: fast/encoding/misplaced-xml-declaration.html

  • loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::checkForHeadCharset): Only honor XML declaration at the very beginning of the file.
7:04 PM Changeset in webkit [25065] by oliver
  • 2 edits in trunk/WebCore

rs=sam

Correct accidentally modified code.

  • platform/mac/FontDataMac.mm: (WebCore::FontData::platformInit):
6:52 PM Changeset in webkit [25064] by adele
  • 5 edits in trunk/WebCore

Reviewed by Brady.

Fix for http://bugs.webkit.org/show_bug.cgi?id=14746
<rdar://problem/5401041> REGRESSION: Form state not saved for forms that submit via HTTPS even if they do not contain a password field

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::saveDocumentState): Restore our old behavior that will save form state for secure forms. This will also match Firefox behavior.
  • dom/Document.cpp: Removed secureFormAdded(), secureFormRemoved(), hasSecureForm() which are no longer used.
  • dom/Document.h:
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::attach): (WebCore::HTMLFormElement::parseMappedAttribute):
6:44 PM Changeset in webkit [25063] by oliver
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/5386183> REGRESSION (9A504-9A508): Underline of inline hole is too thin
on Japanese DotMac page


Hack the line metrics for the Hiragino font families so that they always allow space for
the marked text underline.


  • platform/mac/FontDataMac.mm: (WebCore::FontData::platformInit):
5:19 PM Changeset in webkit [25062] by weinig
  • 3 edits in trunk/LayoutTests

Reviewed by Kevin McCullough.

Another attempt at getting these to pass reliably.

  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-location-change.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe.html:
5:13 PM Changeset in webkit [25061] by hyatt
  • 2 edits in trunk/WebCore

Reviewed by aroben


<rdar://problem/5400446> messed up content on calendar.yahoo.com and my.yahoo.com

Fix some more bad assumptions about <html> being the first child of the document now that we
properly support HTML5's model (where a comment node preceding <html> will in fact be its sibling).

  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): (WebCore::HTMLParser::createHead):
3:41 PM Changeset in webkit [25060] by weinig
  • 5 edits in trunk/LayoutTests

Reviewed by Geoff.

Ensure that these tests don't fail intermittently.

  • http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-opened-frame.html:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-location-change.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe.html:
2:24 PM Changeset in webkit [25059] by sfalken
  • 1 copy in tags/Safari-523.1b

New tag.

2:24 PM Changeset in webkit [25058] by sfalken
  • 1 edit in trunk/WebKit/win/WebKit.vcproj/VERSION

Bump version for submit

12:14 PM Changeset in webkit [25057] by justing
  • 8 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.


<rdar://problem/5333725> -webkit-user-select: none makes selection difficult

  • editing/selection/5333725-expected.checksum: Added.
  • editing/selection/5333725-expected.png: Added.
  • editing/selection/5333725-expected.txt: Added.
  • editing/selection/5333725.html: Added.


Added a workaround for a bug where -webkit-user-select:none
has no effect on the body if placed on the html element:

  • editing/selection/select-all-user-select-none.html:

WebCore:

Reviewed by Darin.


<rdar://problem/5333725> -webkit-user-select: none makes selection difficult


Let users create selections if they mouse down in a -webkit-user-select:none
region, just (continue to) disallow selection endpoints in those regions, and
don't paint those regions as selected if they are fully enclosed by a selection.
For example, in xxyyyxx where x is -webkit-user-select:none, a user can mouse down
between the first two xs and drag across yyy to the second two xs to create a
selection xxyyyxx.


  • editing/SelectionController.cpp: (WebCore::SelectionController::selectAll): Allow selectAll inside a root that has -webkit-user-select:none, because it may contain content that is selectable (VisiblePosition and Selection creation will keep Selection endpoints out of -webkit-user-select:none regions).
  • page/EventHandler.cpp: (WebCore::EventHandler::selectClosestWordFromMouseEvent): Use canMouseDownStartSelect instead of the ambiguously named shouldSelect(). (WebCore::EventHandler::handleMousePressEventTripleClick): Ditto. (WebCore::EventHandler::handleMousePressEventSingleClick): Ditto. (WebCore::EventHandler::updateSelectionForMouseDrag): Use canMouseDragExtendSelect. (WebCore::EventHandler::selectCursor): Paint an ibeam in -webkit-user-select:none regions, because you can click in those regions to create a selection. (WebCore::EventHandler::canMouseDownStartSelect): Now fires the selectStart event, and returns true in -webkit-user-select: none regions. (WebCore::EventHandler::canMouseDragExtendSelect): This is identical to canMouseDownStartSelect because of 12823, even though it seems strange that we would fire the selectStart event here.
  • page/EventHandler.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::draggableNode): Only -webkit-user-select:ignore regions will prevent selection creation.
  • rendering/RenderObject.h:
12:02 PM Changeset in webkit [25056] by andersca
  • 5 edits in trunk

LayoutTests:

Reviewed by Maciej.

<rdar://problem/5360748>
REGRESSION (r21002-r21003): Flash widget sniffer doesn't work (affects iWeb)


Update test case to handle the case where the node list is accessed after
the document has finished loading.


  • fast/dom/NodeList/invalidate-node-lists-when-parsing-expected.txt:
  • fast/dom/NodeList/invalidate-node-lists-when-parsing.html:

WebCore:

Reviewed by Maciej.

<rdar://problem/5360748>
REGRESSION (r21002-r21003): Flash widget sniffer doesn't work (affects iWeb)

Don't check whether the document is being parsed or not, because the node list
could be accessed after the document has finished parsing.


  • dom/Node.cpp: (WebCore::Node::registerNodeList):
11:02 AM Changeset in webkit [25055] by weinig
  • 2 edits in trunk/WebKitTools

Reviewed by Adam Roben.

Use the cygwin specific Apache config file under cygwin.

  • Scripts/run-webkit-httpd:
5:06 AM Changeset in webkit [25054] by lars
  • 2 edits in trunk/WebCore

no need to update regions that are not visible on the webpage.

Aug 12, 2007:

10:37 PM Changeset in webkit [25053] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-007/WebKit

Tag for WebKit for Security Update 2007-007 (WebKit-419.3).

10:37 PM Changeset in webkit [25052] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-007/WebCore

Tag for WebCore for Security Update 2007-007 (WebCore-418.23).

10:37 PM Changeset in webkit [25051] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-007/JavaScriptGlue

Tag for JavaScriptGlue for Security Update 2007-007 (unchanged from 10.4.10).

10:37 PM Changeset in webkit [25050] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-007/JavaScriptCore

Tag for JavaScriptCore for Security Update 2007-007 (JavaScriptCore-418.6.1).

10:36 PM Changeset in webkit [25049] by bdash
  • 1 add in releases/Apple/Tiger/Security Update 2007-007

New release tag.

10:36 PM Changeset in webkit [25048] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-006/WebKit

Tag for WebKit for Security Update 2007-006 (WebKit-419.2.1).

10:35 PM Changeset in webkit [25047] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-006/WebCore

Tag for WebCore for Security Update 2007-006 (WebCore-418.22.2).

10:35 PM Changeset in webkit [25046] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-006/JavaScriptGlue

Tag for JavaScriptGlue for Security Update 2007-006 (unchanged from 10.4.10).

10:35 PM Changeset in webkit [25045] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-006/JavaScriptCore

Tag for JavaScriptCore for Security Update 2007-006 (unchanged from 10.4.10).

10:35 PM Changeset in webkit [25044] by bdash
  • 1 add in releases/Apple/Tiger/Security Update 2007-006

New release tag.

10:34 PM Changeset in webkit [25043] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.10/WebKit

Tag for WebKit for Mac OS X Update 10.4.10 (WebKit-419.2).

10:34 PM Changeset in webkit [25042] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.10/WebCore

Tag for WebCore for Mac OS X Update 10.4.10 (WebCore-418.22).

10:34 PM Changeset in webkit [25041] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.10/JavaScriptGlue

Tag for JavaScriptGlue for Mac OS X Update 10.4.10 (unchanged from 10.4.9).

10:33 PM Changeset in webkit [25040] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.10/JavaScriptCore

Tag for JavaScriptCore for Mac OS X Update 10.4.10 (JavaScriptCore-418.5).

10:33 PM Changeset in webkit [25039] by bdash
  • 1 add in releases/Apple/Tiger/Mac OS X Update 10.4.10

New release tag.

10:33 PM Changeset in webkit [25038] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.9/WebKit

Tag for WebKit for Mac OS X Update 10.4.9 (WebKit-419).

10:32 PM Changeset in webkit [25037] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.9/WebCore

Tag for WebCore for Mac OS X Update 10.4.9 (unchanged from 10.4.8).

10:32 PM Changeset in webkit [25036] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.9/JavaScriptGlue

Tag for JavaScriptGlue for Mac OS X Update 10.4.9 (unchanged from 10.4.8).

10:32 PM Changeset in webkit [25035] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.9/JavaScriptCore

Tag for JavaScriptCore for Mac OS X Update 10.4.9 (unchanged from 10.4.8).

10:32 PM Changeset in webkit [25034] by bdash
  • 1 add in releases/Apple/Tiger/Mac OS X Update 10.4.9

New release tag.

10:31 PM Changeset in webkit [25033] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-002/WebKit

Tag for WebKit for Security Update 2007-002 (WebKit-418.9.1).

10:31 PM Changeset in webkit [25032] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-002/WebCore

Tag for WebCore for Security Update 2007-002 (unchanged from 10.4.8).

10:31 PM Changeset in webkit [25031] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-002/JavaScriptGlue

Tag for JavaScriptGlue for Security Update 2007-002 (unchanged from 10.4.8).

10:31 PM Changeset in webkit [25030] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-002/JavaScriptCore

Tag for JavaScriptCore for Security Update 2007-002 (unchanged from 10.4.8).

10:30 PM Changeset in webkit [25029] by bdash
  • 1 add in releases/Apple/Tiger/Security Update 2007-002

New release tag.

8:25 PM Changeset in webkit [25028] by mjs
  • 4 edits
    28 adds in trunk

LayoutTests:

Reviewed by Darin and Sam.


  • test cases for <rdar://problem/5395213> cross-domain access to individual components of location object should be denied.
  • http/tests/security/cross-frame-access-location-expected.txt: This test's results changed, there are more debug messages due to access being legitimately denied.


The remainder are new tests and support:

  • http/tests/security/resources/xss-DENIED-assign-location-hash-attacker.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-host-attacker.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-host-failure.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-hostname-attacker.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-hostname-failure.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-nonstandardProperty-attacker.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-pathname-attacker.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-pathname-failure.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-protocol-attacker.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-protocol-failure.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-reload-attacker.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-search-attacker.html: Added.
  • http/tests/security/xss-DENIED-assign-location-hash-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-hash.html: Added.
  • http/tests/security/xss-DENIED-assign-location-host-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-host.html: Added.
  • http/tests/security/xss-DENIED-assign-location-hostname-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-hostname.html: Added.
  • http/tests/security/xss-DENIED-assign-location-nonstandardProperty-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-nonstandardProperty.html: Added.
  • http/tests/security/xss-DENIED-assign-location-pathname-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-pathname.html: Added.
  • http/tests/security/xss-DENIED-assign-location-protocol-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-protocol.html: Added.
  • http/tests/security/xss-DENIED-assign-location-reload-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-reload.html: Added.
  • http/tests/security/xss-DENIED-assign-location-search-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-search.html: Added.

WebCore:

Reviewed by Darin and Sam.


<rdar://problem/5395213> cross-domain access to individual components of location object should be denied.

  • bindings/js/kjs_window.cpp: (KJS::Location::put): Add the appropriate cross-domain access checks.
8:06 PM Changeset in webkit [25027] by darin
  • 4 edits in trunk/WebCore

Reviewed by John Sullivan.

  • fix <rdar://problem/5403724> REGRESSION: text inputs are not scrolled to make inline input visible (14912)
  • editing/Editor.h: Made setIgnoreMarkedTextSelectionChange no longer inline. It now has a side effect of revealing the selection when you set it to false. Added private revealSelectionAfterEditingOperation helper.
  • editing/Editor.cpp: (WebCore::Editor::deleteRange): Calls revealSelectionAfterEditingOperation instead of calling m_frame->revealSelection directly. (WebCore::Editor::replaceSelectionWithFragment): Ditto. (WebCore::Editor::insertOrderedList): Ditto. (WebCore::Editor::insertUnorderedList): Ditto. (WebCore::Editor::increaseSelectionListLevel): Ditto. (WebCore::Editor::increaseSelectionListLevelOrdered): Ditto. (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto. (WebCore::Editor::decreaseSelectionListLevel): Ditto. (WebCore::Editor::insertLineBreak): Ditto. (WebCore::Editor::insertParagraphSeparator): Ditto. (WebCore::Editor::replaceMarkedText): Ditto. (WebCore::Editor::revealSelectionAfterEditingOperation): Added. Calls revealSelection, unless we are in the ignoreMarkedTextSelectionChange state. If we are in that state, we're in the middle of a composite editing operation and we shouldn't try to scroll to reveal the selection until the operation is done. (WebCore::Editor::setIgnoreMarkedTextSelectionChange): Made no longer inline. If changing the state from true to false, then calls revealSelectionAfterEditingOperation.
  • WebCore.exp: Add new entry point for no-longer-inline setter function.
7:42 PM Changeset in webkit [25026] by darin
  • 11 edits
    3 adds in trunk

JavaScriptCore:

Reviewed by Maciej.

Test: fast/js/regexp-non-capturing-groups.html

  • kjs/string_object.cpp: (KJS::replace): Add missing code to handle undefined backreferences; before we'd get the empty string instead of a JavaScript "undefined" value. (KJS::StringProtoFunc::callAsFunction): Implemented backreference support for split.
  • pcre/pcre_exec.c: (match): Made backreferences to undefined groups match the empty string instead of always failing. Only in JAVASCRIPT mode.
  • tests/mozilla/expected.html: Add a new expected test success, since this fixed one test result.

LayoutTests:

Reviewed by Maciej.

  • fast/js/regexp-non-capturing-groups-expected.txt: Added.
  • fast/js/regexp-non-capturing-groups.html: Added.
  • fast/js/resources/regexp-non-capturing-groups.js: Added.
  • fast/js/resources/js-test-pre.js: Updated to add a special case for array results, since there are some array results in the test. Also cut down on the verbosity of failures when the type of the actual result is the same as the type of the expected result. And get rid of the special case function just for NaN.
  • fast/js/regexp-unicode-overflow.html: Let the make-js-test-wrappers script regenerate this file (it removed one of the trailing newlines).
  • fast/js/kde/encode_decode_uri-expected.txt: This test now passes. I'm not sure why it was failing before.
  • fast/js/char-at-expected.txt: Removed all the periods at the end of NaN test PASS messages; they are now consistent with all the other tests.
  • fast/js/date-parse-comments-test-expected.txt: Ditto.
  • fast/js/date-parse-test-expected.txt: Ditto.
7:41 PM Changeset in webkit [25025] by ggaren
  • 8 edits in trunk/WebCore

Reviewed by Maciej Stachowiak, Dave Hyatt.


Changed the dead resource LRU-SP algorithm to measure an object's
total size, not just its encoded size. This will allow us to make
better decisions about what data to evict when the cache is small. For
example, the PLT can now run with a 16MB cache without fully evicting
any resources.


(Previously, we had assumed that decoded size would be an OK estimate
of encoded size, but that is not true of GIF, whose decoded size can be
orders of magnitude greater than its encoded size.)


Subtly, destroying a resource's decoded data now increases its recency
by moving it to the head of a smaller LRU list. This is slightly odd,
but, since all resources get the same treatment, it shouldn't hurt
the eviction algorithm.

  • history/PageCache.cpp: (WebCore::PageCache::releaseAutoreleasedPagesNow): Make sure that a dead resource eviction doesn't happen until we've released all of our dead pages. Otherwise, the cache will make terrible decisions about what to evict because all of our dead resources will seem live.
  • loader/Cache.cpp: (WebCore::Cache::Cache): (WebCore::Cache::pruneLiveResources): (WebCore::Cache::pruneDeadResources): Removed call to removeFromLiveDecodedResourcesList because this happens automatically now as a part of the process of changing the resource's decoded size. (WebCore::Cache::lruListFor): * The key change. * Compute the appropriate LRU list based on total size, not encoded size. (WebCore::Cache::dumpLRULists): Added debug logging function to help visualize the cache.
  • loader/Cache.h: (WebCore::Cache::setDeadResourcePruneEnabled): (WebCore::Cache::deadResourcePruneEnabled):
  • loader/CachedImage.cpp: Moved decoded size tracking code from here up into the base class. Currently, only CachedImage has a use for that functionality, but other subclasses might need it in the future, and the base class is already responsible for similar code related to encoded size tracking. (WebCore::CachedImage::decodedSizeChanged):
  • loader/CachedImage.h:
  • loader/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::setDecodedSize): Move us in the LRU-SP list just like setEncodedSize does, since decoded size counts now, too. (WebCore::CachedResource::setEncodedSize): Changed slightly to match the style of setDecodedSize.
  • loader/CachedResource.h: (WebCore::CachedResource::decodedSize):
12:20 PM Changeset in webkit [25024] by ap
  • 2 edits in trunk/WebKit

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=4648
Shockwave unable to load GZip'd text resources when server sends Content-Length header

  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream startStreamWithResponse:]): Don't trust -[NSURLResponse expectedContentLength] if Content-Encoding is not identity.
4:31 AM Changeset in webkit [25023] by aroben
  • 2 edits in trunk/WebKitTools

Generate results for new tests in a more logical location

New platform-specific tests always have their results generated right
next to the test. New cross-platform tests will have their results
generated a) in the cross-platform directory, if they are text-only,
or b) in the least-specific platform directory, if they are render
tree dumps.

Reviewed by Lars.

  • Scripts/run-webkit-tests:
4:31 AM Changeset in webkit [25022] by aroben
  • 2 edits in trunk/WebKitTools

Print the actual directory where new results are generated.

Before, we were printing an unpredictable, context-specific substring
of the directory.

Reviewed by Lars.

  • Scripts/run-webkit-tests:
4:31 AM Changeset in webkit [25021] by aroben
  • 2 edits in trunk/WebKitTools

Factor some common code into a stripExtension() subroutine.

Reviewed by Lars.

  • Scripts/run-webkit-tests: Also removed some debugging output.
3:08 AM Changeset in webkit [25020] by antti
  • 1 edit in trunk/LayoutTests/ChangeLog

Correct wrong URL in ChangeLog entry

3:05 AM Changeset in webkit [25019] by antti
  • 1 edit
    2 adds in trunk/LayoutTests

Reviewed by Darin.


Add test for http://bugs.webkit.org/attachment.cgi?id=15818&action=edit which
Mitz fixed in r24973.


I had a fix for <rdar://problem/5267021>
REGRESSION: Loading Slashdot Firehose is 9X slower on Safari 3.0 than Safari 2.0
which turned out to be a dublicate.


At least we can use the layout test I did.

  • http/tests/local/style-access-before-stylesheet-loaded-expected.txt: Added.
  • http/tests/local/style-access-before-stylesheet-loaded.html: Added.
2:18 AM Changeset in webkit [25018] by aroben
  • 2 edits in trunk/WebKit/win

Fix <rdar://problem/5278790> Hole for find-on-page match in subframe isn't clipped by frame bounds

Reviewed by Maciej.

  • WebView.cpp: (WebView::rectsForTextMatches): Ported fix from r23586.
2:18 AM Changeset in webkit [25017] by aroben
  • 2 edits in trunk/WebKit/win

Prevent an ASSERT on launch by initializing AtomicString in WebKitGraphics

Reviewed by Maciej.

  • WebKitGraphics.cpp: (makeFont):

Aug 11, 2007:

1:55 PM Changeset in webkit [25016] by pewtermoose
  • 1 delete in trunk/LayoutTests/mac

Forgot to remove this directory

1:37 PM Changeset in webkit [25015] by pewtermoose
  • 3 edits
    3 moves
    2 adds in trunk

LayoutTests:

Reviewed over and over and over by Adam Roben.

Bug 14740: Hierarchical layout tests and platform organization
http://bugs.webkit.org/show_bug.cgi?id=14740

Add support for platform-specific layout tests and results.
New platform structure is as follows:

  • platform: Added.
  • platform/mac: Added.
  • mac/leopard/ -> platform/mac-leopard
  • win/ -> platform/win
  • qt/ -> platform/qt

WebKitTools:

Reviewed over and over and over by Adam Roben.

Bug 14740: Hierarchical layout tests and platform organization
http://bugs.webkit.org/show_bug.cgi?id=14740

Add support for platform-specific layout tests and results.

  • Scripts/run-webkit-tests:
12:40 PM Changeset in webkit [25014] by ddkilzer
  • 2 edits in trunk/WebKitTools

WebKitTools:

Reviewed by Adam.

Refactored svn-create-path to use a hash-of-hashes data structure to keep
track of changed files. In the top level hash, keys are paths to files and
values are 'fileData' hashes with the following keys and values:

  • isBinary: boolean value (set to true for non-text files like images, etc.)
  • isTestFile: boolean value (set to true if file exists within a known test directory)
  • modificationType: string equal to one of 'addition', 'additionWithHistory', 'modification' or 'deletion'
  • path: string equal to the path to the file (this may seem redundant, but it is required to use the second-level 'fileData' hash independent of the top-level hash)
  • sourceFile: [optional] string equal to the path of the original file that was copied or moved
  • sourceRevision: [optional] string equal to the revision of the original file that was copied or moved
  • Scripts/svn-create-patch: Moved call to GetOptions() to its own statement that saves the return value in $result, then checks it before printing help. Combined sourceFiles, %testFiles, and %binaryFiles into single %diffFiles hash and eliminated two for() loops. (binarycmp): Added. Used with sort() to order non-binary files before binary files. (findBaseUrl): Added. Extracted from findSourceFileAndRevision(). (findMimeType): Added optional second argument that takes a revision number. (generateDiff): Updated to take one fileData argument instead of three ($file, $modificationType, $isBinary). (generateFileList): Updated to take one hash ref argument (%diffFiles) instead of three (%sourceFiles, %testFiles, %binaryFiles). Populates %diffFiles using paths for keys and fileData hashes for values. (manufacturePatchForAdditionWithHistory): Updated to take one fileData argument. (pathcmp): Updated to take two fileData arguments instead of two strings. (testfilecmp): Added. Used with sort() to order non-test files before test files.
11:27 AM Changeset in webkit [25013] by darin
  • 2 edits in trunk/WebKitTools
  • Scripts/run-webkit-tests: Give a different message when only the pixel test failed.
11:13 AM Changeset in webkit [25012] by zecke
  • 2 edits in trunk/WebCore

2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Anders.

Implement passing events to a subframe. The code is copied from
the windows port and passSubframeEventToSubframe was removed as it
is not called and it is not avilable in the windows port as well.

  • page/gdk/EventHandlerGdk.cpp: (WebCore::EventHandler::passMousePressEventToSubframe): (WebCore::EventHandler::passMouseMoveEventToSubframe): (WebCore::EventHandler::passMouseReleaseEventToSubframe):
11:01 AM Changeset in webkit [25011] by darin
  • 15 edits
    34 adds in trunk

LayoutTests:

2007-08-11 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

  • fast/table/100-percent-cell-width-expected.checksum: Added.
  • fast/table/100-percent-cell-width-expected.png: Added.
  • fast/table/100-percent-cell-width-expected.txt: Added.
  • fast/table/100-percent-cell-width.html: Added.
  • fast/table/percent-widths-stretch-expected.checksum: Added.
  • fast/table/percent-widths-stretch-expected.png: Added.
  • fast/table/percent-widths-stretch-expected.txt: Added.
  • fast/table/percent-widths-stretch.html: Added.
  • fast/text/whitespace/026-expected.checksum:
  • fast/text/whitespace/026-expected.png:
  • fast/text/whitespace/026-expected.txt:
  • tables/mozilla/bugs/bug35662-expected.checksum:
  • tables/mozilla/bugs/bug35662-expected.png:
  • tables/mozilla/bugs/bug35662-expected.txt:
  • tables/mozilla/bugs/bug5799-expected.checksum:
  • tables/mozilla/bugs/bug5799-expected.png:
  • tables/mozilla/bugs/bug5799-expected.txt:
  • tables/mozilla/core/col_span-expected.checksum:
  • tables/mozilla/core/col_span-expected.png:
  • tables/mozilla/core/col_span-expected.txt:

2007-08-11 Darin Adler <Darin Adler>

  • added a bunch of missing layout test results
  • editing/style/font-family-with-space-expected.checksum: Added.
  • editing/style/font-family-with-space-expected.png: Added.
  • fast/dom/frame-loading-via-document-write-expected.checksum: Added.
  • fast/dom/frame-loading-via-document-write-expected.png: Added.
  • fast/encoding/xmacroman-encoding-test-expected.checksum: Added.
  • fast/encoding/xmacroman-encoding-test-expected.png: Added.
  • fast/frames/frame-navigation-expected.checksum: Added.
  • fast/frames/frame-navigation-expected.png: Added.
  • fast/frames/frame-set-whitespace-attributes-expected.checksum: Added.
  • fast/frames/frame-set-whitespace-attributes-expected.png: Added.
  • fast/frames/inline-object-inside-frameset-expected.checksum: Added.
  • fast/frames/inline-object-inside-frameset-expected.png: Added.
  • fast/html/keygen-expected.checksum: Added.
  • fast/html/keygen-expected.png: Added.
  • fast/images/pdf-as-image-landscape-expected.checksum: Added.
  • fast/images/pdf-as-image-landscape-expected.png: Added.
  • fast/inline-block/14498-positionForCoordinates-expected.checksum: Added.
  • fast/inline-block/14498-positionForCoordinates-expected.png: Added.

WebCore:

2007-08-11 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

Tests: fast/table/100-percent-cell-width.html

fast/table/percent-widths-stretch.html

  • rendering/AutoTableLayout.cpp: (WebCore::AutoTableLayout::calcPrefWidths): Changed the value used instead of 0% to avoid division by zero from 1% to less than 0.01%. Removed code that added 0.5px to non-percent widths when calculating the scaling factor. The latter change is covered by the percent-widths-stretch test, where the new results match both WinIE 7 and Firefox 3.
10:18 AM Changeset in webkit [25010] by darin
  • 3 edits
    2 adds in trunk

LayoutTests:

Reviewed by Antti.

  • test for <rdar://problem/5266535> REGRESSION: <img> inside <map> no longer allowed in strict mode (breaks chemicalelements.com)
  • fast/parser/strict-img-in-map-expected.txt: Added.
  • fast/parser/strict-img-in-map.html: Added.

WebCore:

Reviewed by Antti.

  • fix <rdar://problem/5266535> REGRESSION: <img> inside <map> no longer allowed in strict mode (breaks chemicalelements.com)

Test: fast/parser/strict-img-in-map.html

  • html/HTMLMapElement.cpp: (WebCore::HTMLMapElement::checkDTD): Removed FIXME saying this code is strange, since this code matches the HTML 4 specification almost exactly. Made <img> elements allowed even in strict mode and added small comments to clarify what comes from the DTD and what is non-standard.
6:53 AM Changeset in webkit [25009] by zecke
  • 2 edits in trunk/WebCore

2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Lars.

GdkEventKey::string is not supposed to be used. The length
of this string is zero for non ascii charachters. Use the
gdk_unicode_to_keyval to convert the keyval to a UChar and construct
a String. This change makes it possible to input non ascii
charachters.

  • platform/gdk/KeyEventGdk.cpp: (WebCore::keyIdentifierForGdkKeyCode): (WebCore::singleCharacterString): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
4:52 AM Changeset in webkit [25008] by andrew
  • 3 edits
    2 adds in trunk

LayoutTests:

Reviewed by Mark Rowe.


Fix http://bugs.webkit.org/show_bug.cgi?id=14645
getPropertyValue should be case insensitive


Test for getPropertyValue, setProperty, removeProperty being case-insensitive

  • fast/css/css-properties-case-insensitive-expected.txt: Added.
  • fast/css/css-properties-case-insensitive.html: Added.

WebCore:

Reviewed by Mark Rowe.


Fix http://bugs.webkit.org/show_bug.cgi?id=14645
getPropertyValue should be case insensitive


When we get the propertyID for a given string we convert to lowercase.


This also applies to setProperty, removeProperty and others.


  • css/CSSStyleDeclaration.cpp: (WebCore::propertyID):

Aug 10, 2007:

7:31 PM Changeset in webkit [25007] by bdash
  • 3 edits in trunk/WebCore

2007-08-11 Mark Rowe <mrowe@apple.com>

Build fix. Change "#ifdef PLATFORM(GDK)" to "#if PLATFORM(GDK)".

  • page/FrameView.cpp:
  • page/FrameView.h:
6:27 PM Changeset in webkit [25006] by zecke
  • 7 edits in trunk

WebCore:
2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Copy the WebFrame::layoutIfNeededRecursive method of the windows port
to FrameView to be used by the Gtk+ port. Simplify the implementation due
moving it to the FrameView class.

Implement the ScrollView::children() method for the Gtk+ port and make it
available to the FrameView as children() is used within the layoutIfNeededRecursive method.

  • page/FrameView.cpp: (WebCore::FrameView::layoutIfNeededRecursive):
  • page/FrameView.h:
  • platform/ScrollView.h:
  • platform/gdk/ScrollViewGdk.cpp:

WebKit/gtk:
2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

To not hit the needsLayout() assert of Frame::paint for subframes we need to
make sure they are layed out. Use the newly created FrameView::layoutIfNeededRecursive
method to do this.

  • Api/webkitgtkpage.cpp:
5:43 PM Changeset in webkit [25005] by zecke
  • 5 edits
    2 adds in trunk

WebCore:

2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

To fix text selection make the PlatformMouseEvent set the pressed
button even when moving the mouse.

Add building of the WebKit::DragClient stubs as they are needed to
make text selection work.

  • WebCore.pro:
  • platform/gdk/MouseEventGdk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent):

WebKit/gtk:
2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Fix text selection by setting a DragClient when creating the Page. Now
that we have a DragClient we can free the Page when WebKitGtkPage gets
destructed.

  • Api/webkitgtkpage.cpp:
  • WebCoreSupport/DragClientGtk.cpp: Added. (WebKit::DragClient::willPerformDragDestinationAction): (WebKit::DragClient::willPerformDragSourceAction): (WebKit::DragClient::actionMaskForDrag): (WebKit::DragClient::dragSourceActionMaskForPoint): (WebKit::DragClient::startDrag): (WebKit::DragClient::createDragImageForLink):
  • WebCoreSupport/DragClientGtk.h: Added.
5:09 PM Changeset in webkit [25004] by thatcher
  • 3 edits in trunk/WebKit

Reviewed by Mark Rowe.

<rdar://problem/5403302> HIWebView.h should be #ifdefed out for 64-bit

  • Carbon/HIWebView.h: #ifdef out the header in 64-bit. Adds a comment about 32-bit only.
  • Carbon/CarbonUtils.h: Ditto.
5:05 PM Changeset in webkit [25003] by adachan
  • 2 edits in trunk/WebKit/win

2007-08-10 Ada Chan <adachan@apple.com>

Reviewed by Adam and Darin.


<rdar://problem/5403095> Crash in WebViewWndProc after closing a window
We are seeing another case where WM_SETFOCUS is sent after WM_DESTROY has been handled in WebView.
Bail early in the wndProc if WebView is set to be destroyed.

  • WebView.cpp: (WebViewWndProc):
4:49 PM Changeset in webkit [25002] by andersca
  • 7 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin and Maciej.

<rdar://problem/5360748>
REGRESSION(r21002-r21003) Flash widget sniffer doesn't work (affects iWeb)


Add test case by Kurt Revis.


  • fast/dom/NodeList/invalidate-node-lists-when-parsing-expected.txt: Added.
  • fast/dom/NodeList/invalidate-node-lists-when-parsing.html: Added.

WebCore:

Reviewed by Darin and Maciej.

<rdar://problem/5360748>
REGRESSION(r21002-r21003) Flash widget sniffer doesn't work


Add a per-document NodeList counter. When parsing, only call notifyNodeListsChildrenChanged
if the document has node lists. Also, make sure to reset the cache when the node list count has
been 0 and a new node list is registered to avoid any stale cache information.


  • dom/ContainerNode.cpp: (WebCore::ContainerNode::addChild):
  • dom/Document.cpp: (WebCore::Document::Document):
  • dom/Document.h: (WebCore::Document::addNodeList): (WebCore::Document::removeNodeList): (WebCore::Document::hasNodeLists):
  • dom/Node.cpp: (WebCore::Node::registerNodeList): (WebCore::Node::unregisterNodeList):
4:47 PM Changeset in webkit [25001] by oliver
  • 3 edits in trunk/LayoutTests

Reviewed by Mark.

Update layout test to avoid problems caused by differences in whitespace
for NSAttributedString descriptions on Tiger and Leopard

  • fast/text/attributed-substring-from-range-expected.txt:
  • fast/text/attributed-substring-from-range.html:
4:24 PM Changeset in webkit [25000] by thatcher
  • 35 edits
    1 delete in trunk

JavaScriptCore:

Reviewed by Adam.

<rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit

Disable the NPAPI for 64-bit on Mac OS X.

  • Configurations/JavaScriptCore.xcconfig: Use the 64-bit export file.
  • JavaScriptCore.xcodeproj/project.pbxproj: Create a 64-bit export file that filters out the NPN fnctions.
  • bindings/NP_jsobject.cpp: #ifdef out this for 64-bit on Mac OS X
  • bindings/NP_jsobject.h: Ditto.
  • bindings/c/c_class.cpp: Ditto.
  • bindings/c/c_class.h: Ditto.
  • bindings/c/c_instance.cpp: Ditto.
  • bindings/c/c_instance.h: Ditto.
  • bindings/c/c_runtime.cpp: Ditto.
  • bindings/c/c_runtime.h: Ditto.
  • bindings/c/c_utility.cpp: Ditto.
  • bindings/c/c_utility.h: Ditto.
  • bindings/npapi.h: Ditto.
  • bindings/npruntime.cpp: Ditto.
  • bindings/npruntime.h: Ditto.
  • bindings/npruntime_impl.h: Ditto.
  • bindings/npruntime_priv.h: Ditto.
  • bindings/runtime.cpp: (KJS::Bindings::Instance::createBindingForLanguageInstance): don't creat an NPObject on Mac OS X in 64-bit.

WebCore:

Reviewed by Adam.

<rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit

Disable NPObject use in 64-bit on Mac OS X.

  • Configurations/WebCore.xcconfig: Add a framework search path to the sub-framworks of Carbon.
  • WebCore.xcodeproj/project.pbxproj: Filter out the Frame::windowScriptNPObject() symbol in 64-bit.
  • bindings/objc/DOM.mm: (-[DOMElement _NPObject]): Return null in 64-bit.
  • config.h: Set WTF_USE_NPOBJECT to 0 in 64-bit Mac OS X.
  • page/Frame.cpp: (WebCore::Frame::cleanupScriptObjects): Add more #if USE(NPOBJECT) blocks where needed.
  • page/Frame.h: Ditto.
  • page/mac/FrameMac.mm: (WebCore::Frame::createScriptInstanceForWidget): Ditto.
  • page/mac/WebCoreFrameBridge.h: Ditto.
  • page/mac/WebCoreFrameBridge.mm: Ditto.

WebKit:

Reviewed by Adam.

<rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit

Disable NPObject use in 64-bit on Mac OS X. Also generate the 64-bit export file.

  • Configurations/WebKit.xcconfig: Point to the generated 64-bit export file.
  • Plugins/WebBasePluginPackage.h:
  • Plugins/npfunctions.h: #ifdef out this header in 64-bit on Mac OS X.
  • WebKit.LP64.exp: Removed.
  • WebKit.xcodeproj/project.pbxproj: Generate the the 64-bit export file.
  • WebKitPrefix.h: Define WTF_USE_NPOBJECT.
3:20 PM Changeset in webkit [24999] by adele
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Justin.

  • editing/selection/inline-closest-leaf-child-expected.checksum: Added.
  • editing/selection/inline-closest-leaf-child-expected.png: Added.
  • editing/selection/inline-closest-leaf-child-expected.txt: Added.
  • editing/selection/inline-closest-leaf-child.html: Added.

WebCore:

Reviewed by Justin.

Test: editing/selection/inline-closest-leaf-child.html

  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::closestLeafChildForXPos): Return the last leaf if it's the closest match, or if no other leaf matches (for example if all leaves are list markers or non-editable where editable is required).
1:57 PM Changeset in webkit [24998] by andersca
  • 4 edits in trunk

WebCore:

Reviewed by Geoff.

<rdar://problem/5390568>
REGRESSION: –[WebFrame loadHTMLString:baseURL:] leaks the data source.


Revert the fix for <rdar://problem/5133420> which caused us to not cancel
substitute data loads. It's better to remove the assertion in the WebKit layer.


  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::didCancel):

WebKit:

Reviewed by Geoff.

<rdar://problem/5390568>
REGRESSION: –[WebFrame loadHTMLString:baseURL:] leaks the data source


If the identifier is not in the map, just bail out instead of asserting. This is a better fix for
<rdar://problem/5133420> because WebCore shouldn't have to worry about the lifetime of WebKit objects.


  • WebView/WebDocumentLoaderMac.mm: (WebDocumentLoaderMac::decreaseLoadCount):
12:39 PM Changeset in webkit [24997] by oliver
  • 5 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin.

Added new layout test to validate fix for <rdar://problem/5000470> REGRESSION: ATOK IM: reconvert returns incorrect symbol due to inconsistent range domains in TSM

Corrected fast/text/attributed-substring-from-range to account for additional whitespace, and to be correct.

  • fast/text/attributed-substring-from-range-expected.txt:
  • fast/text/attributed-substring-from-range-in-textfield-expected.txt: Added.
  • fast/text/attributed-substring-from-range-in-textfield.html: Added.
  • fast/text/attributed-substring-from-range.html:

WebKit:

Reviewed by Darin.

Fixed <rdar://problem/5000470> REGRESSION: ATOK IM: reconvert returns incorrect symbol due to inconsistent range domains in TSM by working around <rdar://problem/5400551> [NSAttributedString(WebKitExtras) _web_attributedStringFromRange:] adds whitespace to the requested range

We truncate the returned string to the expected length.

  • WebView/WebHTMLView.mm: (-[WebHTMLView attributedSubstringFromRange:]):
11:59 AM Changeset in webkit [24996] by spadma
  • 2 edits in S60/branches/3.1m/WebKit

2007-10-08 Mahesh Kulkarni <mahesh.kulkarni>

Reviewed by Sachin.
DESC: Buildbreak for the fix of Problem with CPluginSkin::PluginScriptableObject
http://bugs.webkit.org/show_bug.cgi?id=14383

  • WebKit\Plugin\src\PluginSkin.cpp: Added "err" variable and defined KPluginScriptabilityAllowed in xls
11:45 AM Changeset in webkit [24995] by weinig
  • 3 edits in trunk/WebCore

Rubber-stamped by Adam Roben.

Fix Windows, Qt and Gtk build.

  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
11:10 AM Changeset in webkit [24994] by weinig
  • 8 edits
    30 adds in trunk

LayoutTests:

Reviewed by Maciej.

Tests for <rdar://problem/5395618>

  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-getAttribute-value-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-getAttribute-value.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-htmldom-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-htmldom.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttribute-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttribute.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNS-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNS.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNode-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNode.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNodeNS-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNodeNS.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-getAttribute-value-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-getAttribute-value.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-htmldom-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-htmldom.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttribute-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttribute.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNS-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNS.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNode-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNode.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNodeNS-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNodeNS.html: Added.

WebCore:

Reviewed by Maciej.

Fix for <rdar://problem/5395618>

Use checkNodeSecurity when setting the 'src' or 'location' attribute of an
iframe or frame element.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSAttrCustom.cpp: Added. (WebCore::JSAttr::setValue): Call checkNodeSecurity for attributes with a current iframe or frame ownerElement when setting src to a javascript: URL.
  • bindings/js/JSElementCustom.cpp: Added. (WebCore::allowSettingSrcToJavascriptURL): (WebCore::JSElement::setAttribute): Call checkNodeSecurity when element is a frame or iframe and setting he src attribute to a javascript: URL. (WebCore::JSElement::setAttributeNode): Ditto. (WebCore::JSElement::setAttributeNS): Ditto. (WebCore::JSElement::setAttributeNodeNS): Ditto.
  • bindings/js/JSHTMLFrameElementCustom.cpp: Added. (WebCore::allowSettingJavascriptURL): (WebCore::JSHTMLFrameElement::setSrc): Call checkNodeSecurity when setting to a javascript: URL. (WebCore::JSHTMLFrameElement::setLocation): Ditto.
  • bindings/js/JSHTMLIFrameElementCustom.cpp: Added. (WebCore::JSHTMLIFrameElement::setSrc): Call checkNodeSecurity when setting to a javascript: URL.
  • bindings/scripts/CodeGeneratorJS.pm: Add support for [CustomGetter] and [CustomSetter]
  • dom/Attr.idl:
  • dom/Element.idl:
  • html/HTMLFrameElement.idl:
  • html/HTMLIFrameElement.idl:
10:22 AM Changeset in webkit [24993] by zecke
  • 11 edits in trunk

WebCore:

2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Anders.

Make the containingWindow a GtkContainer and make use of the
GtkWidget::window instead of the GtkLayout::bin_window.

  • platform/Widget.h:
  • platform/gdk/PlatformScreenGdk.cpp: (WebCore::screenDepth):
  • platform/gdk/ScrollViewGdk.cpp: (WebCore::ScrollView::updateContents): (WebCore::ScrollView::update):
  • platform/gdk/WidgetGdk.cpp: (WebCore::Widget::setContainingWindow): (WebCore::Widget::setCursor):

WebKit/gtk:
2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Anders.

Make WebKitGtkPage a GtkContainer to avoid a size_allocate
race of GtkScrollBar and GtkLayout.

  • Api/webkitgtk-marshal.list:
  • Api/webkitgtkframe.cpp:
  • Api/webkitgtkpage.cpp:
  • Api/webkitgtkpage.h:
  • Api/webkitgtkprivate.h:
8:21 AM Changeset in webkit [24992] by zecke
  • 3 edits in trunk/WebKit/gtk

2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Niko.

Minor changes to the WebKit::EditorClient to allow removing
of text from TextFields. Remove the selectWordBeforeMenuEvent method
which is not used and not within WebCore::EditorClient.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::shouldDeleteRange): (WebKit::EditorClient::shouldBeginEditing): (WebKit::EditorClient::shouldEndEditing): (WebKit::EditorClient::shouldApplyStyle): (WebKit::EditorClient::shouldInsertNode):
  • WebCoreSupport/EditorClientGtk.h:
7:36 AM Changeset in webkit [24991] by zimmermann
  • 67 edits
    2 adds in branches/feature-branch

Fixes: http://bugs.webkit.org/show_bug.cgi?id=14153

Final, long-awaited RenderSVGContainer split. Make RenderSVGContainer really a simple
container without special cases for inner <svg> elements or <marker>. Create a new
RenderSVGViewportContainer class handling these cases now.

7:25 AM Changeset in webkit [24990] by hausmann
  • 2 edits in trunk/WebKitQt

Limit the set of properties from the computed style to apply to Qt
plugin widgets, as only a few of them make sense.

7:25 AM Changeset in webkit [24989] by hausmann
  • 3 edits in trunk/WebCore

Revert r24699 as it broke timers. The precision of QTime::toTime_t() is just seconds, which is not good enough. Revert back
to the old implementation and use the simple implementation of currentTime() from win/ for the Qt/Windows build (fingers crossed :)

6:21 AM Changeset in webkit [24988] by zimmermann
  • 50 edits
    8 adds in branches/feature-branch

Reviewed by Oliver & Rob.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=12501 (SVG Text fails to respect opacity, fill-opacity and stroke-opacity)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=14045 (Incorrect support for opacity, fill-opacity and stroke-opacity)

Based on an older patch from Rob, this fixes SVG text opacity as well as group opacity for solid fills & gradients.
The pattern changes are still missing a testcase (need to wait for Antoine Quint for that).

6:21 AM Changeset in webkit [24987] by hausmann
  • 2 edits in trunk/WebCore

Recognize .htm as valid extension for text/html.

5:56 AM Changeset in webkit [24986] by lars
  • 4 edits in trunk/WebKitQt

Use <object>'s classid attribute for creation of plugins through QWebPage::createPlugin.

5:56 AM Changeset in webkit [24985] by lars
  • 2 edits in trunk/WebCore

remove an assertion that leads to crashes. The whole design of WidgetQt and ScrollViewQt needs to be reevaluated soon anyways.

4:33 AM Changeset in webkit [24984] by bdash
  • 1 edit
    1 add in trunk/WebCore

2007-08-10 Mark Rowe <mrowe@apple.com>

Fix the Mac build.

  • ForwardingHeaders/bindings/runtime_object.h: Added.
4:08 AM Changeset in webkit [24983] by hausmann
  • 2 edits in trunk/WebKitQt

Added support for network jobs from Qt resources using the qrc protocol.

4:08 AM Changeset in webkit [24982] by hausmann
  • 2 edits in trunk/WebKitQt

Added support for "application/x-qt-styled-widget" that is treated like "application/x-qt-plugin" but also
gets a Qt widget stylesheet set from the CSS computed style and the element style attribute.

4:08 AM Changeset in webkit [24981] by hausmann
  • 2 edits in trunk/WebCore

Make sure -fno-strict-aliasing is also added for mkspecs like linux-g++-64.

4:08 AM Changeset in webkit [24980] by hausmann
  • 6 edits in trunk/WebCore

Enable JavaScript bindings for HTML Object/Applet elements in the Qt port.

4:07 AM Changeset in webkit [24979] by hausmann
  • 4 edits in trunk/WebKitQt

Added virtual QWebPage::createPlugin that is called for embedded objects with the mime type "application/x-qt-plugin"
and fixed widget embedding by setting the right QWidget parent.

2:58 AM Changeset in webkit [24978] by zecke
  • 15 edits in trunk/WebKit/gtk

2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Mark.

Rename the namespace from WebKitGtk to WebKit. Move the various *Client
classes into the WebKit namespace. Change the class names to not contain Gtk.
The file names have to contain the Gtk suffix to not clash with files in WebCore (e.g.
bridge/EditorClient.h).

  • Api/webkitgtkframe.cpp:
  • Api/webkitgtkpage.cpp:
  • Api/webkitgtkprivate.cpp:
  • Api/webkitgtkprivate.h:
  • ChangeLog:
  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::ChromeClient): (WebKit::ChromeClient::chromeDestroyed): (WebKit::ChromeClient::windowRect): (WebKit::ChromeClient::setWindowRect): (WebKit::ChromeClient::pageRect): (WebKit::ChromeClient::scaleFactor): (WebKit::ChromeClient::focus): (WebKit::ChromeClient::unfocus): (WebKit::ChromeClient::createWindow): (WebKit::ChromeClient::createModalDialog): (WebKit::ChromeClient::show): (WebKit::ChromeClient::canRunModal): (WebKit::ChromeClient::runModal): (WebKit::ChromeClient::setToolbarsVisible): (WebKit::ChromeClient::toolbarsVisible): (WebKit::ChromeClient::setStatusbarVisible): (WebKit::ChromeClient::statusbarVisible): (WebKit::ChromeClient::setScrollbarsVisible): (WebKit::ChromeClient::scrollbarsVisible): (WebKit::ChromeClient::setMenubarVisible): (WebKit::ChromeClient::menubarVisible): (WebKit::ChromeClient::setResizable): (WebKit::ChromeClient::closeWindowSoon): (WebKit::ChromeClient::canTakeFocus): (WebKit::ChromeClient::takeFocus): (WebKit::ChromeClient::canRunBeforeUnloadConfirmPanel): (WebKit::ChromeClient::runBeforeUnloadConfirmPanel): (WebKit::ChromeClient::runJavaScriptAlert): (WebKit::ChromeClient::runJavaScriptConfirm): (WebKit::ChromeClient::setStatusbarText): (WebKit::ChromeClient::shouldInterruptJavaScript): (WebKit::ChromeClient::tabsToLinks): (WebKit::ChromeClient::windowResizerRect): (WebKit::ChromeClient::addToDirtyRegion): (WebKit::ChromeClient::scrollBackingStore): (WebKit::ChromeClient::updateBackingStore): (WebKit::ChromeClient::mouseDidMoveOverElement): (WebKit::ChromeClient::setToolTip):
  • WebCoreSupport/ChromeClientGtk.h:
  • WebCoreSupport/ContextMenuClientGtk.cpp: (WebKit::ContextMenuClient::contextMenuDestroyed): (WebKit::ContextMenuClient::getCustomMenuFromDefaultItems): (WebKit::ContextMenuClient::contextMenuItemSelected): (WebKit::ContextMenuClient::downloadURL): (WebKit::ContextMenuClient::copyImageToClipboard): (WebKit::ContextMenuClient::searchWithGoogle): (WebKit::ContextMenuClient::lookUpInDictionary): (WebKit::ContextMenuClient::speak):
  • WebCoreSupport/ContextMenuClientGtk.h:
  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::shouldDeleteRange): (WebKit::EditorClient::shouldShowDeleteInterface): (WebKit::EditorClient::isContinuousSpellCheckingEnabled): (WebKit::EditorClient::isGrammarCheckingEnabled): (WebKit::EditorClient::spellCheckerDocumentTag): (WebKit::EditorClient::shouldBeginEditing): (WebKit::EditorClient::shouldEndEditing): (WebKit::EditorClient::shouldInsertText): (WebKit::EditorClient::shouldChangeSelectedRange): (WebKit::EditorClient::shouldApplyStyle): (WebKit::EditorClient::shouldMoveRangeAfterDelete): (WebKit::EditorClient::didBeginEditing): (WebKit::EditorClient::respondToChangedContents): (WebKit::EditorClient::respondToChangedSelection): (WebKit::EditorClient::didEndEditing): (WebKit::EditorClient::didWriteSelectionToPasteboard): (WebKit::EditorClient::didSetSelectionTypesForPasteboard): (WebKit::EditorClient::selectWordBeforeMenuEvent): (WebKit::EditorClient::isEditable): (WebKit::EditorClient::registerCommandForUndo): (WebKit::EditorClient::registerCommandForRedo): (WebKit::EditorClient::clearUndoRedoOperations): (WebKit::EditorClient::canUndo): (WebKit::EditorClient::canRedo): (WebKit::EditorClient::undo): (WebKit::EditorClient::redo): (WebKit::EditorClient::shouldInsertNode): (WebKit::EditorClient::pageDestroyed): (WebKit::EditorClient::smartInsertDeleteEnabled): (WebKit::EditorClient::toggleContinuousSpellChecking): (WebKit::EditorClient::toggleGrammarChecking): (WebKit::EditorClient::handleInputMethodKeypress): (WebKit::EditorClient::EditorClient): (WebKit::EditorClient::textFieldDidBeginEditing): (WebKit::EditorClient::textFieldDidEndEditing): (WebKit::EditorClient::textDidChangeInTextField): (WebKit::EditorClient::doTextFieldCommandFromEvent): (WebKit::EditorClient::textWillBeDeletedInTextField): (WebKit::EditorClient::textDidChangeInTextArea): (WebKit::EditorClient::ignoreWordInSpellDocument): (WebKit::EditorClient::learnWord): (WebKit::EditorClient::checkSpellingOfString): (WebKit::EditorClient::checkGrammarOfString): (WebKit::EditorClient::updateSpellingUIWithGrammarString): (WebKit::EditorClient::updateSpellingUIWithMisspelledWord): (WebKit::EditorClient::showSpellingUI): (WebKit::EditorClient::spellingUIIsShowing):
  • WebCoreSupport/EditorClientGtk.h:
  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::FrameLoaderClient): (WebKit::FrameLoaderClient::userAgent): (WebKit::FrameLoaderClient::createDocumentLoader): (WebKit::FrameLoaderClient::committedLoad): (WebKit::FrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): (WebKit::FrameLoaderClient::dispatchDidCancelAuthenticationChallenge): (WebKit::FrameLoaderClient::dispatchWillSendRequest): (WebKit::FrameLoaderClient::assignIdentifierToInitialRequest): (WebKit::FrameLoaderClient::postProgressStartedNotification): (WebKit::FrameLoaderClient::postProgressFinishedNotification): (WebKit::FrameLoaderClient::frameLoaderDestroyed): (WebKit::FrameLoaderClient::dispatchDidReceiveResponse): (WebKit::FrameLoaderClient::createPlugin): (WebKit::FrameLoaderClient::redirectDataToPlugin): (WebKit::FrameLoaderClient::createJavaAppletWidget): (WebKit::FrameLoaderClient::overrideMediaType): (WebKit::FrameLoaderClient::windowObjectCleared): (WebKit::FrameLoaderClient::setMainFrameDocumentReady): (WebKit::FrameLoaderClient::hasWebView): (WebKit::FrameLoaderClient::hasFrameView): (WebKit::FrameLoaderClient::dispatchDidFinishLoad): (WebKit::FrameLoaderClient::frameLoadCompleted): (WebKit::FrameLoaderClient::saveViewStateToItem): (WebKit::FrameLoaderClient::restoreViewState): (WebKit::FrameLoaderClient::privateBrowsingEnabled): (WebKit::FrameLoaderClient::makeDocumentView): (WebKit::FrameLoaderClient::makeRepresentation): (WebKit::FrameLoaderClient::forceLayout): (WebKit::FrameLoaderClient::forceLayoutForNonHTML): (WebKit::FrameLoaderClient::setCopiesOnScroll): (WebKit::FrameLoaderClient::detachedFromParent1): (WebKit::FrameLoaderClient::detachedFromParent2): (WebKit::FrameLoaderClient::detachedFromParent3): (WebKit::FrameLoaderClient::detachedFromParent4): (WebKit::FrameLoaderClient::loadedFromCachedPage): (WebKit::FrameLoaderClient::dispatchDidHandleOnloadEvents): (WebKit::FrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): (WebKit::FrameLoaderClient::dispatchDidCancelClientRedirect): (WebKit::FrameLoaderClient::dispatchWillPerformClientRedirect): (WebKit::FrameLoaderClient::dispatchDidChangeLocationWithinPage): (WebKit::FrameLoaderClient::dispatchWillClose): (WebKit::FrameLoaderClient::dispatchDidReceiveIcon): (WebKit::FrameLoaderClient::dispatchDidStartProvisionalLoad): (WebKit::FrameLoaderClient::dispatchDidReceiveTitle): (WebKit::FrameLoaderClient::dispatchDidCommitLoad): (WebKit::FrameLoaderClient::dispatchDidFinishDocumentLoad): (WebKit::FrameLoaderClient::dispatchDidFirstLayout): (WebKit::FrameLoaderClient::dispatchShow): (WebKit::FrameLoaderClient::cancelPolicyCheck): (WebKit::FrameLoaderClient::dispatchDidLoadMainResource): (WebKit::FrameLoaderClient::revertToProvisionalState): (WebKit::FrameLoaderClient::clearUnarchivingState): (WebKit::FrameLoaderClient::willChangeTitle): (WebKit::FrameLoaderClient::didChangeTitle): (WebKit::FrameLoaderClient::finishedLoading): (WebKit::FrameLoaderClient::finalSetupForReplace): (WebKit::FrameLoaderClient::setDefersLoading): (WebKit::FrameLoaderClient::isArchiveLoadPending): (WebKit::FrameLoaderClient::cancelPendingArchiveLoad): (WebKit::FrameLoaderClient::clearArchivedResources): (WebKit::FrameLoaderClient::canHandleRequest): (WebKit::FrameLoaderClient::canShowMIMEType): (WebKit::FrameLoaderClient::representationExistsForURLScheme): (WebKit::FrameLoaderClient::generatedMIMETypeForURLScheme): (WebKit::FrameLoaderClient::provisionalLoadStarted): (WebKit::FrameLoaderClient::didFinishLoad): (WebKit::FrameLoaderClient::setDocumentViewFromCachedPage): (WebKit::FrameLoaderClient::dispatchDidReceiveContentLength): (WebKit::FrameLoaderClient::dispatchDidFinishLoading): (WebKit::FrameLoaderClient::dispatchDidFailLoading): (WebKit::FrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): (WebKit::FrameLoaderClient::dispatchDidFailProvisionalLoad): (WebKit::FrameLoaderClient::dispatchDidFailLoad): (WebKit::FrameLoaderClient::download): (WebKit::FrameLoaderClient::cancelledError): (WebKit::FrameLoaderClient::blockedError): (WebKit::FrameLoaderClient::cannotShowURLError): (WebKit::FrameLoaderClient::interruptForPolicyChangeError): (WebKit::FrameLoaderClient::cannotShowMIMETypeError): (WebKit::FrameLoaderClient::fileDoesNotExistError): (WebKit::FrameLoaderClient::shouldFallBack): (WebKit::FrameLoaderClient::willUseArchive): (WebKit::FrameLoaderClient::saveDocumentViewToCachedPage): (WebKit::FrameLoaderClient::canCachePage): (WebKit::FrameLoaderClient::dispatchCreatePage): (WebKit::FrameLoaderClient::dispatchUnableToImplementPolicy):
  • WebCoreSupport/FrameLoaderClientGtk.h:
  • WebCoreSupport/InspectorClientGtk.cpp: (WebKit::InspectorClient::inspectorDestroyed): (WebKit::InspectorClient::createPage): (WebKit::InspectorClient::showWindow): (WebKit::InspectorClient::closeWindow): (WebKit::InspectorClient::attachWindow): (WebKit::InspectorClient::detachWindow): (WebKit::InspectorClient::highlight): (WebKit::InspectorClient::hideHighlight):
  • WebCoreSupport/InspectorClientGtk.h:
12:50 AM Changeset in webkit [24977] by bdash
  • 5 edits
    4 adds in trunk

2007-08-10 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

Test: fast/text/international/bidi-neutral-run.html

Fixed several bugs in resolving the embedding level of runs of neutral
characters. Changed the logic to rely on the eor direction only for
the number types, and otherwise consider the last strong type.

  • platform/BidiContext.h: (WebCore::BidiContext::BidiContext): Added an ASSERT.
  • platform/BidiResolver.h: (WebCore::::embed): (WebCore::::createBidiRunsForLine):
  • platform/graphics/GraphicsContext.cpp: (WebCore::TextRunIterator::atEnd): Changed to return true instead of crashing when called on the empty iterator.

2007-08-10 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

  • fast/text/international/bidi-neutral-run-expected.checksum: Added.
  • fast/text/international/bidi-neutral-run-expected.png: Added.
  • fast/text/international/bidi-neutral-run-expected.txt: Added.
  • fast/text/international/bidi-neutral-run.html: Added.

Aug 9, 2007:

11:08 PM Changeset in webkit [24976] by bdash
  • 12 edits in trunk

2007-08-09 Mark Rowe <mrowe@apple.com>

Reviewed by Antti.

<rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +

  • Configurations/Version.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between Version.xcconfig and Info.plist explicit to Xcode.

2007-08-09 Mark Rowe <mrowe@apple.com>

Reviewed by Antti.

<rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +

  • Configurations/Version.xcconfig:
  • JavaScriptGlue.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between Version.xcconfig and Info.plist explicit to Xcode.

2007-08-09 Mark Rowe <mrowe@apple.com>

Reviewed by Antti.

<rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +

  • Configurations/Version.xcconfig:
  • WebCore.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between Version.xcconfig and Info.plist explicit to Xcode.

2007-08-09 Mark Rowe <mrowe@apple.com>

Reviewed by Antti.

<rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +

  • Configurations/Version.xcconfig:
  • WebKit.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between Version.xcconfig and Info.plist explicit to Xcode.
9:12 PM Changeset in webkit [24975] by weinig
  • 4 edits in trunk/LayoutTests

Reviewed by Mark Rowe.

Use index-getter instead of name-getter to better ensure
that the frame has finished loading.

  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-window-open.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-window-open.html:
8:56 PM Changeset in webkit [24974] by bdash
  • 3 edits
    4 adds in trunk

2007-08-09 Mitz Pettel <mitz@webkit.org>

Reviewed by Justin Garcia.

Test: editing/selection/contains-boundaries.html

  • editing/SelectionController.cpp: (WebCore::SelectionController::contains): Changed to return true for the selection boundaries too.

2007-08-09 Mitz Pettel <mitz@webkit.org>

Reviewed by Justin Garcia.

  • editing/selection/contains-boundaries-expected.checksum: Added.
  • editing/selection/contains-boundaries-expected.png: Added.
  • editing/selection/contains-boundaries-expected.txt: Added.
  • editing/selection/contains-boundaries.html: Added.
8:52 PM Changeset in webkit [24973] by bdash
  • 2 edits in trunk/WebCore

2007-08-09 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

updateStyleSelector() is normally called when something changes that factors
into the style selector. However, updateLayoutIgnorePendingStylesheets() calls it for
a different reason, namely to account for all the preceding changes that were ignored
because of the early return in updateStyleSelector(). After that, the early return
can no longer occur, so changes are accounted for as they happen, and
updateLayoutIgnorePendingStylesheets() does not need to call updateStyleSelector()
again.

  • dom/Document.cpp: (WebCore::Document::updateLayoutIgnorePendingStylesheets): Call updateStyleSelector() only before the first layout.
8:49 PM Changeset in webkit [24972] by bdash
  • 2 edits in trunk/WebCore

2007-08-09 Mitz Pettel <mitz@webkit.org>

Reviewed by Adam Roben.

  • platform/win/PopupMenuWin.cpp: (WebCore::PopupWndProc): Track the mouse only inside the popup.
8:46 PM Changeset in webkit [24971] by bdash
  • 3 edits
    4 adds in trunk

2007-08-09 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

Test: fast/layers/scroll-rect-to-visible.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollRectToVisible): Account for borders and scroll bars.

2007-08-09 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

  • fast/layers/scroll-rect-to-visible-expected.checksum: Added.
  • fast/layers/scroll-rect-to-visible-expected.png: Added.
  • fast/layers/scroll-rect-to-visible-expected.txt: Added.
  • fast/layers/scroll-rect-to-visible.html: Added.
7:30 PM Changeset in webkit [24970] by ggaren
  • 16 edits in trunk/WebCore

Reviewed by Dave Hyatt.


Refactored live decoded resource eviction to be more modular /
encapsulated.


This fixes one known place where we forgot to hook into the live
decoded eviction mechanism -- canvas. There might be other, unknown
places. In a canvas test page, which I broke off from the Safari
pageout test, I saw an RPRVT reduction of ~10MB.


A few renames:

  • "m_lastLiveAccessTime" => "m_lastDecodedAccessTime" because the data point we're recording is access to the resource in decoded form.


  • "liveResourceAccessed" => "didAccessDecodedData" for the same reason.
  • "pruneAllResources" => "pruneDeadResources" because this function does not prune live resources.


And the fix:
Instead of updating cache metadata at the call site whenver drawing an
image, just have an image notify its observer whenever it draws. The
observer, which is a CachedResource, can then update the metadata.


  • loader/Cache.cpp: Renames
  • loader/Cache.h: Removed stale declarations, updated comments
  • loader/CachedImage.cpp: (WebCore::CachedImage::didDraw): Implemented didDraw to update cache metadata whenever our image draws.
  • loader/CachedImage.h: Grouped parts of the ImageObserver interface.
  • loader/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::deref): (WebCore::CachedResource::didAccessDecodedData): Made this function slightly more modular by allowing the caller to provide a time stamp. In theory, not all CachedResources will necessarily want to use the current paint time stamp.
  • platform/graphics/cg/ImageCG.cpp: (WebCore::BitmapImage::draw): Notify our observer that we drew. (WebCore::Image::drawPattern): ditto
  • platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::draw): ditto
  • platform/graphics/svg/SVGImage.cpp: (WebCore::SVGImage::draw): ditto


Removed old code at image drawing call sites:


  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintBackgroundExtended):
  • rendering/RenderImage.cpp: (WebCore::RenderImage::paint):
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::paint):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::paintBorderImage):
6:53 PM Changeset in webkit [24969] by zecke
  • 8 edits
    10 moves in trunk

WebCore:
2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Move the various *ClientGdk.{h,cpp} away from the WebCore directory as
of http://bugs.webkit.org/show_bug.cgi?id=14727.

  • WebCore.pro:
  • platform/gdk/TemporaryLinkStubs.cpp:

WebKit/gtk:
2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

As of http://bugs.webkit.org/show_bug.cgi?id=14727 move the
various *ClientGdk.{cpp,h} files from WebCore to WebKit/gtk/WebCoreSupport and
rename it from Gdk to Gtk.

  • Api/webkitgtkdefines.h:
  • Api/webkitgtkframe.cpp:
  • Api/webkitgtkframe.h:
  • Api/webkitgtkglobal.cpp:
  • Api/webkitgtkglobal.h:
  • Api/webkitgtknetworkrequest.cpp:
  • Api/webkitgtknetworkrequest.h:
  • Api/webkitgtkpage.cpp:
  • Api/webkitgtkpage.h:
  • Api/webkitgtkprivate.cpp:
  • Api/webkitgtkprivate.h:
  • Api/webkitgtksettings.cpp:
  • Api/webkitgtksettings.h:
  • WebCoreSupport/ChromeClientGtk.cpp: Renamed from WebKit/gtk/WebCoreSupport/ChromeClientGdk.cpp. (WebKitGtk::ChromeClientGtk::ChromeClientGtk): (WebKitGtk::ChromeClientGtk::chromeDestroyed): (WebKitGtk::ChromeClientGtk::windowRect): (WebKitGtk::ChromeClientGtk::setWindowRect): (WebKitGtk::ChromeClientGtk::pageRect): (WebKitGtk::ChromeClientGtk::scaleFactor): (WebKitGtk::ChromeClientGtk::focus): (WebKitGtk::ChromeClientGtk::unfocus): (WebKitGtk::ChromeClientGtk::createWindow): (WebKitGtk::ChromeClientGtk::createModalDialog): (WebKitGtk::ChromeClientGtk::show): (WebKitGtk::ChromeClientGtk::canRunModal): (WebKitGtk::ChromeClientGtk::runModal): (WebKitGtk::ChromeClientGtk::setToolbarsVisible): (WebKitGtk::ChromeClientGtk::toolbarsVisible): (WebKitGtk::ChromeClientGtk::setStatusbarVisible): (WebKitGtk::ChromeClientGtk::statusbarVisible): (WebKitGtk::ChromeClientGtk::setScrollbarsVisible): (WebKitGtk::ChromeClientGtk::scrollbarsVisible): (WebKitGtk::ChromeClientGtk::setMenubarVisible): (WebKitGtk::ChromeClientGtk::menubarVisible): (WebKitGtk::ChromeClientGtk::setResizable): (WebKitGtk::ChromeClientGtk::closeWindowSoon): (WebKitGtk::ChromeClientGtk::canTakeFocus): (WebKitGtk::ChromeClientGtk::takeFocus): (WebKitGtk::ChromeClientGtk::canRunBeforeUnloadConfirmPanel): (WebKitGtk::ChromeClientGtk::runBeforeUnloadConfirmPanel): (WebKitGtk::ChromeClientGtk::addMessageToConsole): (WebKitGtk::ChromeClientGtk::runJavaScriptAlert): (WebKitGtk::ChromeClientGtk::runJavaScriptConfirm): (WebKitGtk::ChromeClientGtk::runJavaScriptPrompt): (WebKitGtk::ChromeClientGtk::setStatusbarText): (WebKitGtk::ChromeClientGtk::shouldInterruptJavaScript): (WebKitGtk::ChromeClientGtk::tabsToLinks): (WebKitGtk::ChromeClientGtk::windowResizerRect): (WebKitGtk::ChromeClientGtk::addToDirtyRegion): (WebKitGtk::ChromeClientGtk::scrollBackingStore): (WebKitGtk::ChromeClientGtk::updateBackingStore): (WebKitGtk::ChromeClientGtk::mouseDidMoveOverElement): (WebKitGtk::ChromeClientGtk::setToolTip):
  • WebCoreSupport/ChromeClientGtk.h: Renamed from WebKit/gtk/WebCoreSupport/ChromeClientGdk.h. (WebKitGtk::ChromeClientGtk::webPage):
  • WebCoreSupport/ContextMenuClientGtk.cpp: Renamed from WebCore/page/gdk/ContextMenuClientGdk.cpp. (WebCore::ContextMenuClientGtk::contextMenuDestroyed): (WebCore::ContextMenuClientGtk::getCustomMenuFromDefaultItems): (WebCore::ContextMenuClientGtk::contextMenuItemSelected): (WebCore::ContextMenuClientGtk::downloadURL): (WebCore::ContextMenuClientGtk::copyImageToClipboard): (WebCore::ContextMenuClientGtk::searchWithGoogle): (WebCore::ContextMenuClientGtk::lookUpInDictionary): (WebCore::ContextMenuClientGtk::speak): (WebCore::ContextMenuClientGtk::stopSpeaking):
  • WebCoreSupport/ContextMenuClientGtk.h: Renamed from WebCore/page/gdk/ContextMenuClientGdk.h.
  • WebCoreSupport/EditorClientGtk.cpp: Renamed from WebCore/platform/gdk/EditorClientGdk.cpp. (WebCore::EditorClientGtk::shouldDeleteRange): (WebCore::EditorClientGtk::shouldShowDeleteInterface): (WebCore::EditorClientGtk::isContinuousSpellCheckingEnabled): (WebCore::EditorClientGtk::isGrammarCheckingEnabled): (WebCore::EditorClientGtk::spellCheckerDocumentTag): (WebCore::EditorClientGtk::shouldBeginEditing): (WebCore::EditorClientGtk::shouldEndEditing): (WebCore::EditorClientGtk::shouldInsertText): (WebCore::EditorClientGtk::shouldChangeSelectedRange): (WebCore::EditorClientGtk::shouldApplyStyle): (WebCore::EditorClientGtk::shouldMoveRangeAfterDelete): (WebCore::EditorClientGtk::didBeginEditing): (WebCore::EditorClientGtk::respondToChangedContents): (WebCore::EditorClientGtk::respondToChangedSelection): (WebCore::EditorClientGtk::didEndEditing): (WebCore::EditorClientGtk::didWriteSelectionToPasteboard): (WebCore::EditorClientGtk::didSetSelectionTypesForPasteboard): (WebCore::EditorClientGtk::selectWordBeforeMenuEvent): (WebCore::EditorClientGtk::isEditable): (WebCore::EditorClientGtk::registerCommandForUndo): (WebCore::EditorClientGtk::registerCommandForRedo): (WebCore::EditorClientGtk::clearUndoRedoOperations): (WebCore::EditorClientGtk::canUndo): (WebCore::EditorClientGtk::canRedo): (WebCore::EditorClientGtk::undo): (WebCore::EditorClientGtk::redo): (WebCore::EditorClientGtk::shouldInsertNode): (WebCore::EditorClientGtk::pageDestroyed): (WebCore::EditorClientGtk::smartInsertDeleteEnabled): (WebCore::EditorClientGtk::toggleContinuousSpellChecking): (WebCore::EditorClientGtk::toggleGrammarChecking): (WebCore::EditorClientGtk::handleKeypress): (WebCore::EditorClientGtk::handleInputMethodKeypress): (WebCore::EditorClientGtk::EditorClientGtk): (WebCore::EditorClientGtk::textFieldDidBeginEditing): (WebCore::EditorClientGtk::textFieldDidEndEditing): (WebCore::EditorClientGtk::textDidChangeInTextField): (WebCore::EditorClientGtk::doTextFieldCommandFromEvent): (WebCore::EditorClientGtk::textWillBeDeletedInTextField): (WebCore::EditorClientGtk::textDidChangeInTextArea): (WebCore::EditorClientGtk::ignoreWordInSpellDocument): (WebCore::EditorClientGtk::learnWord): (WebCore::EditorClientGtk::checkSpellingOfString): (WebCore::EditorClientGtk::checkGrammarOfString): (WebCore::EditorClientGtk::updateSpellingUIWithGrammarString): (WebCore::EditorClientGtk::updateSpellingUIWithMisspelledWord): (WebCore::EditorClientGtk::showSpellingUI): (WebCore::EditorClientGtk::spellingUIIsShowing): (WebCore::EditorClientGtk::getGuessesForWord):
  • WebCoreSupport/EditorClientGtk.h: Renamed from WebCore/platform/gdk/EditorClientGdk.h.
  • WebCoreSupport/FrameLoaderClientGtk.cpp: Renamed from WebCore/loader/gdk/FrameLoaderClientGdk.cpp. (WebCore::FrameLoaderClientGtk::FrameLoaderClientGtk): (WebCore::FrameLoaderClientGtk::userAgent): (WebCore::FrameLoaderClientGtk::createDocumentLoader): (WebCore::FrameLoaderClientGtk::dispatchWillSubmitForm): (WebCore::FrameLoaderClientGtk::committedLoad): (WebCore::FrameLoaderClientGtk::dispatchDidReceiveAuthenticationChallenge): (WebCore::FrameLoaderClientGtk::dispatchDidCancelAuthenticationChallenge): (WebCore::FrameLoaderClientGtk::dispatchWillSendRequest): (WebCore::FrameLoaderClientGtk::assignIdentifierToInitialRequest): (WebCore::FrameLoaderClientGtk::postProgressStartedNotification): (WebCore::FrameLoaderClientGtk::postProgressEstimateChangedNotification): (WebCore::FrameLoaderClientGtk::postProgressFinishedNotification): (WebCore::FrameLoaderClientGtk::frameLoaderDestroyed): (WebCore::FrameLoaderClientGtk::dispatchDidReceiveResponse): (WebCore::FrameLoaderClientGtk::dispatchDecidePolicyForMIMEType): (WebCore::FrameLoaderClientGtk::dispatchDecidePolicyForNewWindowAction): (WebCore::FrameLoaderClientGtk::dispatchDecidePolicyForNavigationAction): (WebCore::FrameLoaderClientGtk::createPlugin): (WebCore::FrameLoaderClientGtk::createFrame): (WebCore::FrameLoaderClientGtk::redirectDataToPlugin): (WebCore::FrameLoaderClientGtk::createJavaAppletWidget): (WebCore::FrameLoaderClientGtk::objectContentType): (WebCore::FrameLoaderClientGtk::overrideMediaType): (WebCore::FrameLoaderClientGtk::windowObjectCleared): (WebCore::FrameLoaderClientGtk::setMainFrameDocumentReady): (WebCore::FrameLoaderClientGtk::hasWebView): (WebCore::FrameLoaderClientGtk::hasFrameView): (WebCore::FrameLoaderClientGtk::dispatchDidFinishLoad): (WebCore::FrameLoaderClientGtk::frameLoadCompleted): (WebCore::FrameLoaderClientGtk::saveViewStateToItem): (WebCore::FrameLoaderClientGtk::restoreViewState): (WebCore::FrameLoaderClientGtk::shouldGoToHistoryItem): (WebCore::FrameLoaderClientGtk::privateBrowsingEnabled): (WebCore::FrameLoaderClientGtk::makeDocumentView): (WebCore::FrameLoaderClientGtk::makeRepresentation): (WebCore::FrameLoaderClientGtk::forceLayout): (WebCore::FrameLoaderClientGtk::forceLayoutForNonHTML): (WebCore::FrameLoaderClientGtk::setCopiesOnScroll): (WebCore::FrameLoaderClientGtk::detachedFromParent1): (WebCore::FrameLoaderClientGtk::detachedFromParent2): (WebCore::FrameLoaderClientGtk::detachedFromParent3): (WebCore::FrameLoaderClientGtk::detachedFromParent4): (WebCore::FrameLoaderClientGtk::loadedFromCachedPage): (WebCore::FrameLoaderClientGtk::dispatchDidHandleOnloadEvents): (WebCore::FrameLoaderClientGtk::dispatchDidReceiveServerRedirectForProvisionalLoad): (WebCore::FrameLoaderClientGtk::dispatchDidCancelClientRedirect): (WebCore::FrameLoaderClientGtk::dispatchWillPerformClientRedirect): (WebCore::FrameLoaderClientGtk::dispatchDidChangeLocationWithinPage): (WebCore::FrameLoaderClientGtk::dispatchWillClose): (WebCore::FrameLoaderClientGtk::dispatchDidReceiveIcon): (WebCore::FrameLoaderClientGtk::dispatchDidStartProvisionalLoad): (WebCore::FrameLoaderClientGtk::dispatchDidReceiveTitle): (WebCore::FrameLoaderClientGtk::dispatchDidCommitLoad): (WebCore::FrameLoaderClientGtk::dispatchDidFinishDocumentLoad): (WebCore::FrameLoaderClientGtk::dispatchDidFirstLayout): (WebCore::FrameLoaderClientGtk::dispatchShow): (WebCore::FrameLoaderClientGtk::cancelPolicyCheck): (WebCore::FrameLoaderClientGtk::dispatchDidLoadMainResource): (WebCore::FrameLoaderClientGtk::revertToProvisionalState): (WebCore::FrameLoaderClientGtk::clearUnarchivingState): (WebCore::FrameLoaderClientGtk::willChangeTitle): (WebCore::FrameLoaderClientGtk::didChangeTitle): (WebCore::FrameLoaderClientGtk::finishedLoading): (WebCore::FrameLoaderClientGtk::finalSetupForReplace): (WebCore::FrameLoaderClientGtk::setDefersLoading): (WebCore::FrameLoaderClientGtk::isArchiveLoadPending): (WebCore::FrameLoaderClientGtk::cancelPendingArchiveLoad): (WebCore::FrameLoaderClientGtk::clearArchivedResources): (WebCore::FrameLoaderClientGtk::canHandleRequest): (WebCore::FrameLoaderClientGtk::canShowMIMEType): (WebCore::FrameLoaderClientGtk::representationExistsForURLScheme): (WebCore::FrameLoaderClientGtk::generatedMIMETypeForURLScheme): (WebCore::FrameLoaderClientGtk::provisionalLoadStarted): (WebCore::FrameLoaderClientGtk::didFinishLoad): (WebCore::FrameLoaderClientGtk::prepareForDataSourceReplacement): (WebCore::FrameLoaderClientGtk::setTitle): (WebCore::FrameLoaderClientGtk::setDocumentViewFromCachedPage): (WebCore::FrameLoaderClientGtk::dispatchDidReceiveContentLength): (WebCore::FrameLoaderClientGtk::dispatchDidFinishLoading): (WebCore::FrameLoaderClientGtk::dispatchDidFailLoading): (WebCore::FrameLoaderClientGtk::dispatchDidLoadResourceFromMemoryCache): (WebCore::FrameLoaderClientGtk::dispatchDidFailProvisionalLoad): (WebCore::FrameLoaderClientGtk::dispatchDidFailLoad): (WebCore::FrameLoaderClientGtk::download): (WebCore::FrameLoaderClientGtk::cancelledError): (WebCore::FrameLoaderClientGtk::blockedError): (WebCore::FrameLoaderClientGtk::cannotShowURLError): (WebCore::FrameLoaderClientGtk::interruptForPolicyChangeError): (WebCore::FrameLoaderClientGtk::cannotShowMIMETypeError): (WebCore::FrameLoaderClientGtk::fileDoesNotExistError): (WebCore::FrameLoaderClientGtk::shouldFallBack): (WebCore::FrameLoaderClientGtk::willUseArchive): (WebCore::FrameLoaderClientGtk::saveDocumentViewToCachedPage): (WebCore::FrameLoaderClientGtk::canCachePage): (WebCore::FrameLoaderClientGtk::dispatchCreatePage): (WebCore::FrameLoaderClientGtk::dispatchUnableToImplementPolicy):
  • WebCoreSupport/FrameLoaderClientGtk.h: Renamed from WebCore/loader/gdk/FrameLoaderClientGdk.h. (WebCore::FrameLoaderClientGtk::~FrameLoaderClientGtk): (WebCore::FrameLoaderClientGtk::webFrame):
  • WebCoreSupport/InspectorClientGtk.cpp: Renamed from WebCore/page/gdk/InspectorClientGdk.cpp. (WebCore::InspectorClientGtk::inspectorDestroyed): (WebCore::InspectorClientGtk::createPage): (WebCore::InspectorClientGtk::showWindow): (WebCore::InspectorClientGtk::closeWindow): (WebCore::InspectorClientGtk::attachWindow): (WebCore::InspectorClientGtk::detachWindow): (WebCore::InspectorClientGtk::highlight): (WebCore::InspectorClientGtk::hideHighlight): (WebCore::InspectorClientGtk::inspectedURLChanged):
  • WebCoreSupport/InspectorClientGtk.h: Renamed from WebCore/page/gdk/InspectorClientGdk.h.
6:28 PM Changeset in webkit [24968] by andersca
  • 2 edits in trunk/LayoutTests

Reviewed by Oliver.

<rdar://problem/5313534> REGRESSION(Leopard): Some fast/xsl tests sometimes fail on Leopard

These tests no longer fail for me, so let's try removing them from the skipped file
and see what happens.


  • mac/leopard/Skipped:
6:04 PM Changeset in webkit [24967] by andersca
  • 3 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/5400029> iframes with an image src rarely load image


Don't try to shrink standalone images in subframes. The resize event is not
sent for subframes which screws up the shrink-to-fit logic.


  • loader/ImageDocument.cpp: (WebCore::ImageDocument::createDocumentStructure): (WebCore::ImageDocument::imageChanged): (WebCore::ImageDocument::shouldShrinkToFit):
  • loader/ImageDocument.h:
5:33 PM Changeset in webkit [24966] by zecke
  • 2 edits in trunk/WebKit

Moved Gtk changelog entries from WebKit/ChangeLog to WebKit/gtk/ChangeLog.

Rubberstamped by Adam.

5:25 PM Changeset in webkit [24965] by zecke
  • 2 edits in trunk/WebKit/gtk

2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Build fix.

  • Api/webkitgtkframe.cpp:
5:19 PM Changeset in webkit [24964] by zecke
  • 8 edits
    2 deletes in trunk

WebCore:
2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Implement FrameLoaderClientGdk::createFrame mostly by copying
the windows implementation. A method similiar to WebFrame::loadURLIntoChild
was not introduced instead we have a simplified version similiar to the
one of the Qt port.

Remove building of WebKit/gtk/webkitgtkframedata.{cpp,h}.

  • WebCore.pro:
  • loader/gdk/FrameLoaderClientGdk.cpp: (WebCore::FrameLoaderClientGdk::createFrame):

WebKit/gtk:
2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Remove the create_frame virtual method of WebKitGtkPage. This method was inspired
by the Qt port but to be useful for reimplementations WebKitGtkFrameData would need
to export/expose WebCore types. WebView doesn't offer such a method so I decided to
remove it.
Add a internal constructor to WebKitGtkFrame to be used for constructing Sub-Frames. This
is currently used by FrameLoaderClientGdk::createFrame.

  • Api/webkitgtkframe.cpp:
  • Api/webkitgtkframedata.cpp: Removed.
  • Api/webkitgtkframedata.h: Removed.
  • Api/webkitgtkpage.cpp:
  • Api/webkitgtkpage.h:
  • Api/webkitgtkprivate.h:
4:44 PM Changeset in webkit [24963] by zecke
  • 10 edits
    1 add in trunk

WebCore:
2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Use the ScrollView/Widget design of the Windows port to only use one
native window for the whole page. This will make it possible to implement
FrameLoaderClientGdk::createFrame.

In contrast to the windows port the ScrollBars are GtkWidgets. To paint them
at the right position we need to position them correctly. To not scroll the
ScrollBar's belonging to the ScrollView a ScrollViewScrollbar is introduced with
a different geometryChanged method.

To allow the Gtk+ way of scrolling the ScrollView allows to get GtkAdjustments
set. In this case no ScrollViewScrollbar will be created.

  • platform/ScrollView.h:
  • platform/Widget.h:
  • platform/gdk/PlatformScreenGdk.cpp: (WebCore::screenDepth):
  • platform/gdk/PlatformScrollBar.h:
  • platform/gdk/PlatformScrollBarGdk.cpp: (PlatformScrollbar::PlatformScrollbar): (PlatformScrollbar::~PlatformScrollbar): (PlatformScrollbar::setRect): (PlatformScrollbar::geometryChanged):
  • platform/gdk/ScrollViewGdk.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::~ScrollViewPrivate): (WebCore::ScrollViewScrollbar::ScrollViewScrollbar): (WebCore::ScrollViewScrollbar::geometryChanged): (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::ScrollViewPrivate::windowClipRect): (WebCore::ScrollView::setGtkAdjustments): (WebCore::ScrollView::updateContents): (WebCore::ScrollView::update): (WebCore::ScrollView::visibleWidth): (WebCore::ScrollView::resizeContents): (WebCore::ScrollView::contentsX): (WebCore::ScrollView::scrollOffset): (WebCore::ScrollView::maximumScroll): (WebCore::ScrollView::scrollBy): (WebCore::ScrollView::suppressScrollbars): (WebCore::ScrollView::setHScrollbarMode): (WebCore::ScrollView::setVScrollbarMode): (WebCore::ScrollView::setScrollbarsMode): (WebCore::ScrollView::setFrameGeometry): (WebCore::ScrollView::addChild): (WebCore::ScrollView::removeChild): (WebCore::ScrollView::scrollRectIntoViewRecursively): (WebCore::ScrollView::wheelEvent): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::windowToContents): (WebCore::ScrollView::contentsToWindow): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::convertChildToSelf): (WebCore::ScrollView::convertSelfToChild): (WebCore::ScrollView::paint): (WebCore::ScrollView::geometryChanged): (WebCore::ScrollView::scroll): (WebCore::ScrollView::addToDirtyRegion): (WebCore::ScrollView::scrollBackingStore): (WebCore::ScrollView::updateBackingStore):
  • platform/gdk/WidgetGdk.cpp: (WebCore::WidgetPrivate::gdkDrawable): (WebCore::Widget::Widget): (WebCore::Widget::setContainingWindow): (WebCore::Widget::containingWindow): (WebCore::Widget::frameGeometry): (WebCore::Widget::setFrameGeometry): (WebCore::Widget::setParent): (WebCore::Widget::parent): (WebCore::Widget::setCursor): (WebCore::Widget::show): (WebCore::Widget::hide): (WebCore::Widget::removeFromParent): (WebCore::Widget::paint): (WebCore::Widget::invalidate): (WebCore::Widget::invalidateRect): (WebCore::Widget::convertToContainingWindow): (WebCore::Widget::convertFromContainingWindow): (WebCore::Widget::convertChildToSelf): (WebCore::Widget::convertSelfToChild): (WebCore::Widget::suppressInvalidation): (WebCore::Widget::setSuppressInvalidation):

WebKit/gtk:
2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Follow the changes of ScrollView in WebCore and call setContainingWindow, set the
GtkAdjustment of the GtkLayout and reimplement the set_scroll_adjustments method and pass
the GtkAdjustments to ScrollView.
This makes having one GdkWindow for the complete FrameTree possible.

  • gtk/Api/webkitgtkframe.cpp:
  • gtk/Api/webkitgtkpage.cpp:
3:53 PM Changeset in webkit [24962] by adele
  • 2 edits in trunk/WebCore

Fix by Brady, reviewed by me.

Fix for <rdar://problem/5380697> connection:willSendRequest:redirectResponse: is called on every NSURLConnection

  • platform/network/mac/ResourceHandleMac.mm: (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Work around a behavior change in CFNetwork where willSendRequest gets called more often by returning early.
2:37 PM Changeset in webkit [24961] by spadma
  • 2 edits in S60/trunk/WebKit

2007-08-03 yadavall <sriram.yadavalli@nokia.com>

Reviewed by Sachin Padma (sachin.padma@nokia.com).
DESC: Widget related Browser control "reserved" APIs need to be extensible
http://bugs.webkit.org/show_bug.cgi?id=14874

  • BrowserControl/inc/BrCtlInterface.h:
2:37 PM Changeset in webkit [24960] by spadma
  • 2 edits in S60/branches/3.1m/WebKit

2007-08-03 yadavall <sriram.yadavalli@nokia.com>

Reviewed by Sachin Padma (sachin.padma@nokia.com).
DESC: Widget related Browser control "reserved" APIs need to be extensible
http://bugs.webkit.org/show_bug.cgi?id=14874

  • BrowserControl/inc/BrCtlInterface.h:
2:32 PM Changeset in webkit [24959] by spadma
  • 6 edits in S60/trunk/WebKit

2007-07-27 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>

Reviewed by Sachin Padma.
DESC: Scroll support for plugins.
http://waplabdc.nokia-boston.com/browser/users/MaheshKK/geturl.html

  • WebKit/Plugin/inc/npapi.h: (NPPVariable): Added variable NPPVPluginFocusPosition
  • WebKit/Plugin/inc/PluginWin.h (class CPluginWin ): Added memeber function MoveWindow
  • WebKit/Plugin/inc/PluginAdapterInterface.h: (class MPluginNotifier:TNotificationType): Added two enum's EPluginActivated and EPluginDeactivated
  • WebKit/Plugin/src/NpnImplementation.cpp: (NpnSetValue()): Handled case for NPPVPluginFocusPosition
  • WebKit/Plugin/src/PluginWin.cpp: (CPluginWin::ProcessEventL): Send EPluginActivated and EPluginDeactivated notification when activating and deactivating plugin (CPluginWin::MoveWindow) : New function added to Move/scroll window by aOffset and also sets the current cursor position
2:29 PM Changeset in webkit [24958] by spadma
  • 6 edits in S60/branches/3.1m/WebKit

2007-07-27 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>

Reviewed by Sachin Padma.
DESC: Scroll support for plugins.
http://waplabdc.nokia-boston.com/browser/users/MaheshKK/geturl.html

  • WebKit/Plugin/inc/npapi.h: (NPPVariable): Added variable NPPVPluginFocusPosition
  • WebKit/Plugin/inc/PluginWin.h (class CPluginWin ): Added memeber function MoveWindow
  • WebKit/Plugin/inc/PluginAdapterInterface.h: (class MPluginNotifier:TNotificationType): Added two enum's EPluginActivated and EPluginDeactivated
  • WebKit/Plugin/src/NpnImplementation.cpp: (NpnSetValue()): Handled case for NPPVPluginFocusPosition
  • WebKit/Plugin/src/PluginWin.cpp: (CPluginWin::ProcessEventL): Send EPluginActivated and EPluginDeactivated notification when activating and deactivating plugin (CPluginWin::MoveWindow) : New function added to Move/scroll window by aOffset and also sets the current cursor position


10:51 AM Changeset in webkit [24957] by darin
  • 4 edits
    1 add in trunk/WebCore

Reviewed by Antti.

  • fix <rdar://problem/4889753> REGRESSION: Selection doesn't continue with drag selecting when autoscrolling vertically (in Notes as well as Safari)

The bug doesn't happen inside DumpRenderTree, so I was unable to make an automated
regression test.

  • manual-tests/autoscroll-when-outside-window.html: Added.
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::autoscroll): Removed unneeded null check for the layer's renderer and the document, neither of which can be null. Call the new updateSelectionForMouseDrag instead of doing selection updating here.
  • page/EventHandler.h:
  • page/EventHandler.cpp: (WebCore::EventHandler::handleMouseDraggedEvent): Refactored most of the logic about updating the selection into updateSelectionForMouseDrag. (WebCore::EventHandler::updateSelectionForMouseDrag): Added. The public version of this function takes no parameters, and is for use from auto-scrolling code. The private version of this function takes node and point parameters and contains the shared code, including everything from updateSelectionForMouseDragOverPosition. Aside from the code motion, variable name changes, and sharing more code, this differs from the old code in RenderLayer::autoscroll in the following ways:

1) The old code did hit testing only in the layer that was auto-scrolling,

and the new code instead starts the hit testing at the root layer, which is
better because it's the same thing we do for mouse moved events. Further,
the code to do this by calling convertToLayerCoords had a bug because the
x and y variables were uninitialized.

2) The old code passed false for active to HitTestRequest, which was wrong.

The new code passes true. This flag needs to be true for hit testing done
while the mouse is down and false for hit testing done while the mouse is up.

3) The old code did not have the SVG-specific logic to match the mouse moved case.
4) The old code wouldn't do any selection updating if the return value from hitTest

was false, which is incorrect. The new code ignores the return value as it should.

8:49 AM Changeset in webkit [24956] by thatcher
  • 1 edit in trunk/WebCore/WebCore.xcodeproj/project.pbxproj

Don't copy character-sets.txt and make-charset-table.pl to WebCore's resources.

8:28 AM Changeset in webkit [24955] by spadma
  • 8 edits in S60/branches/3.1m

2007-08-09 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>

Reviewed by Sachin.
DESC: [S60] Problem with CPluginSkin::PluginScriptableObject
http://bugs.webkit.org/show_bug.cgi?id=14383

  • WebKit\Plugin\inc\PluginWin.h: Added CPluginWin::GetPluginUid()
  • WebKit\Plugin\inc\PluginHandler.h: Added CPluginInfo::Uid()
  • WebKit\Plugin\inc\PluginSkin.h: Added CPluginSkin::IsPluginScriptableL()
  • WebKit\Plugin\src\PluginSkin.cpp: (CPluginSkin::IsPluginScriptableL())
  • WebKit\Plugin\src\PluginWin.cpp: (CPluginWin::GetPluginUid())
Note: See TracTimeline for information about the timeline view.