[webkit-dev] Question about ForwardingHeaders
Hi, could anyone explain me, please, what's the purpose of JSC/ForwardingHeaders? Here is the sequence of includes which looks redundant for me: WebCore/bindings/js/ScriptValue.cpp includes JavaScriptCore/JSValueRef.h that's fine, we don't want to reference any headers from JavaScriptCore directly JavaScriptCore/JSValueRef.h is found in JavaScriptCore/ForwardingHeaders JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSValueRef.h includes JavaScriptCore/API/JSValueRef.h JavaScriptCore/API/JSValueRef.h includes JavaScriptCore/JSBase.h here is what I can't understand: why couldn't JSBase.h be included directly as it's located in the same folder (JavaScriptCore/API)? Instead, JavaScriptCore/JSBase.h is found in JavaScriptCore/ForwardingHeaders JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSBase.h includes JavaScriptCore/API/JSBase.h Here is another problem with ForwardingHeaders, this time in WebCore/ folder. For example, WebCore/ForwardingHeaders/wtf/Platform.h file includes JavaScriptCore/Platform.h which can't be resolved. This makes the whole directory WebCore/ForwardingHeaders completely useless, and I still need to have JavaScriptCore and JavaScriptCore/ForwardingHeaders in my include path. Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
[webkit-dev] Implementing a 'dummy' plugin for WebKit
Hi, WebKit developers, I'm trying to understand how plugins are supported in WebKit. At first, I'd like to implement a dummy plugin which can be used to handle any object, embed and applet tags and just prints the requested URL, mimeType, etc. passed to it. Here is what I have done so far: - some methods in PluginInfoStore are implemented, including: createPluginInfoForPluginAtIndex, pluginCount, pluginNameForMIMEType, supportsMIMEType - refreshPlugins method is implemented - createPlugin method in FrameLoaderClientJava is implemented - settings-setPluginsEnabled(true) is called - a new class PluginWidgetJava extends Widget is created and used in createPlugin method When I load a page with any embedded objects like Flash clips, I get two method calls: PluginInfoStore::pluginCount PluginInfoStore::createPluginInfoForPluginAtIndex and the clip is replaced by server with an animated gif. What other stuff should I implement? Note, at the current moment I don't want to have an arbitrary NPAPI plugin working, just would like to understand the whole plugin-related machinery. Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] Translucent (i)frames support
David Hyatt wrote: The bug on Mac at least is just that NSScrollViews blit when scrolling, and they know nothing about transparency layers. Our solution to similar problems has been to just disable blitting in these cases and do slow repainting when scrolling happens. Because there is *no cache* of transparency layer contents, we are unable to do a blit directly within the transparency layer itself, so a slow redraw is the only option. Moving to a model where we cache bitmaps for transparency layers is possible but potentially wasteful memory- wise given the way CSS opacity is designed. Is there any information available about performance of 'slow redraw' approach? I can't check the patch you have provided (just have no appropriate desktop to build Mac port), but I see the significant regression for Java port when Swing's blitting is turned off. That's why I have posted my question here. The general idea of my post is the following. With the current WebKit code, any port has three options: 1. Always use 'slow redraw' approach. Page rendering is always correct, but always slow. 2. Use 'slow redraw' for translucent (i)frames only. This requires some knowledge of the DOM tree (at least, 'opacity' attribute), which may not be available (yes, I can call some WebCore/dom/ or WebCore/rendering/ classes from platform's code, but I suspect this is not a good way). 3. Use some kind of caching or blitting available in platform's libraries (like NSScrollView on Mac or JScrollPane in Java). Page rendering may or may not be correct - see the test - while performance is good. Unfortunately, I haven't found a way to implement option 3, so both performance and rendering are fine. For Java platform, it is enough to have a method like 'Frame::paint(gc, rect)' which doesn't paint the frame itself, but only its children. Still, other ports (gtk, qt, etc._ may not benefit from it... It would be fine to hear their ideas too. Thanks, Artem dave On Jul 17, 2008, at 9:36 AM, Artem Ananiev wrote: Hi, webkit developers, I have recently faced a problem with support for translucent (i)frames in our (java) port, and tried to find how other ports (gtk, win, mac) deal with the same issue. The test is short (launch the test and try to scroll inner frames): html body div style=opacity:0.5;position:absolute;left:150;top:150 iframe src=http://java.sun.com/javase/6/docs/api; width=600 height=450/iframe /div div style=opacity:0.2;position:absolute;left:250;top:250 iframe src=http://java.sun.com/javase/6/docs/api; width=600 height=450/iframe /div /body /html I was very surprised when found no webkit ports displayed the page correctly! I tried Safari 3.1 on Mac and Win and GTK Launcher on Linux (haven't looked at Safari 4.0, though). The only browser which 'passed' the test was Firefox: all the frames were displayed correctly and scrolled smoothly. It seems that both mac/win and gtk ports use some caches for rendered pages, however some bugs exist in the implementations. In Java port we have two different approaches for rendering: one is fast, but without any support of translucent (i)frames, another is correct (even with the test above), but slow. The second one is a kind of experimental, and what I want to do is to speed it up (by using some rendering cache) and make it default. The next two days I spent trying to implement the correct rendering cache. The idea is simple: render all the frames separately from each other to different offscreen images, and composite them to get a final image on the screen. However, I failed with this task :( The first part is simple: to render the frame contents I call Frame::paint(gc, rect) and skip all subsequent Widget::paint(gc, rect) calls. That's fine. The second part - compositing - is somewhat I couldn't implement. The problem is there is no way (or I don't know this way) for a given Frame to render all its child frames without rendering the frame itself. In other words, I have to render some part of the frame twice: first, all the dirty regions into the cache, and second, all the frame to get children painted correctly. Any ideas? Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] IconDatabase and dispatchDidReceiveIcon()
Hi, Brady, Brady Eidson wrote: The notification is truly about the icon itself being ready, not the URL. And yes, it is dependent on the IconDatabase. Currently, if the IconDatabase is not enabled, we never download site icons. If all you care about is the URL, you can grab it and start downloading the icon anytime after the head element is finished parsing. I will process the URL in dispatchDidLoadMainResource then - at this moment is should be definitely available :) Thanks, Artem On Apr 15, 2008, at 4:54 AM, Artem Ananiev wrote: Hi, I'm implementing Frame's icon support in Java port of WebKit. Actually, icons support only include two things: ability to get icon's URL and notification about this URL is ready for the page. The former is easy: I just call iconURL() for the given FrameLoader. However, the latter is not so trivial... I have found some notification in FrameLoaderClient class - dispatchDidReceiveIcon - but it is never called. After some time searching forums I found a post about this notification be dependent on IconDatabase, which is missing in Java port. So the question is: are there any other ways to get a notification about Frame's icon URL is ready? I don't need an icon itself, URL is enough as all the further loading is done in Java code. Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
[webkit-dev] Document's content type
Hi, is there any way to find the content type of the Document? I see two methods - doctype() and realDocType() - in WebCore::Document, however they always return NULL (at least for HTML documents)... Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
[webkit-dev] IconDatabase and dispatchDidReceiveIcon()
Hi, I'm implementing Frame's icon support in Java port of WebKit. Actually, icons support only include two things: ability to get icon's URL and notification about this URL is ready for the page. The former is easy: I just call iconURL() for the given FrameLoader. However, the latter is not so trivial... I have found some notification in FrameLoaderClient class - dispatchDidReceiveIcon - but it is never called. After some time searching forums I found a post about this notification be dependent on IconDatabase, which is missing in Java port. So the question is: are there any other ways to get a notification about Frame's icon URL is ready? I don't need an icon itself, URL is enough as all the further loading is done in Java code. Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
[webkit-dev] _blank hrefs and new windows
Hi, I have experienced the following problem with WebKit (Java port). The page code is simple: a href=a.html target=_blankOpen window/a a href=javascript:window.open('a.html', '_blank')Open window/a When I right-click on the first link and select 'Open in a new window' from context menu, a new window is created and shown - that's fine. However, left-click on the first link loads the page 'a.html' in the same window - this looks strange to me as the target is _blank. The second link behaves as expected: it opens a new window with left-click and does nothing with right click. I suppose target=_blank is handled completely differently than opening a new window with a context menu. Is it related to popup blocking and different policies in FrameLoaderClient class? Another strange thing is that I couldn't find any references to ChromeClient::createWindow() method - it is responsible for creating a new window, at least triggered from context menu - other than from ContextMenuController... Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
Re: [webkit-dev] FrameLoaderClient notifications
Hi, Patrick, in Java port we do the same: store Frame* in FrameLoaderClient. However, this frame's loader URL can't be used, for example, in postProgressStartedNotification as it contains the current URL, not the URL which is about to be loaded... Thanks, Artem Patrick Hanna wrote: Artem, For our port, we construct the FrameLoaderClient with a pointer to the Frame object. So in all the progress notification callbacks we can say m_frame-loader()-url() or whatever to get the current url of the frame. Patrick On Mar 13, 2008, at 7:11 AM, Artem Ananiev wrote: Hi, I work on dispatching web load/progress events for Java port and have some questions about notifications in FrameLoaderClient class. 1. What is the right method to implement to get a 'page load started' and 'page load finished' events? I tried the following methods: postProgressStartedNotification() postProgressFinishedNotification() and the problem is they don't accept any params, so I can't get an URL being loaded. If I obtain the URL from frame-loader-documentLoader, it works for 'progress finished' notification, but returns an old URL for 'progress started'. 2. What is the right method to implement to get a 'main document load started'? I see the method dispatchDidLoadMainResource() but there is no similar method about starting... 3. As I understand, the right way to handle resources (for example, images) loading is to track methods assignIdentifierToInitialRequest() dispatchWillSendRequest() dispatchDidFinishLoading() The latter two methods provide request identifiers which are assigned in the former one. However, sometimes I see two 'dispatchWillSendRequest' calls with the same ids and different URLs. For example, when loading www.google.com I the first URL is www.google.com and the second is www.google.co.uk. How is this situation should be handled? 4. There are several notifications about resource loading is finished: dispatchDidFinishLoading() dispatchDidFinishLoad() dispatchDidFinishDocumentLoad() didFinishLoad() - is this a notification? finishedLoading() - is this a notification? Some of them provide DocumentLoader instances, others have no parameters passed. What is the difference between these methods? Are some of them outdated and shouldn't be used at all? Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
Re: [webkit-dev] FrameLoaderClient notifications
Please, see my comments below. Darin Adler wrote: On Mar 13, 2008, at 4:11 AM, Artem Ananiev wrote: I work on dispatching web load/progress events for Java port and have some questions about notifications in FrameLoaderClient class. 1. What is the right method to implement to get a 'page load started' and 'page load finished' events? I tried the following methods: postProgressStartedNotification() postProgressFinishedNotification() and the problem is they don't accept any params, so I can't get an URL being loaded. If I obtain the URL from frame-loader-documentLoader, it works for 'progress finished' notification, but returns an old URL for 'progress started'. I have no idea what you mean by page load started and finished. If you look at the Mac port you'll see many different types of calls for these purposes. The ones you mention above are best for loading progress, as in a progress bar. I suppose the following order of loading events for a page with a single frame (please, correct me, if I'm wrong): page load started main document load started title received icon received * main document load finished ** resource load started resource load finished page load finished Notes: * = at this time some of the external resources like images may not be loaded yet ** = some resources may be loaded simultaneously After the page is loaded, more 'resource load started' and 'resource load finished' may be triggered by user actions or JavaScript calls. 2. What is the right method to implement to get a 'main document load started'? dispatchDidStartProvisionalLoad OK, I see. Is there any other load process other than provisional? 3. As I understand, the right way to handle resources (for example, images) loading is to track methods assignIdentifierToInitialRequest() dispatchWillSendRequest() dispatchDidFinishLoading() The latter two methods provide request identifiers which are assigned in the former one. However, sometimes I see two 'dispatchWillSendRequest' calls with the same ids and different URLs. For example, when loading www.google.com I the first URL is www.google.com and the second is www.google.co.uk. How is this situation should be handled? dispatchWillSendRequest will be called repeatedly with different URLs when a server does redirection. This is normal. How it should be handled depends on what API you've devised. Is there any separate notification about redirection, or this method is enough? 4. There are several notifications about resource loading is finished: dispatchDidFinishLoading() dispatchDidFinishLoad() dispatchDidFinishDocumentLoad() didFinishLoad() - is this a notification? finishedLoading() - is this a notification? Some of them provide DocumentLoader instances, others have no parameters passed. What is the difference between these methods? Are some of them outdated and shouldn't be used at all? - dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier) This is called when done loading an individual resource, such as an image, script, or the main resource for a page. One more question: is there any method about starting loading of an external resource? Is it dispatchWillSendRequest? dispatchDidReceiveResponse? - dispatchDidFinishDocumentLoad() This is called when done loading the document for a frame, usually HTML, but not all the resources such as images. - dispatchDidFinishLoad() This is called when done loading an entire frame and its resources. Like the HTML load event. OK, thanks, this is very useful information. Artem -- Darin ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
[webkit-dev] Frame and FrameView references
Hi, all, I have noticed the following strange code in Frame class: Frame::~Frame() { setView(0); ... if (d-m_view) { d-m_view-hide(); d-m_view-clearFrame(); } ... } It is clear that the latter statements are never executed as d-m_view is always NULL after setView(0). Then, I tried moving 'if' statement to the very top of the method, but this didn't helped as setView(0) is called every time before destructor. I have also searched for all the places where m_frame field in FrameView class is changed. Only two lines were found: in FrameView constructor and in clearFrame(). As clearFrame() is never called, I get an outdated reference to an instance of Frame in FrameView which results in a crash. The frame view can't even be deleted as its destructor contains some calls to m_frame object... How this situation is supposed to be handled? Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
[webkit-dev] Avoid extra page layout on resize
Hi, I have a question about the way webkit layouts page contents, and what is the right way to implement ScrollView class. In my current implementation (Java platform) I see the following: 1. Suppose user resizes the window, so the top-most frame/scroll view has the size 800x600. 2. Scroll view updates its values (frame geometry, visible rect, etc.) and calls layout() to relayout the page. 3. If the page doesn't fit into 800x600, say, it is 1200 in height, then WebKit calls scroll view's resizeContents() method with 800x1200. 4. As the requested contents height is greater than scroll view height, vertical scrollbar appears, and the page needs relayout again. 5. In the second layout, WebKit calls resizeContens() with the smaller width (say, 780, if scrollbar is 20 pixels wide) and some height (say, 1230). This two-steps layout process looks strange to me. It also leads to extra repaints, and the performance is not as good as desired. The question is: (at the step 3) why resizeContents() is called with 800 as a value of width, while it is clear that contents doesn't fit to the page and vertical scrollbar is required? What methods must be implemented by platform, so WebKit may take vertical scrollbar into consideration before it actually appear? Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
Re: [webkit-dev] Re: Focus traversal question
Hi, Alp, sorry for a slight delay with the answer. I'm not working with GTK port, but rather investigating the possibility of new Java port, on windows, linux and solaris platforms. Artem Alp Toker wrote: Artem Ananiev wrote: After some search I found two methods in ChromeClient related to the question: canTakeFocus() and takeFocus(). Still, I see some problems with the reverse traversal (I tried text field on www.yahoo.com: when I press Shift+TAB, the methods from ChromeClient are not called). Artem, I noticed you've posted a few questions that have gone unanswered on the list. From your email address, I'm guessing that you're working with one of the X-based ports. If you're working with the GTK+ port, we can assist you but you need to specify which platform you're using in your messages or nobody will feel qualified to reply, since graphics and focus issues are handled differently by each implementation. ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
[webkit-dev] Scrollbar proportions
Hi, I have a page with scrollable text area. By default, its vertical scrollbar is off, and WebKit turns it on only when I insert more lines than the area can show. The number of lines in the area is 4. When I insert 5th line, WebKit creates a vertical scrollbar and call its updateThumbProportions() method. In this method I see the following values: m_totalSize = 75 (5 lines) m_visibleSize = 60 (4 lines) m_lineStep = 40 m_pageStep = 20 m_pixelStep = 1.0 Each time I press scrollbar buttons, it should be scrolled by 15, but I can't see how I can get/calculate 15 from the values above to set scrollbar's unit increment. Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
Re: [webkit-dev] How to debug QT window version(compiled using MinGW)?
You should use gdb (or any other gdb-related debugger like ddd). It can be found in Cygwin, for example, and probably in other mingw distributions. Artem Jerry K wrote: Does anyone know? Thanks Jerry ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
Re: [webkit-dev] Re: Re: A newBie question about compilation (Artem Ananiev)
Right, you can run your own build of WebKit (WebKit.dll) using Safari. The script 'run-safari', as I remember, searches for Safari at the default location only (c:\program files\safari\safari.exe), so you need to install Safari there or modify the script. Artem Eva Madrazo wrote: Thanks Artem, that was the problem! I launch the build from windows shell and it builds! :) now I want to test it, launching run-safari, but it doesnt work :( . Debugging the script I see that it is trying to launch a safari.exe command. But I have no safari.exe command in all my system. ¿Have I missed something? Perphaps I have to install safari in order to debug.. I do not know.. Thanks in advance, Eva Hi, Eva, qmake knows nothing about cygwin path notation ('/cygdrive/d/...') so it cannot find the file. This problem may be easily workarounded by passing all the paths to qmake in the form of 'd:\...' (requires some modification to webkitdirs.pm script). You may use `cygpath` utility to convert paths. Artem Eva Madrazo wrote: Hello, I am very new in this, including C++, symbian and webkit. So, apologize for my questions if they are so basic... I was trying to compile webKit in a Windows XP proffesional. I have installed cygwin and Qt (for qmake command). I have download source code from subversion repository. Then, I access to Scripts directory and execute build-webkit and the result is: $ webkit/webkittools/scripts/build-webkit --debug Checking mod-date of WebKitSupportLibrary.zip... Current WebKitSupportLibrary is up to date Calling 'qmake -r OUTPUT_DIR=/cygdrive/d/webkit/WebKitBuild/Debug CONFIG+=qt-port /cygdrive/d/webkit/WebKit.pro CONFIG-=release CO NFIG+=debug' in /cygdrive/d/webkit/WebKitBuild/Debug ... Cannot find file: \cygdrive\d\webkit\WebKit.pro. Failed to setup build environment using qmake! But indeed the file exists!! $ ls /cygdrive/d/webkit/WebKit.pro /cygdrive/d/webkit/WebKit.pro ¿What's the matter? .. By the way, I have not installed Visual C++ 2005 Express because I would like to use Carbide C++ ... ¿Is this possible? Thank you very much, Eva ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
Re: [webkit-dev] A newBie question about compilation
Hi, Eva, qmake knows nothing about cygwin path notation ('/cygdrive/d/...') so it cannot find the file. This problem may be easily workarounded by passing all the paths to qmake in the form of 'd:\...' (requires some modification to webkitdirs.pm script). You may use `cygpath` utility to convert paths. Artem Eva Madrazo wrote: Hello, I am very new in this, including C++, symbian and webkit. So, apologize for my questions if they are so basic... I was trying to compile webKit in a Windows XP proffesional. I have installed cygwin and Qt (for qmake command). I have download source code from subversion repository. Then, I access to Scripts directory and execute build-webkit and the result is: $ webkit/webkittools/scripts/build-webkit --debug Checking mod-date of WebKitSupportLibrary.zip... Current WebKitSupportLibrary is up to date Calling 'qmake -r OUTPUT_DIR=/cygdrive/d/webkit/WebKitBuild/Debug CONFIG+=qt-port /cygdrive/d/webkit/WebKit.pro CONFIG-=release CO NFIG+=debug' in /cygdrive/d/webkit/WebKitBuild/Debug ... Cannot find file: \cygdrive\d\webkit\WebKit.pro. Failed to setup build environment using qmake! But indeed the file exists!! $ ls /cygdrive/d/webkit/WebKit.pro /cygdrive/d/webkit/WebKit.pro ¿What's the matter? .. By the way, I have not installed Visual C++ 2005 Express because I would like to use Carbide C++ ... ¿Is this possible? Thank you very much, Eva ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
Re: [webkit-dev] Qt/Win32 build environment
Hi, Lars, thank you for the link. As I understand, Qt/Win32 port requires some libs from GnuWin32 - why not Cygwin? Are there any principal problems with Cygwin? Thanks, Artem Lars Knoll wrote: Hi Artem, there are some instructions on howto build QtWebKit on Windows on the WebKit wiki: http://trac.webkit.org/projects/webkit/wiki/BuildingQtOnWindows Hope this helps, Lars On Wednesday 15 August 2007, Artem Ananiev wrote: Hi, all, looking at the recent WebKit changes, I noticed some activity about Qt/Win32 platform implementation. Some time ago I tried to build it myself using cygwin environment, but with no success, mostly because of cygwin paths and missing the corresponding QMAKESPECS in the free version of Qt 4.3.0 The question is what environment is now supposed for Qt/Win32 build? MS VC++ 2005 (like the current Win32 build) or QMake/Win32 (similar to Qt/Linux)? Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
[webkit-dev] Some .strip files are not generated anymore
Hi, all, in some of the recent WebKit changes in WebCore.pro I see the following diffs: -cssprops.commands = cp ${QMAKE_FILE_NAME} tmp cd tmp sh $$PWD/css/makeprop rm ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf +cssprops.commands = $(COPY_FILE) ${QMAKE_FILE_NAME} tmp cd tmp perl $$PWD/css/makeprop.pl $(DEL_FILE) ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf In a few words this means that `makeprop` shell script is changed/replaced with `makeprop.pl' perl one. One of the first lines in the old script generated the corresponding .strip file which was later removed with 'rm ${QMAKE_FILE_BASE}.strip'. The new perl script doesn't use this file, so while trying to remove it with 'rm' I get an error. This error occurs twice: for CSSValueKeywords.strip and CSSPropertyNames.strip. Is it a problem with my workspace? Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
Re: [webkit-dev] Some .strip files are not generated anymore
Done. The bug ID is 14973: http://bugs.webkit.org/show_bug.cgi?id=14973 Thanks, Artem David D. Kilzer wrote: Hi Artem, Please file a bug on http://bugs.webkit.org/. I'm not sure if this is an issue or not, but it won't hurt to track it there. Dave Artem Ananiev [EMAIL PROTECTED] wrote: Hi, all, in some of the recent WebKit changes in WebCore.pro I see the following diffs: -cssprops.commands = cp ${QMAKE_FILE_NAME} tmp cd tmp sh $$PWD/css/makeprop rm ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf +cssprops.commands = $(COPY_FILE) ${QMAKE_FILE_NAME} tmp cd tmp perl $$PWD/css/makeprop.pl $(DEL_FILE) ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf In a few words this means that `makeprop` shell script is changed/replaced with `makeprop.pl' perl one. One of the first lines in the old script generated the corresponding .strip file which was later removed with 'rm ${QMAKE_FILE_BASE}.strip'. The new perl script doesn't use this file, so while trying to remove it with 'rm' I get an error. This error occurs twice: for CSSValueKeywords.strip and CSSPropertyNames.strip. Is it a problem with my workspace? Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
[webkit-dev] Qt/Win32 build environment
Hi, all, looking at the recent WebKit changes, I noticed some activity about Qt/Win32 platform implementation. Some time ago I tried to build it myself using cygwin environment, but with no success, mostly because of cygwin paths and missing the corresponding QMAKESPECS in the free version of Qt 4.3.0 The question is what environment is now supposed for Qt/Win32 build? MS VC++ 2005 (like the current Win32 build) or QMake/Win32 (similar to Qt/Linux)? Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
Re: [webkit-dev] type of JSChar
Darin Adler wrote: On Jul 27, 2007, at 4:03 AM, Alexey Proskuryakov wrote: On 7/27/07 1:51 PM, Simon Hausmann [EMAIL PROTECTED] wrote: Does anybody know/remember why JSChar is defined to wchar_t on Windows and if it is still needed? I think this was/is needed to match ICU's definition of UChar (Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned. If wchar_t is not 16 bits wide, then define UChar to be uint16_t. This makes the definition of UChar platform-dependent but allows direct string type compatibility with platforms with 16-bit wchar_t types.) That's correct. And for the same reasons we should follow the same pattern for UChar, even when ICU is not involved. I think that UnicodeQt4.h is the file that should be changed, not JSStringRef.h. You say WebKit tries to follow ICU's UChar. If so, the real size of wchar_t must be examined instead of just checking for WIN32 or _WIN32. Otherwise the problem appears for every windows/g++ build without these two defines. In the case of Qt (which doesn't use ICU), the problem can be easily solved: define UChar in UnicodeQt4.h according to ICU's UChar - see Simon's last email - but what about other platforms that don't have their own Unicode implementation? Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
[webkit-dev] Different ways to build WebKit on Windows
Hi, all, currently WebKit is built on Windows platform using Visual Studio solution file: $(WebKitDir)/WebKit/win/WebKit.vcproj/WebKit.sln However, sometimes it's not easy to deal with .sln or .vcproj files, so the question is: is it possible to to build WebKit on Windows platform using, for example, Makefiles? If the solution above is generated with qmake, it should be possible to generate the corresponding Makefiles using the same qmake. Unfortunately, I'm not an expert in qmake and don't know if it is possible. Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
Re: [webkit-dev] Building Win32/Release WebKit: linker error LNK1106
Just an addition: Win32/Debug build has been finished successfully. Artem Ananiev wrote: Hi, all, I'm trying to build WebKit in Release mode and get the following message from linker when building WebCore subproject: 1Performing Pre-Build Event... 1cl : Command line warning D9040 : ignoring option '/analyze'; Code Analysis warnings are not available in this edition of the compiler 1tmp.cpp 1make: Nothing to be done for `all'. 1Creating library... 1..path\to\webkit..\WebKitBuild\lib\WebCore.lib : fatal error LNK1106: invalid file or disk full: cannot seek to 0x20150F02 The disk drive has about 12Gb of free space. I have also noticed another interesting thing: when Creating library... is in progress, WebKitBuild/lib/WebCore.lib is created and rapidly grows from a couple of megs to 128M, then to 256M, and at last to 512M. After LNK1106 error is displayed, the file is removed. Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
[webkit-dev] Building on Windows: WebKitSupportLibrary.zip is incomplete
Hi, all, I'm trying to build WebKit on Windows platform and getting some compilation errors like missing header files: pthread.h, unicode/uchar.h and others - for example, when building JavaScriptCore sub-project. When I manually open WebKit solution in VC++ 2005 Express and check JavaScriptCode properties, I see the following list of additional include directories: $(WebKitOutputDir)\obj\JavaScriptCore\$(ConfigurationName)\DerivedSources\ ../../ ../../os-win32/ ../../pcre/ ../../kjs/ ../../wtf/ $(WebKitLibrariesDir)\include $(WebKitLibrariesDir)\include\icu ../../../icu/include ../../bindings ../../bindings/c ../../bindings/jni $(WebKitOutputDir)\include\JavaScriptCore $(WebKitLibrariesDir)\include\pthreads In particular, pthreads.h, unicode/uchar.h, etc. are supposed to be in $(WebKitLibrariesDir) subdirs. This directory is generated by the perl script from the WebKitSupportLibrary.zip at the very beginning of the build process, before VCExpress.exe is launched. The problem is that WebKitSupportLibrary.zip archive *does not* contain the header files mentioned above. Is it a known problem with WebKit? Should I download anything else to build WebKit on Windows? Thanks, Artem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
Re: [webkit-dev] Building on Windows: WebKitSupportLibrary.zip is incomplete
Hi, Adam, indeed, I have missed this step. After running the update-webkit script (and passing some additional flags to curl to work via proxy), it seems all the required files are in WebKitLibraries directory. I will proceed with building WebKit. Thanks, Artem Adam Roben wrote: On Jul 26, 2007, at 12:15 AM, Artem Ananiev wrote: Hi, all, I'm trying to build WebKit on Windows platform and getting some compilation errors like missing header files: pthread.h, unicode/uchar.h and others - for example, when building JavaScriptCore sub-project. When I manually open WebKit solution in VC++ 2005 Express and check JavaScriptCode properties, I see the following list of additional include directories: $(WebKitOutputDir)\obj\JavaScriptCore\$(ConfigurationName)\DerivedSources\ ../../ ../../os-win32/ ../../pcre/ ../../kjs/ ../../wtf/ $(WebKitLibrariesDir)\include $(WebKitLibrariesDir)\include\icu ../../../icu/include ../../bindings ../../bindings/c ../../bindings/jni $(WebKitOutputDir)\include\JavaScriptCore $(WebKitLibrariesDir)\include\pthreads In particular, pthreads.h, unicode/uchar.h, etc. are supposed to be in $(WebKitLibrariesDir) subdirs. This directory is generated by the perl script from the WebKitSupportLibrary.zip at the very beginning of the build process, before VCExpress.exe is launched. The problem is that WebKitSupportLibrary.zip archive *does not* contain the header files mentioned above. Is it a known problem with WebKit? Should I download anything else to build WebKit on Windows? The headers you mentioned are actually part of a separate zip file that update-webkit downloads and extracts for you. Did you run the update-webkit script like http://webkit.org/building/checkout.html says? -Adam ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev