Re: [webkit-dev] Objective-C API: What would you change?

2007-11-26 Thread Maciej Stachowiak


On Nov 24, 2007, at 8:10 PM, Alp Toker wrote:

We've started re-modelling the WebKit/GTK+ public API on the WebKit  
Objective-C API, since it's closer to GTK+ conventions than our  
existing API (eg. WebView vs Page).


Going through the headers and documentation, I sometimes notice  
concepts that don't quite match up with the state of WebCore or  
appear redundant.


Any specifics?

I'm wondering what the developers and users of the current API would  
do differently if they could re-write it today without any  
consideration for backward compatibility.


What would you change? What's obsolete? Any poorly named methods?


If we had the chance to do it over again:

- I would remove WebDocumentView and subclasses,  
WebDocumentRepresentation and subclasses, and WebFrameView from the  
public API, and just put the relevant methods on WebFrame with the  
option to test for certain capabilities that may only be present  
conditionally (such as ability to convert to string). This is what was  
done in the COM API. This is probably the biggest needless complication.


- I probably wouldn't expose WebArchive and WebResource in quite the  
same way.


- It's also possible the design the API to not have WebFrame be a  
heavyweight object, but just an identifying token, with all the real  
API on WebView. However WebView already has a huge number of methods,  
so it's probably sufficient to give good convenience wrappers for  
common operations at the WebView level.


- I wouldn't directly expose objects relating to specific network APIs  
since this makes things hard to change later.


That's the main things I can think of. I bet Darin has more.

You didn't ask, but some things I like include:

- The main object you interact with being a view
- ObjC DOM API that reflects the DOM specs, something special-purpose  
and handwritten would be harder to maintain
- The sets of delegate methods provided (corresponding to signals in  
other ports probably).


What parts do application developers have the greatest difficulties  
with?


I don't think there is that much API confusion. The bits I have seen  
are mostly about interfacing to stuff inside the engine, like the way  
to talk to scripting.


Would you have included more default behaviour, forced application  
developers to implement more policy, or is the balance just right?


I think the Mac port does a pretty good job of striking the right  
balance. The only problem is that the default behaviors we chose are  
designed to make sense in a browser, and you have to do work to  
override them for less browsery uses like a mail or IRC client. Not  
sure how to fix this, though.


This information should help the GTK+ port and others avoid making  
the same mistakes.


I bet Darin has more thoughts on this topic.

Cheers,
Maciej


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Re: ProjectVision

2007-11-26 Thread Simon Hausmann
On Friday 23 November 2007 18:31:41 Alp Toker wrote:
 http://trac.webkit.org/projects/webkit/wiki/ProjectVision?action=diffversi
on=1

 Please revert this change until the topic has been discussed on the
 mailing list or bug tracker. You can't just make up a project vision
 like that.

Apart from that name of the page what do you think about the content itself?

 It would be great if the Qt developers could also make more use of the
 bug tracker and allow for peer review from the wider WebKit team.
 Unilateral commits by Qt guys have broken other builds recently wasting
 everyone's time.

Are you referring to the change to the .pro file that broke make clean?

Simon


signature.asc
Description: This is a digitally signed message part.
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


[webkit-dev] Re: ProjectVision

2007-11-26 Thread Alp Toker

Simon Hausmann wrote:

On Friday 23 November 2007 18:31:41 Alp Toker wrote:

http://trac.webkit.org/projects/webkit/wiki/ProjectVision?action=diffversi
on=1

Please revert this change until the topic has been discussed on the
mailing list or bug tracker. You can't just make up a project vision
like that.


Apart from that name of the page what do you think about the content itself?


I thought nobody was going to ask :-)

It sounds mostly like hot air to me.

algorithm to obtain commit and review rights? I'm sure Apple will 
agree with any request to give developers having a good track record and 
cohesion with the rest of the team commit and review status. There is an 
element of discretion here and I don't think you can just derive a 
formula for these decisions.


I kind of like the charisma of Surfin' Safari (which evolved from Dave 
Hyatt's blog, right?) and think it would be a shame to see it turn into 
another blog aggregator.


http://planet.webkit.org/ would be neat though. I can get on the case 
and set this up if we all agree here.


Versioning is a technical matter rather than a vision issue. I'm sure 
we can develop a system for sharing versioning information with a little 
help from Mark.


Release schedules, on the other hand, are a complex and contentious 
topic. A friend once remarked that working on WebKit TOT is like 
sitting on a volcano which occasionally hurls out new features and 
releases. Again, I think that this needn't be a vision issue but 
rather a whole new thread of discussion.


At the end of the day, the Qt port is going to want to align with Qt 
releases, GTK+ is going to want to align with the GNOME platform and 
Apple is going to match OS X, so I wouldn't get my hopes up.

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


[webkit-dev] Building webkit

2007-11-26 Thread Piyush Sharma
Hi All,

I am trying to build Webkit Qt on Linux by using command *WebKit/WebKit
Tools/Scripts/build-webkit --**qt*
 but i am getting the error
* Cannot find file: \WebKit.pro.
Failed to setup build environment using qmake*!

Cud any one help me out...

Thanks  Regards
Piyush
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Building webkit

2007-11-26 Thread Justin Haygood
Are you in the WebKit source directory (the one containing 
JavaScriptCore, WebCore, and yet another WebKit directory). If not, cd 
into that directory first, and then try rerunning that script again.


Piyush Sharma wrote:

Hi All,
 
I am trying to build Webkit Qt on Linux by using command 
*WebKit/WebKitTools/Scripts/build -webkit --**qt*

 but i am getting the error
* Cannot find file: \WebKit.pro.
Failed to setup build environment using qmake*!
 
Cud any one help me out...
 
Thanks  Regards

Piyush
 



___
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] Re: plugins for webkit gtk port

2007-11-26 Thread Alp Toker

zaheer ahmad wrote:

hi,
Is there any implementation of video plugin (flash player, quicktime
etc) in the gtk webkit port.


Plugin support (useful for compatibility with old binary plugins):

  http://bugs.webkit.org/show_bug.cgi?id=14750
  [gtk] Implement plugin support in GTK backend

Native video support (full integration with the graphics pipeline, 
probably the future of video on the Web):


  http://bugs.webkit.org/show_bug.cgi?id=16145
  [gtk] Implement media support in GTK backend

You can use the search feature in the bug tracker to find bugs like this.
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Building webkit

2007-11-26 Thread Piyush Sharma
Tx...
I did the same ...

now i am getting the error *Qt/Linux builds JavaScriptCore/WebCore/WebKitQt
in one shot! Only call it for 'WebKit'*

Actually  i have run the same source code on window and it is working
fine
i have doubt in *scripting *where something missing to build webkit...

pls check the attached sci pt is correct or not for linux building.

I have one more doubt wether i have download the correct version of linux
webkit to build.

Thanks  Regards
Piyush


On 11/27/07, Justin Haygood [EMAIL PROTECTED] wrote:

 Are you in the WebKit source directory (the one containing JavaScriptCore,
 WebCore, and yet another WebKit directory). If not, cd into that directory
 first, and then try rerunning that script again.

 Piyush Sharma wrote:

  Hi All,

 I am trying to build Webkit Qt on Linux by using command *WebKit/WebKit
 Tools/Scripts/build -webkit --* *qt*
  but i am getting the error
 * Cannot find file: \WebKit.pro.
 Failed to setup build environment using qmake*!

 Cud any one help me out...

 Thanks  Regards
 Piyush


 --

 ___
 webkit-dev mailing [EMAIL 
 PROTECTED]://lists.webkit.org/mailman/listinfo/webkit-dev


#!/usr/bin/perl -w

# Copyright (C) 2005, 2006 Apple Computer, Inc.  All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1.  Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer. 
# 2.  Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution. 
# 3.  Neither the name of Apple Computer, Inc. (Apple) nor the names of
# its contributors may be used to endorse or promote products derived
# from this software without specific prior written permission. 
#
# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS AS IS AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# Simplified build script for Web Kit Open Source Project.

use strict;
use File::Basename;
use File::Spec;
use FindBin;
use Getopt::Long qw(:config pass_through);
use lib $FindBin::Bin;
use webkitdirs;
use POSIX;

my $originalWorkingDirectory = getcwd();

my $svgSupport = 1;
my $svgExperimentalSupport = 0;
my $xpathSupport = 1;
my $xsltSupport = 1;
my $coverageSupport = 0;
my $colorSupport = 1; # Default: colorize make output

GetOptions('svg!' = \$svgSupport,
   'svg-experimental!' = \$svgExperimentalSupport,
   'xpath!' = \$xpathSupport,
   'xslt!' = \$xsltSupport,
   'coverage!' = \$coverageSupport,
   'color!' = \$colorSupport);

checkRequiredSystemConfig();
setConfiguration();
chdirWebKit();

my $productDir = productDir();
my @options = XcodeOptions();
my @overrideFeatureDefinesOption = ();

push @overrideFeatureDefinesOption, ENABLE_SVG if $svgSupport;
push @overrideFeatureDefinesOption, ENABLE_SVG_EXPERIMENTAL_FEATURES if 
$svgExperimentalSupport;
push @overrideFeatureDefinesOption, ENABLE_XPATH if $xpathSupport;
push @overrideFeatureDefinesOption, ENABLE_XSLT if $xsltSupport;
my $overrideFeatureDefinesString = FEATURE_DEFINES= . join( , 
@overrideFeatureDefinesOption);

my @coverageSupportOption = ();
if ($coverageSupport) {
push @coverageSupportOption, GCC_GENERATE_TEST_COVERAGE_FILES=YES;
push @coverageSupportOption, GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES;
push @coverageSupportOption, EXTRA_LINK= -ftest-coverage -fprofile-arcs;
push @coverageSupportOption, OTHER_CFLAGS= -MD;
push @coverageSupportOption, OTHER_LDFLAGS= -ftest-coverage -fprofile-arcs 
-framework AppKit;
}

# Check that all the project directories are there.
my @projects = (JavaScriptCore, JavaScriptGlue, WebCore, WebKit);
my @otherDirs = (WebKitLibraries);
for my $dir (@projects, @otherDirs) {
if (! -d $dir) {
die Error: No $dir directory found. Please do a fresh checkout.\n;
}
}

if (isOSX()) {
# Copy library and header from WebKitLibraries to a findable place in the 
product directory.
my $srcLib = WebKitLibraries/libWebKitSystemInterface.a;
my $lib = $productDir/libWebKitSystemInterface.a;