Permalink
Commits on Oct 29, 2009
  1. Merge branch 'ssp-notes' of git://github.com/ssp/clicktoflash

    ssp committed Oct 29, 2009
    Conflicts:
    	ClickToFlash.xcodeproj/project.pbxproj
Commits on Oct 15, 2009
  1. files with additional information

    ssp committed Oct 15, 2009
  2. further progress, still buggy

    ssp committed Oct 15, 2009
    Some async improvements.
    Attempts to add a HD button.
    Removed one superfluous view layer.
    Attempt to insert a key loop (we should discuss what would how exactly this is supposed to work and whether it can work at all in WebKit - that remains unclear to me).
    Autoplay support.
    Remembers volume level (suggested on the bug tracker).
    
    nagging issues:
    The view doesn't seem to be redrawn when changing tabs.
    I'd like to resize the view when knowing the movie size as the buttons may end up strangely positioned otherwise, so far I could only stall Safari when doing so (perhaps because I'm not on the main thread?)
Commits on Oct 13, 2009
  1. Working fullscreen playback.

    ssp committed Oct 13, 2009
    Using a different technique which I saw on some Cocoa oriented website a while ago. Seems to work all right.
Commits on Oct 12, 2009
  1. EXPERIMENTAL & BUGGY: Attempt to use QTKit.

    ssp committed Oct 12, 2009
    1. making the buttons draw above the video view requires CoreAnimation Layers (or extra windows which I certainly don't want to get into). 
    
    2. Getting the fullscreen stuff to look good will be a fair amount of work.
    
    3. Even more so for X.5 where it's easier to accidentally kill interaction with the machine.
    
    4. You need to set the 'use QTKit' user default to true for QTKit to be used
    
    5. Even without that default, the redrawing is messed up (due to the layers I think). One needs to click (and hold) to see the correct image.
    
    6. Processing is not asynchronous yet, which would be important for reasonable performance.
    
    7. The fullscreen layout isn't pretty at all and my buttons disappear when going there. Couldn't figure that out yet. Does anybody know a library with a readymade full-screen player?
    
    Conclusion: It will take quite a bit of work to get this right but it should be feasible for X.5 and above. 
    
    Note QTMovie's method to determine whether it's able to load a movie is buggy (returns NO on YouTube URLs in 10.5.1.), so we can't use that. 
    
    Comments / Discussion would be useful I think.
Commits on Oct 11, 2009
  1. Provide a way of adding more buttons to the view.

    ssp committed Oct 11, 2009
    Only the Full Screen playback button is implemented for movies here.
    
    Next we should discuss which buttons we actually want by default. Opinions about that seem to differ.
  2. Clean up constants.

    ssp committed Oct 11, 2009
  3. Fix the previous fix.

    ssp committed Oct 11, 2009
    Do everything with NSURLResponses even though we expect NSHTTPURLResponses which we should be receiving (otherwise the request for the status code will fail).
  4. Move drawing and mouse handling to controls.

    ssp committed Oct 11, 2009
    Use separate NSButtons for the gear menu and the clicking on the whole view. This saves us the effort of handling the mouse movements. Splitting things up also separates the drawing more clearly and should be a first step towards making the plug-in accessible (as controls provide most of the AX stuff out of the box).
  5. Fix wrong data type in prototype.

    ssp committed Oct 11, 2009
Commits on Oct 9, 2009
  1. Remove separate video download URLs.

    ssp committed Oct 9, 2009
    They seem to be useless, so rather keep things simple.
  2. Set video links correctly.

    ssp committed Oct 9, 2009
    And dump an unused variable.
  3. Make -video*URLString mthds return nil on fail.

    ssp committed Oct 9, 2009
    When either of the videoID and videoHash variables isn't set, the URL will not work. Don't retrun a variable in those cases, so we save ourselves the 404.
  4. Store videoHash explicitly and change its lookup.

    ssp committed Oct 9, 2009
    The main aim of this was to make CtF work on YouTube user pages as well which need scraping despite being on YouTube.
    
    To make the flow a bit clearer there is now an explicit videoHash variable and a single method, -setInfoFromFlash vars used to set the videoID and videoHash from Flash vars.
  5. Improve ‘Larger Size’ download link text.

    ssp committed Oct 9, 2009
    This hopefully clarifies the meaning of the link to avoid misunderstandings as in 
    
    http://rentzsch.lighthouseapp.com/projects/24342/tickets/346-16b2-quicktime-larger-size-download
    
    Also makes sure that the displayed links always match the actual situation. To achieve that all methods need to be passed the HD loading state rather than the URL to the video file.
    
    Strings for the new links are added. fr localisation still missing.
Commits on Oct 8, 2009
  1. Add ‘glossy’ effect on to the preview image.

    ssp committed Oct 8, 2009
    As the view’s standard background is covered up when there is a previewImage, a slight ‘gloss’ is added on top. This also reflects the ‘clicked’ status on the view which is usually done by the background.
  2. Solid, more opaque background for gear icon.

    ssp committed Oct 8, 2009
    On non-default backgrounds (likely with the previewImage), the existing background frequently led to the gear icon being invisible. Also, the gradient could end up looking quite ugly in some of these situations. Hence I replaced it by a solid circle to ensure the menu remains visible.
  3. Initialise variable in correct place.

    ssp committed Oct 8, 2009
    Also remove superfluous variable.
  4. Use preview image in <video>, remove autobuffer.

    ssp committed Oct 8, 2009
    Concerning the autobuffering:
    It seems that if we want anything here it is to _not_ preload the film in case there are films on sites that are whitelisted. 
    
    It reads like adding the autobuffer attribute with any content sets the element up to autobuffer.
    
    Even when not adding the attribute, things are autobuffered, so this doesn't really help.
  5. Don't match partial domain names in Whitelist.

    ssp committed Oct 8, 2009
    I.e. have an entry for youtube.com match youtube.com, www.youtube.com etc. but not the completely different domain evilyoutube.com.
Commits on Oct 7, 2009
  1. Apply Whitelisting to URL rather than host.

    ssp committed Oct 7, 2009
    This lets you match variants of hostnames (google.com vs www.google.com) more easily and also matches things like google.com/analytics without whitelisting the whole google.com empire.
    
    Do this in a way that is quite conservative and will not match the path only but always require the host name to be involved.
    
    I hope there isn't a big reason for just applying it to the host lurking in the background.
    
    http://rentzsch.lighthouseapp.com/projects/24342/tickets/361-google-analytics-aka-support-for-url-paths-in-approved-list
  2. Move CTFLoader to correct location.

    ssp committed Oct 7, 2009
    Also remove redirection logging inside.
Commits on Oct 5, 2009
Commits on Oct 4, 2009
  1. Towards preview images.

    ssp committed Oct 4, 2009
    Try to figure out preview image data and overlay the images on the view after they are loaded.